VARIABLE DISPLAY PROPERTIES AS A FUNCTION OF INPUT DEVICE TYPE AND INPUT PARAMETER VALUES

A method and system for providing values of display properties as a function of input device type and input parameter values is disclosed. In an implementation, a computer device that receives input entry from an input device, may receive a selection of a mode for the input device corresponding to a writing/drawing device type, and then determine a transfer function based on the mode. The mode may define a type such as pencil, pen, air brush, or other type of drawing device. The transfer function may define at least one display property, such as an inking property, relative to an input parameter such as input device pressure, height, velocity or angle. Input parameter values associated with an input entry may be received and display of the input entry may be initiated using values for the display property based on the transfer function and the input parameter values.

BACKGROUND

Computer based devices that allow a user to perform writing or drawing input on an input screen with an input device and display the input have increased in number and extent of use in recent years. Typically, these devices allow a user to utilize a stylus, for example, a pen type input device modeled on a real world pen, to perform the writing or drawing input. In use of these computer based devices, it may be advantageous to provide an experience that mimics or emulates aspects of the experience provided to a user when using real world writing or drawing devices. Providing this experience would allow the user of a computer based device an intuitive experience and flexibility in creating writing or drawing.

SUMMARY

Embodiments of methods and systems for providing variable display properties as a function of input parameter values associated with writing or drawing input entry to a computer device using an input device, where the function is based on a mode selected for the input device, are disclosed. In one implementation, a computer device that receives input entry performed using an input device may determine a mode for the input device, where the mode corresponds to a type of writing/drawing device, and then determine a transfer function based on the mode for the input device. The transfer function may define at least one display property relative to an input parameter associated with the input device. The transfer function may be a non-linear function. Values of the input parameter as associated with input entry as a user writes/draws with the input device may be provided to the computer device. Values for the display property may be determined based the values of the input parameter and the transfer function. The values for the display property may then be used in displaying the writing/drawing input entry, or may be stored for use in later display of the input entry.

An example computer device may be implemented in a device having a touch sensitive screen configured to receive writing or drawing input entry. The computer device may be configured to receive the writing or drawing input entry from a user applying an input device to the touch sensitive screen. The input device may be configured as an active touch sensitive input device, such as a pen or a stylus type device configured to communicate an input parameter comprising pressure values of the force with which the input device is applied to the touch sensitive screen on the computer device. The computer device may also include transfer functions stored in memory where each transfer function is associated with a mode defining a writing/drawing device type for the input device. The transfer functions may include functions that define an inking display property of brush width, i.e., line size, for the touch sensitive screen as a non-linear function of the input parameter of pressure of application of the input device to the touch sensitive screen. In alternative implementations, other display properties such as opacity, angle, roundness or flow, wetness, scattering, or blending of writing or drawing lines may be used. Also, in further alternative implementations, other input parameters such as tilt angle, twist angle, velocity, acceleration, hover height, time windowed displacement, or any other indicator of input device dynamics may also be used as the display parameter. Use of the non-linear functions allow a user to make selections of inking display properties for the input device that emulate one or more real physical writing/drawing devices as the physical devices would react to the pressure with which they are applied to a surface. For example, a non-linear function emulating the inking behavior of each of a pencil, pen, paint brush, airbrush or other physical input device as application pressure changes may be selected by selection of an appropriate mode. As writing/drawing input entry is received, the pressure sensitive input device sends values of input pressure to the computer device and the computer device determines, based on the received values of input pressure, a value for the inking display property of brush width according to the inking property transfer functions of the selected mode. Display of the writing/drawing input entry may then be initiated using the value for the inking display property, or the value of the inking display property may be stored for use in later display of the writing/drawing input entry.

In an implementation, the computer device may receive a selection from a user selecting a mode to be used for the input device while the actual physical input device may stay the same. That is, the defining of the mode for the input device may be performed in the computer device independently of the input device being used. For example, a stylus used as the input device may be used in various modes selected at a user interface based on a user's needs. In another example implementation, the computer device may receive an indication of a mode for the input device from the input device. The indication may be received from the input device, for example, upon a selection of modes made at the input device by using an input control on the input device. The indication may also be received from the input device when a user changes or installs a physical writing/drawing tip on the input device that defines a mode for the input device. The indication of a mode may also be received by the computer device sensing a type of writing drawing tip installed on the input device when the input device is applied to a touch sensitive screen of the computer device. The computer device determines the mode for the input device from the received user selection or the indication received from the input device and then determines one or more transfer functions for an inking display property as a function of an input parameter based on the determined mode.

DETAILED DESCRIPTION

The system, method and computer device will now be described by use of example embodiments. The example embodiments are presented in this disclosure for illustrative purposes, and not intended to be restrictive or limiting on the scope of the disclosure or the claims presented herein.

The disclosed embodiments provide a technical advantage by allowing input entry, such as writing or drawing input entry performed using an input device on a surface associated with a computer device, to be selectively displayed using display properties that emulate the characteristics of different types of real world writing or drawing devices. The writing or drawing input entry may include any type of input entry performed on the surface, such as text writing, artwork, painting, sketching, or any other type of drawing. The display properties may define characteristics such as the size, opacity, angle, roundness or flow, wetness, scattering, or blending of writing or drawing lines. Use of the display properties allows the computer device to accurately reflect characteristics of different types of real writing or drawing input devices when displaying input entries made using an input device such as a stylus.

In the embodiments, a transfer function may be defined for each of one or more modes of input devices where each of the modes defines a type of writing/drawing device. The modes may define types of writing/drawing devices such as pens, pencils, brushes, paint brushes, airbrushes, or any other type of input device that may be emulated. Each transfer function may be configured to define display characteristics versus values of an input parameter as the value of the input parameter varies during writing or drawing input entry. The input parameter may be, for example, pressure, tilt angle, twist angle, velocity, acceleration, hover height, time windowed displacement, or any other indicator of input device dynamics as the input entry is performed. The transfer functions may be configured as non-linear functions in order to emulate the true display characteristics of real world writing/drawing devices as the input parameter values vary during input. Providing the user of a computer device the flexibility to select easily from the different modes for an input device allows accurate emulation of a variety of writing instruments at the computer device.

For example, a person, who is practiced and skilled at writing and drawing on conventional surfaces such as paper, or another medium, may desire to use a stylus to write or draw as a user of a computer device. In situations such as this, the user may have a finely tuned sense of the characteristics of certain writing instruments and a sense of how to apply these writing instruments on paper, or other medium. For example, the user may be skilled at using variations in the parameters of pressure, angle, or other writing or drawing dynamics when using different writing instruments to achieve a desired effect. If the user attempts to write or draw using a conventional computer device, the user may not be able to achieve a desired effect because they are not provided flexibility in being able to choose easily from different modes that allow accurate emulation of a variety of writing instruments at the computer device. They also may not achieve a desired effect using a conventional computer device because the computer device will not have the capability to translate the users writing/drawing entry performed at the computer device as the user intends. For example, the user may intend certain nuanced variations in pressure, angle, and other writing or drawing dynamics to be interpreted by the computer device as if the stylus is a lead pencil or ink pen and the surface to which the stylus is applied is paper or other medium. In this situation a conventional computer device will not be capable of accurately interpreting the writing or drawing dynamics to reflect the user's intention in the display of the writing/drawing entry. Use of the embodiments provide a computer device that is capable of allowing a user flexibility in being able to choose easily from different modes that allow accurate emulation of a variety of writing instruments at the computer device. Use of the embodiments also provides a computer device having the capability to interpret the user's writing/drawing entry performed at the computer device with a stylus while using intentional variations in pressure, angle, and other writing or drawing dynamics. Use of the embodiments allows these variations in input parameters to be interpreted and displayed/printed by the computer device as if the writing /drawing were performed on a conventional medium such as paper using an actual writing instrument such as a lead pencil or pen.

Use of the modes also provides advantages in that the mode may be defined at any level of detail that reflects differences in writing/drawing devices. For example, modes may be defined and associated with a transfer function for different types of pencils with different lead hardness or lead sizes, or pens with different types of tip/ball point sizes or tip/ball point characteristics, or different airbrush configurations. Allowing use of different modes associated with different transfer functions allows the different non-linear behavior of different real world drawing and writing devices to be realistically emulated.

Referring now toFIG. 1, therein is a simplified block diagram of an example system100according to an embodiment of the disclosure.FIG. 1shows system100as including computer device102and input device122. Computer device102may include touch screen unit104comprising touch screen display106and wireless interface108. Wireless interface108may be, for example, an electromagnetic or active capacitance digitizer interface implemented within touch screen display106. Computer device102also includes mode selector110, display property determiner112, and transfer function database114. Input device122is shown as comprising casing122athat inclndes writing/drawing tip132and internal components122bthat include input parameter sensor124and wireless interface126. In the example ofFIG. 1, input parameter sensor124and wireless interface126may be configured within casing122a. Wireless interface126may be configured to communicate with wireless interface108of computer device102as input device122is applied to touch screen display106while performing writing/drawing input entry128. Computer device102and input device122ofFIG. 1may be implemented in any appropriate configuration of hardware and software.

Operation of system100ofFIG. 1may be described with reference toFIG. 2A.FIG. 2Ashows a flow diagram200that illustrates example operations performed in system100. In one example implementation, the operations ofFIG. 2Amay be performed by a computer device such as computer device102ofFIG. 1when receiving writing or drawing input entry128made on touch screen display106using input device122.

The process begins at202where the mode selector110determines a mode corresponding to a type of writing/drawing device based on a received mode selection111. Mode selector110then provides an indication of mode selection116to display property determiner112. The mode116may be associated with a type of writing/drawing device to be imitated by the input device122, such as a pencil, pen, paint brush, airbrush or other physical input device. In one implementation, the mode selector110comprises an application program on computer device102; the mode selector110may determine the mode for the input device by receiving an indication of the mode selection111from a user interface at touch screen display106. In this implementation, the user interface may provide a user options from which to select the mode. In alternative implementations, the mode selector110may be implemented on the input device122and display property determiner112may receive the indication of the mode selection116from a user selection made at an interface or selection switch on the input device122. In this implementation input device122may provide the indication of the mode selection116to display property determiner112through wireless interfaces126and108, or another communication interface between input device122and computer device102.

At206display property determiner112receives input parameter values130as writing/drawing input entry128is performed using input device122. The input entry may be performed by a user holding casing122aand writing or drawing by applying witing/drawing tip132to touch screen display106. Input parameter sensor124of input device122may be configured to sense the input parameter values as input device122is applied to touch screen display106and provide the input parameter values130to wireless interface126for communication to wireless interface108. Display property determiner112may receive the input parameter values130through wireless interface108. For example, input parameter sensor124may measure the amount of pressure as writing/drawing input entry128is performed using input device122and provide the amount of pressure to wireless interface126for communication to the wireless interface108. Wireless interface108may then provide the amount of pressure as input parameter values130to display property determiner112. In alternative implementations using other than pressure as input parameter values, the values of the input parameters130may be determined at computer device102by a processing unit that processes writing/drawing input entry128applied at touch screen display106. The determination of input parameter values at computer device102may be useful when input device122is not capable of measuring or determining the values of a particular input parameter. Display property determiner112may then receive the values of the input parameters130determined within device102from the processing unit.

At208the display property determiner112determines display property values120based on the transfer function118and the input parameter values130received from the input device122. Display property determiner may then provide the display property values120to touch screen display106.

At209computer device102may display the writing/drawing input entry128on touch screen display106according to the display property vaues120. Thus, based on the mode116selected, the inking displayed on the touch screen display106will appear to have been entered by a desired device rather than by a generic stylus. In one configuration, the writing/drawing input entry128may be stored in the computer device for later display using the determined display characteristics.

WhileFIG. 2Awas described in relation to operations performed by a computer device configured to receive writing or drawing input performed using an input device, embodiments ofFIG. 2Aalso include any other implementations in which the described operations are performed. For example, in one alternative implementation, operations202-208ofFIG. 2Amay be performed by an input device and the value of the display characteristic determined at208may be sent to the computer device as writing or drawing input takes place. In another example implementation, the operations ofFIG. 2Amay be distributed between each of the computer device and the input device in any other appropriate manner.

Implementations ofFIG. 2Amay include simultaneous use of more than one display property. For example, implementations may include using operation204to determine two or more transfer functions for a determined input device mode. For example, a first and second transfer function for the display properties of size and opacity, respectively, versus input parameter values such as values of pressure may be determined by using operation204to determine each transfer function based on the input device mode. When values for input pressure are received at206, display property values of both size and opacity may then be determined from the first and second transfer function, respectively, by using operation208. The display property values may then be used simultaneously in displaying writing or drawing input entries where the display shows both size and opacity as affected by input pressure value.

Implementations ofFIG. 2Aalso may include simultaneous use of more than one type of input parameter value. For example, implementations may include using operation204to determine two or more transfer functions for a determined input device mode. For example, a first and second transfer function for input parameter values of pressure and device angle, respectively, versus a display property may be determined by using operation204to determine each transfer function based on the input device mode. Input pressure and angle measurement values may be received by using operation206to receive each value. Display property values for each of the pressure and angle values may then be determined from the first and second transfer function, respectively, by using operation208. The display property values may then be used simultaneously in displaying writing or drawing input entry where the display shows the display property as affected by both input pressure and input device angle values.

Referring now toFIG. 2B, therein is a flow diagram210illustrating example operations performed by an example input device operating with an implementation of the computer device ofFIG. 2A.FIG. 2Billustrates an example implementation in which the mode for the input device is determined at the input device and may be described with reference toFIG. 1. In this implementation mode selector110may be configured on input device122.

The process begins at212where input device122determines a mode corresponding to a type of writing/drawing device. In the example implementation ofFIG. 2B, a user of input device122may select the mode at a control input of input device122and input device122may determine the mode selection by receiving the indication of mode selection111from the user at mode selector110. This may be performed by setting a selection switch, button, or other input at a user interface on casing122aof input device122to select the mode for input device122, or communicating a wireless signal to input device122where the wireless signal includes control information that is used to configure the input device for a particular mode. In another implementation, input device122may be configured so that a user may place different interchangeable writing tips on input device122to select modes. For example, if input device122is configured as a pen or stylus type device, input device122may be configured to be equipped with different writing/drawing tips132having different modes. In this implementation input device122may determine the mode by detecting the type of tip with which it is equipped. The detection may be performed by input device122sensing the mode of the tip through mechanical or wireless sensing, or other circuitry of the input device sensing the tip characteristics. In an alternative implementation of operation212, a single input device such as input device122may have a set mode that doesn't change. For example, the mode for input device122may be determined at the manufacturing stage. In this implementation, a user may change input device modes by switching to an input device configured with the desired mode and configured to provide an indication of that mode to the computer device102. Multiple input devices may be configured as a set, for example a set of pens or styluses that are each associated with a different mode type. In one example, the physical characteristics of each input device of the set may be configured to be representative of the mode of that input device.

At214the input device provides an indication of the mode selected for the input device to computer device102. In the implementation ofFIG. 2Bmode selector110may provide the mode116to display property determiner112through wireless interfaces126and108, or another communication interface between input device122and computer device102. In other implementations, the indication of the mode may be provided to the computer device102by communicating the indication through a short range interface such as Bluetooth. In an alternative implementation of operations212and214using different writing/drawing tips132, the mode of the tip132may be sensed directly by computer device102without the input device122needing to be involved in determining the mode. For example, the mode of the tip132may be sensed at touch screen display106and provided to display property deteminer112through wireless interface108when input device122is applied to touch screen display106.

Next at216, input parameter sensor124of input device122determines input parameter values caused by using input device122to input writing/drawing input entry128to touch screen104and, at218, input parameter sensor124provides the input parameter values to display property determiner112of computer device102through wireless interfaces126and108. These may be the input parameter values received by the computer device at operation206ofFIG. 2A.

Referring now toFIG. 3, therein is a flow diagram300illustrating operations performed by an example computer device and writing/drawing stylus. The computer device may be configured as an implementation of the computer device102and the stylus may be configured as an implementation of the input device122as shown inFIG. 1. In the description of the process ofFIG. 3, computer device102will be referred to as computer device102and input device122may be referred to as stylus122. The computer device102may interact with the stylus122to perform the operations ofFIG. 3,FIG. 3illustrates an implementation in which the mode for the stylus122is determined at the computer device102. In the implementation ofFIG. 3, the display property is the inking property of input device brush size, for example writing or drawing linewidth, and the input parameter is pressure with which the input is used to input drawing/writing entry on touch screen display106.

In the implementation, the computer device102may be implemented, for example, as a tablet type device that includes touch screen unit104. Stylus122may have the shape and appearance of a pen such as shown by casing122aofFIG. 1. The computer device102and stylus122may be configured to communicate with each other, for example, through electromagnetic or active capacitance digitizer interfaces126and108implemented in the touch screen unit104and stylus122. Stylus122may be a pressure sensitive stylus configured to provide values of stylus pressure values130on the touch screen display106during writing/drawing input entry128, as measured by input parameter sensor124, to the display property determiner112of computer device102through interfaces126and108.

The process begins at302where mode selector110receives an input selection111of a mode for the stylus102. The selection may be received, for example, as input from a user of computer device102performed at a user interface of a drawing or writing application program displayed on touch screen display106on computer device102. Mode selector110then provides an indication of the mode116to display property determiner112. In an example implementation the application may provide the user with a menu of mode selection choices from which to choose. For example, the menu may present selections such as modes for pencil, ballpoint pen, fountain pen, paint brush, felt tip pen, or air brush from which the user may select. The modes may be defined to allow selection of a mode for the stylus at a desired level of specificity, for example, pencil modes for various lead sizes and lead hardness, or combinations of lead sizes and lead hardness, may be selected. The modes may also be defined to allow selection of modes for the stylus having detailed characteristics such as ink type, tip size, ink flow and other characteristics for ballpoint, fountain or felt tip pen types. Default values may be used for a particular characteristic if the mode selection does not allow the characteristic to be chosen.

At304display property determiner112determines a transfer function for the display property of brush size versus the input parameter of pressure based on the selected stylus mode116. In the implementation, brush size refers to size or width of any displayed writing or drawing line received from stylus122in any selected mode. The device may retrieve the transfer function118from transfer function database114that includes transfer functions for the brush size versus pressure for each of the selectable modes for the stylus. The transfer functions may be non-linear and configured to model the real world characteristics of a writingsdrawing device having the physical characteristics defined by each of the selectable modes for the stylus.

At306the user applies stylus102to touch screen display106and begins writing or drawing. At308, as the user writes or draws (performing writing/drawing input entry128), input parameter sensor124in the stylus122reports the values of pressure to the display property determiner112through wireless interfaces126and108.

At310display property determiner112receives the pressure values130from stylus122and provides the display property values120to touch screen display106. At312, the writing/drawing input entry128is displayed on touch screen display106as the user writes or draws. The writing/drawing input entry128is displayed with the brush size applied based on the pressure values130received from stylus122and according to the function determined at304for the display property of brush size versus the input parameter of pressure.

FIGS. 4A-4Hshow example transfer functions of the display properties of brush size and brush opacity versus input parameter values of the input parameter of pressure for different modes of an input device. The transfer functions ofFIG. 4A-4Hshow examples that may be used in various implementations of the embodiments. The vertical axis in each figure represents the value of either brush size or opacity versus a value of pressure that is shown along the horizontal axis. The values increase along each axis in the direction of the arrow.FIG. 4A-4Hillustrate the advantages provided by the embodiments in allowing selection of modes for an input device where each mode is associated with a different non-linear transfer function.

FIGS. 4A and 4Bshow functions illustrating brush size and opacity, respectively, versus pressure for an example pencil mode for an input device.FIG. 4Aillustrates that as pressure increases from a value of 0 along axis404the brush size also increases in a non-linear manner on axis402. Brush size increases relatively quickly along portion406aof function406as pressure increases and then substantially levels out along portion406bof the function406for further increases in pressure.FIG. 4Billustrates that as pressure increases from a value of 0 along the axis420the brush opacity also increases in a non-linear manner on axis418. Brush opacity increases with a relatively steady slope along portion407aof the function407as pressure increases and then substantially levels out along portion407bfor further increases in pressure.

FIGS. 4C and 4Dshow functions illustrating brush size and opacity, respectively, versus pressure for an example ballpoint pen mode for an input device.FIG. 4Cillustrates that as pressure increases from a value of 0 along the axis416the brush size also increases in a non-linear manner on axis414.FIG. 4Calso illustrates a non-linear characteristic of ball point pens that use of the embodiments allows to be emulated using a device such as the computer device102ofFIG. 1.FIG. 4Cshows portion408aof the function408where the brush size is 0, i.e., no writing or drawing lines are displayed, until the pressure reaches a threshold level at the end of portion408a. Then as pressure increases the brush size increases through portion408buntil the increase levels off. Use of the transfer function of4C allows devices and input devices to emulate this type of behavior where a ballpoint pen tip may require that the pen be applied to a surface with a certain level of pressure before ink begins to flow from the pen.FIG. 4Dillustrates that as pressure increases from a value of 0 along the axis424the brush opacity also increases in a non-linear manner on axis422. Once the threshold value of pressure is reached on axis424, brush opacity increases with a relatively steady slope along portion409aas pressure increases and then substantially levels out along portion409bfor further increases in pressure.

FIGS. 4E and 4Fshow functions illustrating brush size and opacity, respectively, versus pressure for an example fountain pen mode for an input device.FIG. 4Eillustrates that as pressure increases from a value of 0 along axis428the brush size also increases in a non-linear manner on axis426. Brush size increases along portion412aof the function412as pressure increases and then substantially levels out along portion412bfor further increases in pressure.FIG. 4Fillustrates that as pressure increases from a value of 0 along the axis436, the brush opacity also increases in a non-linear manner on axis434. Brush opacity increases with a relatively steady slope along portion411aof the function411as pressure increases and then the slope reduces along portion411btor further increases in pressure.

FIGS. 4G and 4Hshow functions illustrating brush size and opacity versus pressure, respectively, for an example felt tip pen mode for an input device.FIG. 4Gillustrates that as pressure increases from a value of 0 along the axis432the brush size also increases in a non-linear manner on axis430. Brush size increases relatively quickly along portion410aof the function410as pressure increases and then substantially levels out along portion410bfor further increases in pressure.FIG. 4Hillustrates that as pressure increases from a value of 0 along the axis440, the brush opacity also increases in a non-linear manner on axis438. Brush opacity increases with a relatively steady slight slope along portion413aof function413as pressure increases and then continues with a slightly different slope along portion413bfor further increases in pressure.

Multiple functions may also be created for each of the modes of input devices shown inFIGS. 4A-4H. For example, variations of the function ofFIG. 4Amay be generated for pencils having lead with different hardness and sizes, or variations of the function ofFIG. 4Cmay be generated for pens with, for example, different ballpoint pen tip pressure characteristics fir activation of ink flow, ball point pen tip sizes, or pen ink characteristics.

FIGS. 4A-4Hillustrate the behavior and the differences between the behaviors of different modes of input devices such as pens, pencils, or other input devices. Use of the embodiments having different selectable modes for input devices where the modes are associated with nonlinear functions, such as those shown inFIGS. 4A-4H, allows a user to configure the appearance of displayed writing or drawing input entry to the user's needs.

FIG. 4I-4Killustrate example functions that may be utilized in implementations of the embodiments having an airbrush mode for an input device.FIG. 4Ishows brush size versus hover height for an example airbrush mode for an input device. As hover height increases from 0 mm to 20 mm along the horizontal axis442, brush size increases from an initial value on the vertical axis444along portion414aof function414. The brush size then falls to 0 as the airbrush becomes too far away from the surface at a hover height of 20 mm.FIG. 4Jshows a function illustrating; major axis/minor axis ratio versus tilt angle for an example airbrush mode for an input device. The major axis/minor axis ratio shown along axis448represents the aspect ratio (longest axis length to shortest axis length) of an image made by the input device in airbrush mode. The function415shows that as the tilt angle of the input device changes from 0 to 90 degrees along axis446, the major axis of the image becomes much larger than the minor axis.FIG. 4Kshows a function illustrating opacity versus velocity for an example airbrush mode for an input device. InFIG. 4K, as velocity on the input device increases from 0 along horizontal axis450, the function shown by line417indicates the opacity of the drawing or writing performed by the input device decreases non-linearly from 1 to near 0 on the vertical axis452.

Reference is now made toFIG. 5, which illustrates examples of displayed brush size of modes for input devices varying with input pressure.FIG. 5shows a portion of an example device500having a touch screen502. Input device504is shown as an example stylus or pen type device configured to provide values of pressure to device500indicating the pressure with which input device504is applied to touch screen502for providing writing/drawing input entry. Device500and input device504may be configured as computer device102and stylus122as described above in relation toFIG. 3.

InFIG. 5. line506illustrates an example line that may be drawn when a pencil mode having the transfer function ofFIG. 4Ais selected for input device504. Line506may be drawn starting at dotted line518. In the example of line506, a user may apply a pressure with input device504that increases substantially steadily as the line is drawn. With reference toFIG. 4A, when the pressure applied by the user increases through portion406aof function406ofFIG. 4A, the width of line506inFIG. 5increases as it is drawn, which is illustrated by portion506aof line506. When the pressure applied by the user increases and reaches portion406bof function406ofFIG. 4A, the width of line506remains constant as it is drawn, as illustrated by portion506bof line506.

InFIG. 5, line508illustrates another example line that may be drawn when a ballpoint pen mode having the transfer function ofFIG. 4Cis selected for input device504. Input device504may be applied to the surface starting at dotted line518to draw line508. In the example of line508, a user may apply a pressure with input device504that increases substantially steadily as the line is drawn. With reference toFIG. 4C, when the force applied by the user increases through portion408aof function408ofFIG. 4Cas the line is drawn, line508does not show on the screen at any width. This is shown inFIG. 5by portion508aof line508. As was described forFIG. 4C, this is because function408is configured so that display of ink does not begin until the pressure with which the input device504is applied reaches a threshold value at the end of portion408a. As the user draws and increases the pressure, the pressure reaches the threshold value and the brush width increases according to portion408bof function408. This is illustrated by portion508bof line506.

InFIG. 5, line510illustrates another example line that may be drawn when a felt tip pen mode having the transfer function ofFIG. 4Gis selected for input device504. Line510may be drawn starting at dotted line518. In the example of line510, a user may apply a pressure with input device504that increases substantially at the same rate as the line is drawn. With reference toFIG. 4G, when the pressure applied by the user increases through portion410aof function410ofFIG. 4A, the width of line510inFIG. 5increases as it is drawn, as illustrated by portion510aof line510. When the force applied by the user increases and reaches portion410bof function410ofFIG. 4G, the width of line510remains substantially constant as it is drawn, as illustrated by portion510bof line510.

Line512ofFIG. 5illustrates another example line. Line512may be drawn when a fountain pen mode having the transfer function ofFIG. 4Eis selected for input device504. Line512may be drawn starting at dotted line518. In the example of line512, a user may apply a pressure with input device504that increases substantially at the same rate as the line is drawn. With reference toFIG. 4E, when the force applied by the user increases through portion412aof function412ofFIG. 4E, the width of line512inFIG. 5increases as it is drawn, as illustrated by portion512aof line512. When the force applied by the user increases and reaches portion412bof function412ofFIG. 4E, the width of line512remains substantially constant as it is drawn, as illustrated by portion512bof line512.

FIG. 5also illustrates example line514which may be drawn when an airbrush mode having the transfer function ofFIG. 4Iis selected for input device504. Line514may be drawn starting at dotted line518. In the example of line514, a user may start with a hover height of 0 for input device504and increase the hover height at a substantially constant rate as the line is drawn. With reference toFIG. 4I, when the hover height increases from 0 to 20 mm through portion414aof function414ofFIG. 4I, the width of line514inFIG. 5increases as it is drawn, as illustrated by portion514aof line514. When the hover height used by the user reaches 20 mm, line514disappears from the display as defined by function414ofFIG. 4I.

Referring now toFIG. 6, therein is a simplified block diagram illustrating an example computer device600. Computer device600includes touch screen display602, wireless pen interface604, RF transceiver (TX/RX)606, processor608, short range wireless interfaces610, and memory612. Memory612includes programs and code for operating system (OS)614, applications616, transfer functions618, and writing/drawing input and display control code620. Memory612may be implemented as any type of computer readable storage media in computer device600, including non-volatile and volatile memory. Processor608may comprise one or more processors, or other control circuitry or any combination of processors and control circuitry. Processor608provides overall control of computer device600by executing instructions or code in memory612to provide necessary functions for operation of computer device600according to the disclosed embodiments.

In an example implementation, processor608may control computer device600to perform operations ofFIG. 2AorFIG. 3by executing the programs and code in memory612. Writing/drawing input and display application programs620may provide overall control for writing or drawing applications when writing/drawing input entry is performed using an input device. OS614and applications616may operate in interaction with writing/drawing input and display control code620to provide functions of computer device600used for writing or drawing applications. Transceiver606may be used to allow computer device600to communicate over a cellular or Wi-Fi network, for example to access data to update or download data associated with transfer functions618or update or download writing/drawing input and display control code620. Short range interfaces610may be used to communicate with other devices. For example, in some implementations, depending on the input device, certain communications with the input device may be performed over short range interfaces610using protocols such as Bluetooth or Wi-Fi Direct.

In example implementations, computer device600may receive a user's selection of a mode for an input device at a user interface on touch screen602. Processor608may then determine an appropriate transfer function for the mode by retrieving transfer function data from transfer functions618stored in memory based on the selected mode. A user of computer device600may then provide writing drawing input entry at touch screen display602using an input device. As the user draws or writes, wireless pen interface604receives values of an input parameter such as input pressure from the input device. Wireless pen interface604may be, for example, an electromagnetic or active capacitance digitizer interface implemented within touch. screen display602. As the user writes or draws, processor608controls touch screen display602to display the writing or drawing input entry on touch screen display602with display properties based on the received values of the input parameter according to the transfer function associated with the selected mode.

Implementations of computer device600may include implementations of any type of device that may be configured to receive and display writing or drawing input according to the embodiments. For example, computer device600may be implemented in a smart phone, a tablet computer, a desktop computer, laptop computer device, gaming devices, media devices, smart televisions, multimedia cable/television boxes, smart phone accessory devices, tablet accessory devices, or personal digital assistants (PDAs). In various implementations, the user interface that receives the mode selection input may be any type of interface such as a touch screen display, a key board, an audio interface, or any other type of interface by which the mode selection may be made. In alternative implementations, certain of the functional blocks shown inFIG. 6mays be omitted, added to, combined, or rearranged. For example, computer device600may be implemented as a number of separate components and devices. For example, computer device600may be implemented with an accessory touchpad for use with a computer device where the touchpad receives the writing/drawing input that is displayed on computer device600. Also, certain of the functional blocks may be modified for operation with input devices having different configurations and capabilities.

Referring now toFIG. 7, therein is a simplified block diagram illustrating an example input device700. Input device700includes pressure sensor702, touch screen wireless pen interface704, short range wireless interface718, processor706, control inputs714and memory708. Memory708may include control programs712and pressure sensor control code710. Control programs712may control overall operation of input device700. Memory708may be implemented as any type of computer readable storage media in input device700, including non-volatile and volatile memory. Processor706may comprise one or more processors, or other control circuitry or any combination of processors and control circuitry. Processor706provides overall control of input device700and the other functional blocks shown inFIG. 7by executing instructions or code in memory708to provide necessary functions for operation of input device700according to the disclosed embodiments. Pressure sensor control code710may control sensing and digitization of pressure values with which the input device700is applied to a surface and the providing of the pressure values to another device such as device600. In implementations, pressure sensor control code710may be part of control programs712.

In one example implementation, processor706may control input device700by executing control programs to cause input device700to provide an indication of a selection of a mode for the input device made by a user at control inputs714. For example, a user may set a switch on the control inputs714to select a mode, or program a mode selection into input device700through control inputs714. The input device700may then communicate the mode selection to a computer device such as the computer device600over short range interface718which may be, for example, a Bluetooth or Wi-Fi Direct interface, or through touch screen wireless pen interface704which may be, for example, an electromagnetic or active capacitance digitizer interface. In this example, the mode would be selected at the input device700rather than at the computer device600. In an alternative example, a mode may be selected by configuring different physical tips on input device700to select modes, where each physical tip is associated with a mode that may be sensed or detected by processor706. Input device700may then communicate the mode to a computer device such as computer device600. In another example the different modes of the physical tips may be detectable by computer device600at touch screen display602.

Input device700may then, as a user writes, provide input pressure values measured at pressure sensor702to computer device600though touch screen wireless pen interface704. Touch screen wireless pen interface704may be configured, for example, to communicate with wireless pen interface604that is implemented as an electromagnetic or active capacitance digitizer interface implemented within touch screen display602.

In various alternative implementations, certain of the functional blocks of input device700shown inFIG. 7may be omitted, added to, combined, modified, or rearranged for operation with devices or computer device having different configurations and capabilities. For example, input device700may be implemented as a number of separate components and devices, or with additional functions. In one example implementation, input device700may store transfer functions in memory708and provide the transfer functions for use by a computer device, such as computer device600, with which the input device is being used. In another example implementation, input device700may use transfer functions stored in memory708to determine display properties based on values of input pressure sensed by pressure sensor702. Input device700may then provide the display properties directly to the computer device for display rather than providing the values of input pressure to the computer device.

The example embodiments disclosed herein may be described in the general context of processor-executable code or instructions stored on memory that may comprise one or more computer readable storage media (e.g., tangible non-transitory computer-readable storage media such as memory612or708). As should be readily understood, the terms “computer-readable storage media” or “non-transitory computer-readable media” include the media for storing of data, code and program instructions, such as memory612or708, and do not include portions of the media for storing transitory propagated or modulated data communication signals.

While the functionality disclosed herein has been described by illustrative example using descriptions of the various components and devices of embodiments by referring to functional blocks and processors or processing units, controllers, and memory including instructions and code, the functions and processes of the embodiments may be implemented and performed using any type of processor, circuitry or combinations of processors and/or circuitry and code. This may include, at least in part, one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-a-chip systems (SOCs), complex programmable logic devices (CPLDs), etc. Use of the term processor or processing unit in this disclosure is mean to include all such implementations.

The disclosed embodiments include a computer device comprising a processor and memory in communication with the processor, the memory comprising code, that when executed, causes the processor to control the computer device to receive an indication of a mode corresponding to a type writing/drawing device, determine a transfer function based on the mode, the transfer function defining a display property relative to an input parameter, receive values of the input parameter as associated with an input entry using an input device, determine values for the display property based at least on the transfer function and the values of the input parameter, and display the input entry based on the values of the display property. The transfer function may comprise a non-linear transfer function. The input parameter may comprise pressure and the display property may comprise brush size. The display property may comprise size, opacity, or flow. The input parameter may comprise pressure, an angle or a hover height.

The code further, when executed, may cause the processor to receive an indication of a mode corresponding to a writing/drawing device input device by controlling the computer device to receive an indication of the mode trom a selection of modes at a user interface, and, determine the mode based on the indication. The code may also cause the processor to receive an indication of a mode corresponding to a writing/drawing device by controlling the computer device to detect the mode from a tip of the input device, and, determine the mode for the input device based on the detected mode. Also, the code may further causes the processor to receive an indication of a mode corresponding to an writing/drawing device by controlling the computer device to receive an indication of the mode from a selection of modes at the input device, and, determine the mode for the input device based on the indication. The mode may comprise a selected mode of a plurality of modes, the transfer function may comprise a selected transfer function of a plurality of transfer ftmctions, and the memory may comprise code defining each of the plurality of transfer functions as associated with one of the plurality of modes, and, the code may cause the processor to control the computer device to determine the selected transfer function from the plurality of transfer functions based on the selected mode for the input device

The embodiments also include an input device comprising a processor and a memory in communication with the processor, the memory comprises code that, when executed, causes the processor unit to control the input device to determine a mode for the input device wherein the mode defines a type of drawing device, and, initiate communication of the mode to a computer device configured to receive input from the input device. The code may cause the processor to control the input device to determine the mode for the input device by detecting a mode for a tip configured on the input device. The code may further cause the processor to control the input device to determine the mode for the input device by receiving an indication of the mode for the input device. The code may comprise code defining at least one transfer functions associated with the mode for the input device, the transfer function defining at least one display property relative to an input parameter and the code may cause the processor to control the input device to initiate communication of the at least one transfer function to the device configured to receive input from the input device.

The disclosed embodiments also include a method comprising receiving an indication of a mode corresponding to a type of input device, determining a transfer function based on the mode for the input device, the transfer function defining at least one display property versus an input parameter, receiving values of the input parameter as associated with an input entry using an input device, determining values for the display property based at least on the transfer function and the values of the input parameter, and displaying the input entry based on the values of the display property. The receiving an indication of a mode corresponding to an input device may comprise receiving an indication of the mode for the input device from the input device. The transfer function may be stored in memory on the input device and the determining a value for the display property may comprise sending the value of the at least one display property from the input device to a device configured to receive input from the input device. The input parameter may comprise a pressure or an angle.

Although the subject matter has been described in language specific to structural features and/or methodological operations or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features, operations, or acts described above. Rather, the specific features, operations, and acts described above are disclosed as example embodiments, implementations, and forms of implementing the claims and these example configurations and arrangements may be changed significantly without departing from the scope of the present disclosure. Moreover, although the example embodiments have been illustrated with reference to particular elements and operations that facilitate the processes, these elements, and operations may or combined with or, be replaced by, any suitable devices, components, architecture or process that achieves the intended functionality of the embodiment. Numerous other changes, substitutions, variations, alterations, and modifications may be ascertained to one skilled in the art and it is intended that the present disclosure encompass all such changes, substitutions, variations, alterations, and modifications as falling within the scope of the appended claims.