Dynamic user interface adaptable to multiple input tools

Information

  • Patent Grant
  • 9665206
  • Patent Number
    9,665,206
  • Date Filed
    Friday, February 6, 2015
    9 years ago
  • Date Issued
    Tuesday, May 30, 2017
    7 years ago
Abstract
A computing device can have a touchscreen user interface operable by different input tools, such as a finger or a stylus. The computing device can dynamically and automatically alter elements of a graphical user interface depending on the type of input tool in use. For example, a stylus can have sensors that detect touch and/or motion, and based on the sensor data, the stylus or the computing device can determine whether the stylus is currently being held in a hand. When the stylus is being held, the interface can be rendered with elements adapted for stylus input, and when the stylus is not being held, the interface can be rendered with elements adapted for finger input.
Description
BACKGROUND

The present disclosure relates generally to a user interface and in particular to a user interface element that dynamically adapts to different user input tools.


Recent years have seen a proliferation of touchscreen-based computing devices, including mobile phones, tablets, and hybrid computers operable as a tablet or a laptop. These devices generally incorporate a display area overlaid with a touch-sensitive overlay (e.g., a resistive or capacitive overlay). The display can present a user interface incorporating various input and/or output elements, such as virtual buttons and video, still-image, or text presentations. The overlay can detect contact by an object such as a finger or stylus or the like and can determine the portion of the display that was contacted. Based on the contacted portion of the display and the currently presented interface, the device can infer a user request or instruction.


SUMMARY

A graphical user interface element displayed by a computing device can be dynamically adapted to different user input tools, for example a fingertip or a stylus.


The following detailed description together with the accompanying drawings will provide a better understanding of the nature and advantages of the present invention.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a computing device and a stylus according to an embodiment of the present invention.



FIG. 2 is a simplified block diagram of a system including a computing device and a stylus according to an embodiment of the present invention.



FIG. 3 illustrates a user interface screen that can be presented by a computing device according to an embodiment of the present invention.



FIG. 4 illustrates another user interface screen that can be presented by a computing device according to an embodiment of the present invention.



FIG. 5 illustrates another user interface screen that can be presented by a computing device according to an embodiment of the present invention.



FIG. 6 illustrates another user interface screen that can be presented by a computing device according to an embodiment of the present invention.



FIG. 7 illustrates another user interface screen that can be presented by a computing device according to an embodiment of the present invention.



FIG. 8 illustrates another user interface screen that can be presented by a computing device according to an embodiment of the present invention.



FIG. 9 illustrates another user interface screen that can be presented by a computing device according to an embodiment of the present invention.



FIG. 10 illustrates another user interface screen that can be presented by a computing device according to an embodiment of the present invention.



FIG. 11 illustrates another user interface screen that can be presented by a computing device according to an embodiment of the present invention.



FIG. 12 is a flow diagram of a process for rendering a user interface according to an embodiment of the present invention.



FIG. 13 is a flow diagram of a process for determining stylus state according to an embodiment of the present invention





DETAILED DESCRIPTION

Certain embodiments of the present invention relate to computing devices, such as mobile computing devices, that have touchscreen user interfaces operable by different input tools, such as a user's finger or a stylus held by the user. These different input tools can contact the touchscreen with different-sized contact areas. For example, a stylus can have a fine point comparable to a pen or pencil, while a fingertip is comparatively blunt. Consequently, the stylus can contact a smaller area of the touchscreen than a finger. Further, a user may find different gestures more or less comfortable depending on the input tool. For example, while twisting or rotating a finger while keeping the fingertip in contact with the screen may be uncomfortable, twisting or rotating a stylus may feel more natural and comfortable. For reasons such as these, a user input interface that is optimized for fingertip contact may not be optimal for other input tools such as a stylus, and vice versa.


Accordingly, certain embodiments provide graphical user interfaces and/or graphical user interface elements that can be dynamically and automatically altered depending on the type of input tool in use. The type of input tool can be automatically detected, and the detection process can be transparent to the user. For example, a stylus can have a touch sensor built into its body, covering an area where a user's hand is expected to contact the stylus while in use. In response to detecting contact with the touch sensor, the stylus can communicate to the computing device that the stylus is in an “active” state, and the computing device can present a graphical user interface with input elements adapted for stylus input. When the touch sensor of the stylus ceases to detect contact, the stylus can communicate to the computing device that the stylus is in an “idle” state, and the computing device can present a graphical user interface with input elements adapted for fingertip input.


Examples of adaptations for a particular input tool can include changing the number of input elements displayed on the screen (e.g., fewer and larger input elements for fingertip input than for stylus input), changing the arrangement of input elements (e.g., elements placed closer together for stylus input), changing a control-adjustment paradigm (e.g., slider buttons for fingertip input and rotation-based controls such as a virtual set-screw for stylus input), changing the manner of input (e.g., stroke-based input for stylus versus virtual keyboard for fingertip input), and so on. Additional examples are described below.



FIG. 1 shows a mobile computing device 100 (a tablet computer in this example) and a stylus 102 according to an embodiment of the present invention. Computing device 100 can include a touchscreen display area 104 with a surrounding bezel 106. A control button 108 can be provided, e.g., to return touchscreen display area 104 to a “home” screen. Stylus 102 can include a barrel portion 110 and a tip portion 112. Various sensors can be disposed on or within stylus 102. Shown by way of example are touch sensors 114 disposed along barrel portion 110. In some embodiments, touch sensors 114 can be capacitive sensors that respond to contact with human skin by varying a capacitance; electronic circuits inside stylus 102 can sense the change in capacitance and thereby detect contact. Other types of touch sensors can also be used, such as pressure sensors that can detect pressure of the user's grip on the stylus, proximity sensors that can detect patterns of proximity consistent with being in a user's hand, and so on; one or more types of touch sensors can be used in any combination. Touch sensors 114 can be distributed such that it is highly likely that whenever a user picks up stylus 102 with intent to use it, at least one sensor 114 will register the contact. Stylus 102 can but need not be capable of distinguishing contact with different touch sensors 114.


Other sensors disposed on stylus 102 can include contact sensors 116, 118 disposed at the tip end 120 and/or the reverse end 122. Sensors 116 and 118 can be configured to detect proximity to and/or contact with computing device 100. In some embodiments, tip end 120 can be tapered as shown and can come to a point or nearly to a point (with a small cross sectional area relative to a finger), while reverse end 122 can be blunt or slightly rounded, making the two ends visually distinguishable. The particular size and shape of tip end 120 and/or reverse end 122 can be modified as desired. In embodiments described herein, it is assumed that tip end 120 provides a contact area with touchscreen display 104 that is measurably smaller than an average human finger; however, this is not required. Sensors 116, 118 can be any sensors usable to detect or confirm contact with touchscreen display 104. In some embodiments, sensors 116 and 118 can modify a surface capacitance of tip end 120 or rear end 122 on contact; if touchscreen display 104 is a capacitive touchscreen, this change can be sensed directly by computing device 100.


Stylus 102 can be an active electronic device capable of communicating signals from its sensors (e.g., sensors 114, 116, 118) to computing device 100. Wired or wireless communication channels can be used; specific examples are described below with reference to FIG. 2. Computing device 100 can use the sensor information transmitted from stylus 102 together with its own state information to adapt its behavior based on use of stylus 102. For example, stylus 102 can detect when it is picked up by a user, e.g., using touch sensors 114. When stylus 102 is picked up, it can transmit a signal to computing device 100 indicating that stylus 102 is now in an “active” state. (As used herein, an “active” state of the stylus refers to a state in which the sensors of the stylus indicate that it is being held by a user, while an “idle” state of the stylus refers to a state in which the sensors of the stylus do not indicate that it is being held by a user.) In response to this signal, computing device 100 can adapt its interface accordingly, for instance by modifying the size, spacing, and/or number of visible input elements to better make use of the relatively small contact area of tip portion 120 of stylus 102.


It will be appreciated that the computing device and stylus of FIG. 1 are illustrative and that variations and modifications are possible. For example, while a tablet computer is shown, computing devices can vary in size, form factor, and capabilities; other types of computing devices can include mobile phones, laptop computers, hybrid computers that incorporate a combination of touchscreen and keyboard interfaces, and so on. Computing devices can be but need not be portable. Computing devices can also vary as to capabilities; for example, various computing devices may or may not provide mobile voice and/or data services (e.g., via a cellular network), Internet connectivity (e.g., via Wi-Fi or other wireless or wired interfaces or via a cellular data network), Global Positioning System services, media player capability, personal data management services (e.g., calendar, contacts, notes, reminders), and/or the ability to run various application programs including third-party application programs to provide a wide range of user interactions (e.g., interactive drawing, word processing, spreadsheets, calculators, information storage and retrieval, games, activity monitoring, document display and reading, etc.).


A stylus can have any size and form factor. In some embodiments, a stylus can be suitably sized and shaped to be held comfortably in a human hand; however, it is not required that the stylus be handheld or even that a user of the stylus have hands. As long the stylus has sensors able to detect when it is or is not being held or actively used by a user, active and idle states as described herein can be distinguished. For example, in some embodiments, a stylus can include internal accelerometers (or other motion sensors) in addition to or instead of touch sensors; whether the stylus is being held by a user can be determined by comparing accelerometer data to patterns of motions expected when a stylus is being held by a person (including, e.g., small vibration due to the natural unsteadiness of human hands).



FIG. 2 is a simplified block diagram of a system 200 including computing device 202 and stylus 204 according to an embodiment of the present invention. In this embodiment, computing device 202 (e.g., implementing computing device 100 of FIG. 1) can provide computing, communication and/or media playback capability. Computing device 200 can include processing subsystem 210, storage device 212, touchscreen interface 214, network interface 216, stylus interface 218, and accessory input/output (I/O) interface 220. Computing device 202 can also include other components (not explicitly shown) such as a battery, power controllers, and other components operable to provide various enhanced capabilities.


Storage device 212 can be implemented, e.g., using disk, flash memory, or any other non-transitory storage medium, or a combination of media, and can include volatile and/or non-volatile media. In some embodiments, storage device 212 can store data objects such as audio files, video files, image or artwork files, information about a user's contacts (names, addresses, phone numbers, etc.), information about a user's scheduled appointments and events, notes, and/or other types of information or data files. In some embodiments, storage device 212 can also store one or more application programs to be executed by processing subsystem 210 (e.g., video game programs, personal information management programs, media playback programs, etc.) and/or one or more operating system programs or other firmware to implement and support various device-level capabilities including generation of graphical user interfaces and processing of user input.


Touchscreen interface 214 can be implemented, e.g., as an LCD display with a touch-sensitive overlay such as a resistive or capacitive overlay and can be operable using various input tools such as fingertip, stylus, and so on. In some embodiments, computing device 202 can also include other user input devices such as a touch pad, scroll wheel, click wheel, dial, button, switch, keyboard, keypad, microphone, or the like, and/or output devices such as indicator lights, speakers, headphone jacks, or the like, together with supporting electronics (e.g., digital-to-analog or analog-to-digital converters, signal processors, or the like). A user can operate touchscreen 214 (and any other input devices that may be present) to interact with computing device 202.


Processing subsystem 210 can be implemented as one or more integrated circuits, e.g., one or more single-core or multi-core microprocessors or microcontrollers, examples of which are known in the art. In operation, processing subsystem 210 can control the operation of computing device 202. In various embodiments, processing subsystem 210 can execute a variety of programs in response to program code and can maintain multiple concurrently executing programs or processes. At any given time, some or all of the program code to be executed can be resident in processing subsystem 210 and/or in storage media such as storage device 212.


Network interface 216 can provide voice and/or data communication capability for computing device 202. In some embodiments network interface 216 can include radio frequency (RF) transceiver components for accessing wireless voice and/or data networks (e.g., using cellular telephone technology, advanced data network technology such as 3G or EDGE, Wi-Fi (IEEE 802.11 family standards), or other mobile communication technologies, or any combination thereof), components for short-range wireless networking (e.g., using Bluetooth standards), GPS receiver components, and/or other components. In some embodiments network interface 216 can provide wired network connectivity (e.g., Ethernet) in addition to or instead of a wireless interface. Network interface 216 can be implemented using a combination of hardware (e.g., driver circuits, antennas, modulators/demodulators, encoders/decoders, and other analog and/or digital signal processing circuits) and software components.


Stylus interface 218 can receive communications from stylus 202 and/or send communications to stylus 202. For example, stylus interface 218 can use a wireless communication protocol such as Bluetooth or Bluetooth LE that provides for serial data transfer. A serial protocol with a universe of messages and message formats can be defined. For instance, depending on implementation, stylus 202 can send any or all of the following messages: a “stylus active” message indicating that stylus 202 is in the active state; a “stylus idle” message indicating that stylus 202 is in the idle state; and/or a message containing sensor data from one or more sensors of stylus 202. Other messages or combinations of messages can also be supported.


Accessory I/O interface 220 can allow computing device 202 to communicate with various accessories. For example, accessory I/O interface 220 can support connections to a computer, an external keyboard, a speaker dock or media playback station, a digital camera, a radio tuner, an in-vehicle entertainment system or head unit, an external video device, a memory card reader, and so on. In some embodiments, accessory I/O interface 220 can support wireless communication (e.g., via Wi-Fi, Bluetooth, or other wireless transports). The same wireless transceiver hardware as network interface 216 and/or stylus interface 218 can be used for both networking and accessory communication. Additionally, in some embodiments, accessory I/O interface 220 can include a connector as well as supporting circuitry In some instances, stylus 204 can connect via accessory I/O interface 220, and a separate stylus interface is not required.


Through suitable programming, processing subsystem 210 can provide various functionality for computing device 202. For example, processing subsystem 210 can execute operating system code and/or application code to render a graphical user interface (“GUI”) image that includes one or more user-operable input elements (e.g., virtual buttons, knobs, sliders, set-screws, data-entry boxes, etc.). Processing subsystem 210 can also receive and interpret messages from stylus 204 via stylus interface 208 and can use the messages to modify the rendering of the GUI image based on the received messages. For instance, as described below, the number, size, arrangement, and/or control type of input elements can be modified. Processing subsystem 210 can also execute other programs to control other functions of computing device 202, including application programs that may be stored in storage device 212.


Stylus 204 can include various sensors such as contact sensors 232, touch sensors 234, and accelerometer(s) 236; a signal processor 238; and a transmitter (or transceiver) 240. Stylus 204 can also include other components (not explicitly shown) such as a battery, power controllers, and other components operable to provide various enhanced capabilities.


Contact sensor(s) 232 (e.g., implementing sensors 116, 118 of FIG. 1) can be configured to detect contact of specific areas of stylus 204 with a touchscreen display of computing device 202 and to generate corresponding electronic signals. For example, resistive or capacitive contact sensors can be used. In some embodiments, contact sensors 232 can generate a signal (e.g., a change in resistance or capacitance) that the touchscreen display of computing device 202 can detect as contact.


Touch sensor(s) 234 (e.g., implementing sensors 114 of FIG. 1) can be configured to detect touching of side surfaces of stylus 204 (e.g., barrel portion as shown in FIG. 1.) and to generate corresponding electronic signals. Any type of sensor can be used, including capacitive sensors, resistive sensors, pressure-based sensors or the like.


Accelerometer(s) 236 can be configured to detect motion of stylus 204 and generate corresponding electronic signals. A three-axis MEMS-based accelerometer or the like can be used.


Transmitter 240 can be configured to send messages from stylus 204 to stylus interface 218 of computing device 202. In the example shown, transmitter 240 and stylus interface 218 support wireless communication, and transmitter 240 can include a combination of hardware (e.g., driver circuits, antennas, modulators/demodulators, encoders/decoders, and other analog and/or digital signal processing circuits) and software components. In addition or instead, transmitter 240 can provide a physical connection to computing device 202 and can include a connector, a cable, drivers, and other analog and/or digital signal processing circuits. In some embodiments, transmitter 240 can provide one-way communication from stylus 204 to computing device 202; in other embodiments, a two-way transceiver can be used, and stylus 204 can both receive messages from computing device 202 and send messages to computing device 202.


Signal processor 238 can detect electronic signals from the various sensors including contact sensor(s) 232, touch sensor(s) 234, and/or accelerometer 236 and can generate messages to be communicated to computing device 202 via transmitter 240. In various embodiments, the messages can include a representation of the electronic sensor signals and/or other information derived from the electronic sensor signals such as whether the stylus is in the active or idle state, whether (and what portion of) the stylus is in contact with the touchscreen interface of computing device 202, and so on. Status messages such as battery status information, stylus identifying information, and the like, can also be communicated using transmitter 240.


In some embodiments, stylus 204 can implement a wireless communication protocol (e.g., using transmitter 240) that provides proximity detection based on signal strength. For example, using Bluetooth LE, stylus 204 and computing device 202 can establish a pairing, and stylus 204 (or computing device 202) can use the strength of Bluetooth LE signals from computing device 202 (or stylus 204) to estimate proximity between the devices. Signals from contact sensor(s) 232 in combination with the proximity estimate can be used to determine whether contact with the touchscreen has occurred.


It will be appreciated that the system configurations and components described herein are illustrative and that variations and modifications are possible. The computing device and/or stylus may have other capabilities not specifically described herein (e.g., mobile phone, global positioning system (GPS), broadband data communication, Internet connectivity, etc.).


Further, while the computing device and stylus are described herein with reference to particular blocks, it is to be understood that these blocks are defined for convenience of description and are not intended to imply a particular physical arrangement of component parts. Further, the blocks need not correspond to physically distinct components, and the same physical components can be used to implement aspects of multiple blocks. Blocks can be configured to perform various operations, e.g., by programming a processor or providing appropriate control circuitry, and various blocks might or might not be reconfigurable depending on how the initial configuration is obtained. Embodiments of the present invention can be realized in a variety of apparatus including electronic devices implemented using any combination of circuitry and software.



FIG. 3 illustrates one example of a user interface screen 300 that can be presented by a computing device (e.g., computing device 100 of FIG. 1) according to an embodiment of the present invention. In this example, user interface screen 300 supports creation and editing of a presentation that can incorporate text, images, and other media. A presentation page is rendered in main section 302; in this example, the presentation page includes an image 304 and accompanying text 306. A control section 308 can provide various user operable input elements that the user can select (e.g., by touching) to modify the presentation page. For example, when image 304 is highlighted, selecting control button 310 can cause an image-formatting menu to be displayed; when text 306 is highlighted, selecting control 308 can cause a text-formatting menu to be displayed. In some embodiments, user interface screen 300 can be presented when the stylus is in idle mode, and controls in section 308 and/or menus that are displayed can be optimized for fingertip operation.



FIG. 4 illustrates an example of a user interface screen 400 that can be presented when a user, presented with user interface screen 300 of FIG. 3, highlights image 304 (as shown by highlight outline 401) and selects button 310. In response, computing device 100 can present an image formatting menu 402 as an overlay on top of a portion of presentation area 302. In this example, menu 402 provides various options for display effects that can be associated with image 304. For instance, the user can select, using virtual switch 404, whether image 304 should cast a virtual shadow on the presentation page; if shadowing is turned on, then section 406 can present selectable options for the type and orientation of the shadow. Similarly, the user can select, using virtual switch 408, whether a reflection should be provided; if reflection is turned on (not shown in this example), options for the reflection can be provided. Slider 410 can be moved laterally to set the desired opacity from 0% (fully transparent) to 100% (fully opaque).


It should be noted that menu 402 can be displayed when the stylus is in the idle state, and the various control elements presented in menu 402 can be adapted to be easily operated by a user's finger making gestures on a touchscreen, e.g., by making the controls of appropriate size for typical fingertips to unambiguously touch one control and by making the operational gestures correspond to actions a user's fingers can comfortably perform. For instance, a user can slide a finger across slider 410 to adjust its position to a desired location. A user can tap a finger on the appropriate location to select a shadow option from section 406.


A different user interface can be deployed if the stylus is in the active state. For example, FIG. 5 illustrates one example of a user interface screen 500 that can be presented by a computing device (e.g., computing device 100 of FIG. 1) according to an embodiment of the present invention. User interface screen 500, similarly to user interface screen 300, supports creation and editing of a presentation that can incorporate text, images, and other media. Screens 500 and 300 can be implemented in the same application, with selection between them being based on whether a stylus in the active state is present. Similarly to interface screen 300, a presentation page is rendered in main section 502; in this example, the presentation page includes an image 504 and accompanying text 506. A control section 508 can provide various user operable controls that the user can select (e.g., by touching) to modify the presentation page. For example, when image 504 is highlighted, selecting control button 510 can cause an image-formatting menu to be displayed; when text 504 is highlighted, selecting control 508 can cause a text-formatting menu to be displayed.


In some embodiments, user interface screen 500 can be presented when the stylus is in active mode, and controls in section 508 and/or menus that are displayed can be adapted for stylus operation. For instance, if a stylus is expected to have a smaller contact area than a finger, control elements in section 508 can be smaller and/or more closely spaced than controls in section 308 of FIG. 3 without making it difficult for the stylus to unambiguously touch the desired control element. In addition, user interface screen 500 can present different control elements and/or or a different combination of control elements from screen 300. For example, in user interface screen 500, when a user selects image 504, control handles 512 can be displayed to facilitate precise resizing or other adjustments to image 504 using stylus 102.


In addition, control handles 512 can be used to invoke image properties menus. By way of example, FIG. 6 shows an example of a user interface screen 600 that can be presented when a user, presented with user interface screen 500 of FIG. 5, selects a control handle 512, e.g., by tapping with stylus 102. Interface screen 600 includes an image formatting menu 602 that can appear as an overlay on top of a portion of presentation area 502. In this example, menu 602 provides various options for display effects that can be associated with image 504. For example, the user can adjust the size, opacity, and shadow properties. In this example, a user can adjust each property using a corresponding virtual rotational control (e.g., set-screw 604 to adjust photo size, set-screw 606 to adjust photo opacity, and so on).


A virtual set-screw (e.g., set-screw 604 or set-screw 606) can be operated similarly to a real set-screw that is adjustable by inserting and twisting a screwdriver. In the case of a virtual set-screw, stylus 102 can act as the “screwdriver.” While the use of a set-screw as a control paradigm may visually cue the user that the control element is operable by rotation, other rotational control elements can be displayed, and in some instances, the option of rotational control need not be visually indicated (examples of implied rotational controls are described below).


Rotational control can be implemented in any user interface, provided that rotational movement of stylus 102 about its longitudinal axis can be detected. For example, as described above with reference to FIG. 2, an implementation of stylus 102 can include accelerometer(s) 236, which can be configured to detect rotational movement about the longitudinal axis, and contact sensor(s) 232, which can be configured to detect contact of the tip of stylus 102 with touchscreen 104. If rotational motion about the longitudinal axis is detected while the stylus tip is in contact with the touchscreen, stylus 102 can transmit a signal indicating rotational motion to computing device 100. The signal can indicate the amount and direction of rotation. Computing device 100 can determine, e.g., based on the position of the contact location of stylus 102 on touchscreen 104, which rotational control is being operated and interpret the input accordingly, e.g., adjusting image size if set-screw 604 is operated, adjusting image opacity if set-screw 606 is operated, and so on.


In some embodiments, the adjustment can be applied in real time in response to the rotational movement of the stylus. For example, there can be a mapping between the change in the setting and the amount of rotation detected. In some instances, the mapping can also take into account the speed of rotation (e.g., adjusting a value by larger amounts for a given amount of rotation if the rotation is made at high speed and by smaller amounts if the rotation is made at low speed).


In addition, value indicators 608, 610 (which indicate the current value for the corresponding setting) can be updated in real time. In some embodiments, a set-screw or other rotational control element can provide a fine control over the values of various settings.


In some embodiments, when the stylus is in the active state and in contact with the surface, concurrent rotational and translational motions of the stylus can be detected and used to concurrently control or adjust different properties of a displayed object. For example, referring to interface screen 500 of FIG. 5, a stylus can be used to adjust the position and rotation angle of image 504. FIG. 7 shows a stylus 702 having a tip 704 in contact with image 504. Dashed line 706 indicates a translational motion path for stylus tip 704, and dashed line 708 indicates a rotational motion path of stylus 702 about its longitudinal axis. A user holding stylus 702 (the user's hand is not shown in order to avoid obscuring other elements) can concurrently or successively execute paths 706 and 708.



FIG. 8 shows an example of a user interface screen 800 that can be presented as a result of executing paths 706 and 708. Image 504 is translated across the presentation page shown in main section 502 based on path 706 such that the same point in image 504 remains in contact with stylus tip 704. Image 504 is also rotated based on rotation path 708. Thus, the user can adjust the position and rotation angle of a displayed object. In this example, the option to rotate image 504 by rotating stylus 702 is not visually indicated in the user interface. Some embodiments can provide visual cues. For instance, when stylus tip 704 contacts a point within image 504, a rotational knob or arrows or other indicator that the rotation angle of image 504 can be changed might be presented.


As another example, a user can use simultaneous translation and rotation of a stylus to fine-tune a drawn object. FIG. 9 illustrates an example of a user interface screen 900 for a drawing program that can be presented by a computing device (e.g., computing device 100 of FIG. 1) according to an embodiment of the present invention. Interface screen 900 can provide a main drawing area 902, in which a user can draw objects such as object 904. A control section 906 can provide various user-operable controls 908, e.g., to select a drawing tool (e.g., different line properties, paintbrush properties, or the like), to perform functions such as filling an area with a color or pattern, to copy and paste objects into a drawing, and so on.


In this example, object 904 is a curved object with a path defined using Bezier curves. Bezier curves are defined by a series of control points 910, each of which has an associated tangent line (not shown in FIG. 9).


In certain embodiments of the present invention, translational motion of a stylus can be used to adjust the position of a control point of a Bezier curve while rotational motion can be used to adjust the orientation angle of the tangent line.


For instance, FIG. 10 shows an example of a user interface screen 1000 that can be presented when tip 1002 of stylus 1004 is near to or in contact with a particular control point 1010. In this example, tangent line 1006 can appear in main drawing area 902. Translational motion of tip 1002 can adjust the position of control point 1010, while rotational motion of stylus 1004 about its longitudinal axis can adjust the angle of tangent line 1006. By way of illustration, dashed line 1012 indicates a translational motion path for stylus tip 1002, and dashed line 1014 indicates a rotational motion path of stylus 1004 about its longitudinal axis. A user holding stylus 1004 (the user's hand is not shown in order to avoid obscuring other elements) can concurrently or successively execute paths 1012 and 1014.



FIG. 11 shows an example of a user interface screen 1100 that can be presented as a result of executing paths 1012 and 1014. As a result of executing translational path 1012, control point 1010 is moved to a new position. As a result of executing rotational path 1014, the angle of tangent line 1006 is changed. Consequently, object 904′ has a somewhat different shape from original object 904 of FIG. 9. The adjustment can be made in real-time, and the user can translate and rotate stylus 1004 to modify the shape of object 904 as desired. This provides an intuitive interface for fine-tuning curved lines in drawings.


As the examples of FIGS. 7-11 show, when a graphical user interface is displayed in the stylus mode, a computing device such as computing device 100 can concurrently detect translational motion of a contact point of a tip of the stylus with a surface of the touch-sensitive display and rotational motion of the stylus about a longitudinal axis. In response, one property of a displayed object can be adjusted based on the translational motion, while a second property of the displayed object can be concurrently adjusted based on the rotational motion.


It will be appreciated that the user interface screens of FIGS. 3-11 are illustrative and that variations and modifications are possible. A user interface screen can include any number and arrangement of input elements. Input elements can be used for a variety of purposes, including editing displayed objects, defining properties of displayed objects (shadows, opacity, sizes, fonts, colors, orientations, etc.), defining objects to be displayed (e.g., entering text, selecting images or other content, drawing) specifying operations to perform (e.g., media playback operation such as play/pause, previous track), adjusting properties of output devices (e.g., volume control, brightness control), retrieving and presenting content (e.g., based on a user selecting hyperlinks in a web browser), invoking functionality (e.g., launching an application), and any other purpose for which a user may interact with a computing device having a touchscreen display.


The same application can present different user interface screens, e.g., depending on whether the stylus is in the active state or the idle state. In some instances, an application can dynamically switch to a different interface screen if the state of the stylus changes. For instance, a presentation editing application can present interface screen 300 for as long as the stylus is in an idle state and switch to interface screen 500 if the stylus enters the active state.



FIG. 12 is a flow diagram of a process 1200 for rendering a user interface according to an embodiment of the present invention. Process 1200 can be implemented, e.g., in an application executing on computing device 100 of FIG. 1.


At block 1202, process 1200 can obtain stylus data. For example, as described above, stylus 102 can send a signal to computing device 100, and process 1200 can receive this signal. At block 1204, process 1200 can determine the state of the stylus (e.g., active or idle). For example, as described above, the signal sent by stylus 102 can include a message indicating the stylus state, which stylus 102 can determine based on sensor readings. As another example, stylus 102 can send a signal that includes the sensor data, and process 1200 or another process on computing device 100 (e.g., an operating system process) can determine the state of the stylus based on the received signal.


At block 1206, a determination is made as to whether stylus 102 is in the active state. If so, then at block 1208, the user interface can be rendered in a “stylus mode.” For example, the code for rendering the user interface can include conditional statements that can cause certain input elements to be rendered in a different manner (e.g., slider versus set-screw) or to be rendered or not rendered (e.g., control handles 512 of FIG. 5) depending on whether the stylus is in the active state.


If, at block 1206, stylus 102 is not in the active state (e.g., if stylus 102 is in the idle state), then at block 1210, the user interface can be rendered in a “finger mode.” For example, as noted above, the code for rendering the user interface can include conditional statements governing how input elements are rendered, and block 1210 can include executing the same code as block 1208, with the difference in condition resulting in a different rendering.


The difference between user interfaces rendered at blocks 1208 and 1210 can include a difference in the rendering of at least one user-operable input element of the user interface. For instance, the stylus mode (block 1208) can provide a rendering of the element that is based on an expectation that a stylus will be used to operate the element, while the finger mode (block 1210) can provide a rendering of the element that is based on an expectation that a finger will be used to operate the element. Thus, for example, an element can be rendered at a smaller size in the stylus mode than in the finger mode. An element can be rendered for a different type of operation in the stylus mode as opposed to the finger mode (e.g., an adjustable control can be rendered as a set-screw in the stylus mode and as a slider in the finger mode). The renderings can also differ in the number and placement of user-operable input elements.


It is to be understood that rendering a user interface or user interface element in a mode associated with a particular input tool (e.g., a stylus mode associated with a stylus) need not preclude the use of other input tools (e.g., a finger) to interact with the interface or element. Accordingly, a user might hold the stylus in one hand and touch the screen with fingers of the other hand, or the user might hold the stylus in a manner that leaves one or more fingers available to touch the screen, or one user might be holding the stylus while another user touches the screen with fingers. In such instances, the graphical user interface can remain in stylus mode for as long as the user continues to hold the stylus. Alternatively, depending on how the touch sensors of the stylus are arranged, it can be possible to determine whether the contact with the user's hand corresponds to holding the stylus in an orientation associated with actual use (e.g., a contact pattern associated with holding a pencil or pen) or a non-use orientation (e.g., wedged between two fingers), and the mode to be used for rendering the interface can be selected accordingly.


In some instances, a stylus might not be present. For instance, in embodiments described above, a computing device can detect the presence of a stylus based on transmissions from the stylus; if no transmissions are received, then the stylus can be considered to be absent. This case can be handled, e.g., by assuming the idle state for the stylus in the absence of transmissions. As another example, in some embodiments, the stylus and the computing device can establish a pairing (e.g., a Bluetooth pairing), and the computing device can ignore any status-related messages from any stylus with which it is not paired. Thus, a user's experience need not be affected by the mere presence of a stylus in the vicinity; a particular device would enter the stylus mode only if it is paired with a stylus that is in the active state.


It will be appreciated that process 1200 is illustrative and that variations and modifications are possible. Steps described as sequential may be executed in parallel, order of steps may be varied, and steps may be modified, combined, added or omitted. For instance, the determination of the state of the stylus can be made by the computing device or the stylus.



FIG. 13 is a flow diagram of a process 1300 for determining stylus state according to an embodiment of the present invention. Process 1300 can be implemented, e.g., in stylus 102 of FIG. 1. As described above with reference to FIG. 2, an implementation of stylus 102 can include control logic to interpret signals from touch sensors (e.g., capacitive and/or pressure-based touch sensors) and/or motion sensors to determine whether it is being held by a user.


At block 1302, the control logic of stylus 102 can receive sensor data (e.g., from touch sensors 114 and/or internal motion sensors). At block 1304, the sensor data can be analyzed to determine whether stylus 102 is in a user's hand. For example, touch sensor data can be analyzed to detect a pattern of contact areas consistent with a human hand. In some embodiments, the analysis can include comparing the pattern of contact areas to patterns associated with a human hand in a particular pose (e.g., holding a pencil or pen in order to write). As another example, motion sensor data can be used to detect movement consistent with being held by a person as opposed to being at rest on a surface. Such distinctions can be based on amplitude and/or frequency analysis of the accelerometer data. In some embodiments, a combination of touch sensor and motion sensor data can be used.


At block 1306, if it is determined that stylus 102 is in a user's hand, then at block 1308, stylus 102 can transmit a signal to computing device 100 indicating that it is in the active state. If, at block 1306, stylus 102 is not determined to be in a user's hand, then at block 1310, stylus 102 can transmit a signal to computing device 100 indicating that it is in the idle state.


Process 1300 can be performed iteratively, e.g., at regular intervals such as every 0.1 seconds or every 0.01 seconds, or every 0.001 seconds, and stylus 102 can periodically report its state. In some embodiments, transmission of a signal at block 1308 or 1310 occurs only if the state has changed since the last execution of process 1300. Where transmission occurs on a state change, computing device 100 can assume that the state is unchanged until the next transmission. In some embodiments, computing device 100 can send a message to stylus 102 requesting the current state, and process 1300 can be executed in response to such a request. For example, computing device 100 might send a state-requesting message if it has not received a state message from stylus 102 within some “heartbeat” period, or computing device 100 might send a state-requesting message if it is preparing to render a new user interface or otherwise update the displayed image.


It is to be understood that process 1300 can be but need not be performed by the stylus. In some embodiments, stylus 102 can transmit its sensor data to computing device 100 without analysis, and computing device 102 can perform the analysis and determine whether the stylus is in the active or idle state.


As noted above, stylus state can be determined based on sensors that respond to touching of particular surfaces of the stylus (e.g., a barrel portion in the case of an elongate stylus as shown in FIG. 1) and/or motion sensors such as accelerometers. Any type and combination of sensor data can be used. For instance, accelerometers or other motion sensors can be used in the absence of touch sensors, touch sensors can be used in the absence of motion sensors, or a combination of motion sensor data and touch sensor data can be used. In some instances where both accelerometer data and touch sensor data are used, a signal indicating that the stylus is being held by a user from either sensor suffices to trigger the active state; this can be useful, e.g., if a user holds the stylus using a prosthetic device that the touch sensor does not reliably register.


While the invention has been described with respect to specific embodiments, one skilled in the art will recognize that numerous modifications are possible. The computing device and the stylus can vary as to form factor, size and components. Any computing device having a touchscreen display can be used. A stylus can include any tool that can operate a touchscreen display of a computing device by direct contact or near-contact and that is capable of communicating sensor data and/or state information to the computing device. In the examples shown above, a stylus communicates wirelessly with the computing device, e.g., using Bluetooth or Bluetooth LE or the like. However, a wired connection can be implemented. For example, a stylus can be connected into a cable that plugs into a receptacle connector in the housing of a computing device; the cable can be sufficiently long and flexible to avoid interfering with use of the computing device. Where a wired connection is used, the stylus can draw power from the computing device or from its own internal power source. In the case of a wireless connection, the stylus can have its own internal power source; in some instances, it may be possible to physically connect the stylus to the computing device for recharging of the stylus, and in some instances, the stylus may support both wired and wireless communication interfaces.


In some embodiments, the stylus can include one or more user-operable input controls such as buttons, switches, dials or the like, and communication from the stylus to the computing device can include messages indicating the status and/or operation of any input controls that may be present on the stylus.


In embodiments described above, a computing device can use the active or idle state of a stylus to affect rendering of a user interface. This state information can also be used for other purposes. For example, if the stylus is in the idle state, the stylus can also reduce its power consumption, e.g., by powering down some of its sensors and discontinuing or reducing transmissions to the computing device. At least one sensor can remain operational in order to detect a possible transition to the active state, and this event can result in waking up other sensors that can confirm the transition. As another example, if the user picks up the stylus while the computing device is in a low-power state (e.g., with its touchscreen display turned off), the stylus can notify the computing device, and the computing device can transition to a ready-to-use state, e.g., turning on its touchscreen display.


Embodiments of the present invention can be realized using any combination of dedicated components and/or programmable processors and/or other programmable devices. The various processes described herein can be implemented on the same processor or different processors in any combination. Where components are described as being configured to perform certain operations, such configuration can be accomplished, e.g., by designing electronic circuits to perform the operation, by programming programmable electronic circuits (such as microprocessors) to perform the operation, or any combination thereof. Further, while the embodiments described above may make reference to specific hardware and software components, those skilled in the art will appreciate that different combinations of hardware and/or software components may also be used and that particular operations described as being implemented in hardware might also be implemented in software or vice versa.


Computer programs incorporating various features of the present invention may be encoded and stored on various computer readable storage media; suitable media include magnetic disk or tape, optical storage media such as compact disk (CD) or DVD (digital versatile disk), flash memory, and other non-transitory media. (It is understood that “storage” of data is distinct from propagation of data using transitory media such as carrier waves.) Computer readable storage media encoded with the program code may be packaged with a compatible electronic device, or the program code may be provided separately from electronic devices (e.g., via Internet download or as a separately packaged computer-readable storage medium).


Thus, although the invention has been described with respect to specific embodiments, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.

Claims
  • 1. A method, performed by an electronic device with a touch-sensitive display, the method comprising: displaying, on the touch-sensitive display, a user interface that includes a user interface object;while displaying the user interface object on the touch-sensitive display, detecting, via the touch-sensitive display, an input that corresponds to a request to display a supplemental user interface for adjusting the user interface object;determining, by the electronic device, whether a stylus associated with the device is in an active or idle state;in response to detecting the input that corresponds to a request to display a supplemental user interface for adjusting the user interface object, selecting a mode for the supplemental user interface based on whether the stylus is in the active state or the idle state, the mode being selected from a stylus mode or a finger mode, including: in accordance with a determination that the stylus is in the active state, displaying the supplemental user interface in the stylus mode, wherein the supplemental user interface in the stylus mode includes a first type of control for adjusting a first property of the user interface object; andin accordance with a determination that the stylus is in the idle state, displaying the supplemental user interface in the finger mode, wherein the supplemental user interface in the finger mode includes a second type of control for adjusting the first property of the user interface object, and the second type of control is different from the first type of control.
  • 2. The method of claim 1, wherein the supplemental user interface is displayed concurrently with at least a portion of the user interface object.
  • 3. The method of claim 1, wherein the first type of control is adjusted by longitudinal rotation of the stylus, and the second type of control is adjusted by lateral movement of a finger along the touch-sensitive display.
  • 4. The method of claim 1, wherein the supplemental user interface in the stylus mode includes an input element that is displayed at a smaller size in the stylus mode than a corresponding element of the supplemental user interface in the finger mode.
  • 5. The method of claim 1, wherein the supplemental user interface in the stylus mode includes a larger number of input elements than the supplemental user interface in the finger mode.
  • 6. The method of claim 1, wherein the supplemental user interface in the stylus mode includes a rotational input element operable to control a setting and the supplemental user interface in the finger mode includes a slider input element operable to control the setting.
  • 7. The method of claim 1, further comprising, in the event that the selected mode for the supplemental user interface is the stylus mode and while displaying the supplemental user interface in the stylus mode: detecting translational motion of a contact point of a tip of the stylus with a surface of the touch-sensitive display;detecting rotational motion of the stylus about a longitudinal axis, the rotational motion being concurrent with the translational motion;based on the translational motion, adjusting a second property of the displayed user interface object; andbased on the rotational motion, adjusting a second third property of the displayed user interface object.
  • 8. A computing device comprising: a touch-sensitive display; anda processing subsystem coupled to the touch-sensitive display, the processing subsystem being configured to:display, on the touch-sensitive display, a user interface that includes a user interface object;detect, via the touch-sensitive display, while displaying the user interface object on the touch-sensitive display, an input that corresponds a request to display a supplemental user interface for adjusting the user interface object;determine whether a stylus associated with the computing device is in an active or idle state;select, in response to detecting the input that corresponds to a request to display a supplemental user interface for adjusting the user interface object, a mode for the supplemental user interface based on whether the stylus is in the active state or the idle state, the mode being selected from a stylus mode or a finger mode, including: in accordance with a determination that the stylus is in the active state, displaying the supplemental user interface in the stylus mode, wherein the supplemental user interface in the stylus mode includes a first type of control for adjusting a first property of the user interface object; andin accordance with a determination that the stylus is in the idle state, displaying the supplemental user interface in the finger mode, wherein the supplemental user interface in the finger mode includes a second type of control for adjusting the first property of the user interface object, and the second type of control is different from the first type of control.
  • 9. The computing device of claim 8, wherein the supplemental user interface is displayed concurrently with at least a portion of the user interface object.
  • 10. The computing device of claim 8, wherein the supplemental user interface in the stylus mode includes an input element that is displayed at a smaller size in the stylus mode than a corresponding element of the supplemental user interface in the finger mode.
  • 11. The computing device of claim 8, wherein the supplemental user interface in the stylus mode includes a larger number of input elements than the supplemental user interface in the finger mode.
  • 12. The computing device of claim 8, wherein the supplemental user interface in the stylus mode includes a rotational input element operable to control a setting and the supplemental user interface in the finger mode includes a slider input element operable to control the setting.
  • 13. The computing device of claim 8, wherein the first type of control is adjusted by longitudinal rotation of the stylus, and the second type of control is adjusted by lateral movement of a finger along the touch-sensitive display.
  • 14. The computing device of claim 8, wherein the processing subsystem is further configured to: detect translational motion of a contact point of a tip of the stylus with a surface of the touch-sensitive display;detect rotational motion of the stylus about a longitudinal axis, the rotational motion being concurrent with the translational motion;based on the translational motion, adjust a second property of the displayed user interface object; andbased on the rotational motion, adjust a third property of the displayed user interface object.
  • 15. A non-transitory computer readable storage medium storing one or more programs that when executed by a computing device having a touch-sensitive display and a processing subsystem coupled to the touch-sensitive display, causes the computing device to: display, on the touch-sensitive display, a user interface that includes a user interface object;detect, via the touch-sensitive display, while displaying the user interface object on the touch-sensitive display, an input that corresponds a request to display a supplemental user interface for adjusting the user interface object;determine whether a stylus associated with the computing device is in an active or idle state;select, in response to detecting the input that corresponds to a request to display a supplemental user interface for adjusting the user interface object, a mode for the supplemental user interface based on whether the stylus is in the active state or the idle state, the mode being selected from a stylus mode or a finger mode, including: in accordance with a determination that the stylus is in the active state, displaying the supplemental user interface in the stylus mode, wherein the supplemental user interface in the stylus mode includes a first type of control for adjusting a first property of the user interface object; andin accordance with a determination that the stylus is in the idle state, displaying the supplemental user interface in the finger mode, wherein the supplemental user interface in the finger mode includes a second type of control for adjusting the first property of the user interface object, and the second type of control is different from the first type of control.
  • 16. The non-transitory computer readable storage medium of claim 15, wherein the supplemental user interface is displayed concurrently with at least a portion of the user interface object.
  • 17. The non-transitory computer readable storage medium of claim 15, wherein the first type of control is adjusted by longitudinal rotation of the stylus, and the second type of control is adjusted by lateral movement of a finger along the touch-sensitive display.
  • 18. The non-transitory computer readable storage medium of claim 15, wherein the supplemental user interface in the stylus mode includes an input element that is displayed at a smaller size in the stylus mode than a corresponding element of the supplemental user interface in the finger mode.
  • 19. The non-transitory computer readable storage medium of claim 15, wherein the supplemental user interface in the stylus mode includes a larger number of input elements than the supplemental user interface in the finger mode.
  • 20. The non-transitory computer readable storage medium of claim 15, wherein the supplemental user interface in the stylus mode includes a rotational input element operable to control a setting and the supplemental user interface in the finger mode includes a slider input element operable to control the setting.
  • 21. The non-transitory computer readable storage medium of claim 15, wherein the one or more programs further including instructions that when executed by the computing device cause the computing device to: detect translational motion of a contact point of a tip of the stylus with a surface of the touch-sensitive display;detect rotational motion of the stylus about a longitudinal axis, the rotational motion being concurrent with the translational motion;based on the translational motion, adjust a second property of the displayed user interface object; andbased on the rotational motion, adjust a third property of the displayed user interface object.
RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 14/030,682, filed Sep. 18, 2013, which is hereby incorporated by reference in its entirety.

US Referenced Citations (178)
Number Name Date Kind
5463722 Venolia Oct 1995 A
5627914 Pagallo May 1997 A
5801692 Muzio et al. Sep 1998 A
5844560 Crutcher et al. Dec 1998 A
5872922 Hogan et al. Feb 1999 A
6088027 Konar et al. Jul 2000 A
6180894 Chao et al. Jan 2001 B1
6208329 Ballare Mar 2001 B1
6208340 Amin et al. Mar 2001 B1
6219034 Elbing et al. Apr 2001 B1
6227743 Robb May 2001 B1
6243080 Molne Jun 2001 B1
6252594 Xia et al. Jun 2001 B1
6266684 Kraus et al. Jul 2001 B1
6323846 Westerman et al. Nov 2001 B1
6326956 Jaeger Dec 2001 B1
6347997 Armstrong Feb 2002 B1
6400303 Armstrong Jun 2002 B2
6456778 Armstrong Sep 2002 B2
6469691 Armstrong Oct 2002 B1
6470078 Armstrong Oct 2002 B1
6504527 Armstrong Jan 2003 B1
6532000 Armstrong Mar 2003 B2
6551357 Madduri Apr 2003 B1
6559831 Armstrong May 2003 B1
6590568 Astala et al. Jul 2003 B1
6670952 Jaeger et al. Dec 2003 B2
6891551 Keely et al. May 2005 B2
6904405 Suominen Jun 2005 B2
6919927 Hyodo Jul 2005 B1
7259752 Simmons Aug 2007 B1
7532206 Morrison et al. May 2009 B2
7577530 Vignalou-Marche Aug 2009 B2
7966352 Madan et al. Jun 2011 B2
8542205 Keller Sep 2013 B1
8674932 Armstrong Mar 2014 B2
20020008691 Hanajima et al. Jan 2002 A1
20020149630 Kitainik et al. Oct 2002 A1
20030146907 Boals Aug 2003 A1
20030151589 Bensen et al. Aug 2003 A1
20030184574 Phillips et al. Oct 2003 A1
20030222915 Marion et al. Dec 2003 A1
20040021643 Hoshino et al. Feb 2004 A1
20040051700 Pensjo Mar 2004 A1
20050125742 Grotjohn et al. Jun 2005 A1
20050184973 Lum et al. Aug 2005 A1
20050223338 Partanen Oct 2005 A1
20060026535 Hotelling et al. Feb 2006 A1
20060067677 Tokiwa et al. Mar 2006 A1
20060109256 Grant et al. May 2006 A1
20060119586 Grant et al. Jun 2006 A1
20060132456 Anson Jun 2006 A1
20060132457 Rimas-Ribikauskas et al. Jun 2006 A1
20060136834 Cao et al. Jun 2006 A1
20060136845 Rimas-Ribikauskas et al. Jun 2006 A1
20060197753 Hotelling Sep 2006 A1
20060213754 Jarrett et al. Sep 2006 A1
20070004461 Bathina et al. Jan 2007 A1
20070024595 Baker et al. Feb 2007 A1
20070024646 Saarinen et al. Feb 2007 A1
20070115264 Yu et al. May 2007 A1
20070186178 Schiller Aug 2007 A1
20070229455 Martin et al. Oct 2007 A1
20070236450 Colgate et al. Oct 2007 A1
20070242056 Engelhardt Oct 2007 A1
20070245241 Bertram et al. Oct 2007 A1
20080052945 Matas et al. Mar 2008 A1
20080136790 Hio Jun 2008 A1
20080155415 Yoon et al. Jun 2008 A1
20080168395 Ording et al. Jul 2008 A1
20080202824 Philipp et al. Aug 2008 A1
20080307359 Louch et al. Dec 2008 A1
20090002392 Hou et al. Jan 2009 A1
20090046110 Sadler et al. Feb 2009 A1
20090085878 Heubel et al. Apr 2009 A1
20090102805 Meijer et al. Apr 2009 A1
20090158198 Hayter et al. Jun 2009 A1
20090167508 Fadell et al. Jul 2009 A1
20090167728 Geaghan et al. Jul 2009 A1
20090237374 Li et al. Sep 2009 A1
20090247112 Lundy et al. Oct 2009 A1
20090282360 Park et al. Nov 2009 A1
20100013777 Baudisch et al. Jan 2010 A1
20100017710 Kim et al. Jan 2010 A1
20100026640 Kim et al. Feb 2010 A1
20100026647 Abe et al. Feb 2010 A1
20100044121 Simon et al. Feb 2010 A1
20100083116 Akifusa et al. Apr 2010 A1
20100090988 Park Apr 2010 A1
20100156818 Burrough et al. Jun 2010 A1
20100175023 Gatlin et al. Jul 2010 A1
20100194693 Selin Aug 2010 A1
20100214257 Wussler et al. Aug 2010 A1
20100235735 Ording et al. Sep 2010 A1
20100271312 Alameh et al. Oct 2010 A1
20100289807 Yu et al. Nov 2010 A1
20100302179 Ahn et al. Dec 2010 A1
20100308983 Conte et al. Dec 2010 A1
20100313124 Privault et al. Dec 2010 A1
20100313156 Louch et al. Dec 2010 A1
20100315417 Cho et al. Dec 2010 A1
20110018695 Bells et al. Jan 2011 A1
20110050588 Li et al. Mar 2011 A1
20110050653 Miyazawa et al. Mar 2011 A1
20110063248 Yoon Mar 2011 A1
20110069012 Martensson Mar 2011 A1
20110107272 Aquilar May 2011 A1
20110122087 Jang et al. May 2011 A1
20110145752 Fagans Jun 2011 A1
20110164042 Chaudhri Jul 2011 A1
20110169765 Aono Jul 2011 A1
20110181538 Aono Jul 2011 A1
20110185316 Reid et al. Jul 2011 A1
20110193809 Walley et al. Aug 2011 A1
20110201387 Paek et al. Aug 2011 A1
20110215914 Edwards Sep 2011 A1
20110221684 Rydenhag Sep 2011 A1
20110242029 Kasahara et al. Oct 2011 A1
20110248948 Griffin et al. Oct 2011 A1
20110258537 Rives et al. Oct 2011 A1
20110263298 Park Oct 2011 A1
20110267530 Chun Nov 2011 A1
20110279395 Kuwabara et al. Nov 2011 A1
20110279852 Oda et al. Nov 2011 A1
20110304559 Pasquero Dec 2011 A1
20120038580 Sasaki Feb 2012 A1
20120056837 Park et al. Mar 2012 A1
20120062564 Miyashita et al. Mar 2012 A1
20120066648 Rolleston et al. Mar 2012 A1
20120081375 Robert et al. Apr 2012 A1
20120092355 Yamamoto et al. Apr 2012 A1
20120102437 Worley et al. Apr 2012 A1
20120105358 Momeyer et al. May 2012 A1
20120105367 Son et al. May 2012 A1
20120127110 Amm May 2012 A1
20120146945 Miyazawa et al. Jun 2012 A1
20120154328 Kono Jun 2012 A1
20120154329 Shinozaki Jun 2012 A1
20120179967 Hayes Jul 2012 A1
20120182226 Tuli Jul 2012 A1
20120274662 Kim et al. Nov 2012 A1
20120299859 Kinoshita Nov 2012 A1
20120306927 Lee Dec 2012 A1
20120331546 Falkenburg Dec 2012 A1
20130002561 Wakasa Jan 2013 A1
20130106731 Yilmaz May 2013 A1
20130106766 Yilmaz et al. May 2013 A1
20130120281 Harris May 2013 A1
20130191791 Rydenhag et al. Jul 2013 A1
20130249814 Zeng Sep 2013 A1
20130257777 Benko Oct 2013 A1
20140028577 Krah Jan 2014 A1
20140160045 Park Jun 2014 A1
20140253464 Hicks Sep 2014 A1
20140267184 Bathiche Sep 2014 A1
20150058723 Cieplinski et al. Feb 2015 A1
20150062052 Bernstein et al. Mar 2015 A1
20150067495 Bernstein et al. Mar 2015 A1
20150067496 Missig et al. Mar 2015 A1
20150067497 Cieplinski et al. Mar 2015 A1
20150067513 Zambetti et al. Mar 2015 A1
20150067519 Missig et al. Mar 2015 A1
20150067559 Missig et al. Mar 2015 A1
20150067560 Cieplinski et al. Mar 2015 A1
20150067563 Bernstein et al. Mar 2015 A1
20150067596 Brown et al. Mar 2015 A1
20150067601 Bernstein et al. Mar 2015 A1
20150067602 Bernstein et al. Mar 2015 A1
20150067605 Zambetti et al. Mar 2015 A1
20150135109 Zambetti et al. May 2015 A1
20150138126 Westerman May 2015 A1
20150138155 Bernstein et al. May 2015 A1
20150143273 Bernstein et al. May 2015 A1
20150149899 Bernstein et al. May 2015 A1
20150149964 Bernstein et al. May 2015 A1
20150149967 Bernstein et al. May 2015 A1
20150153929 Bernstein et al. Jun 2015 A1
20150332107 Paniaras Nov 2015 A1
Foreign Referenced Citations (30)
Number Date Country
1406150 Apr 2004 EP
1 674 977 Jun 2006 EP
2 000 896 Dec 2008 EP
2 028 583 Feb 2009 EP
2 141 574 Jan 2010 EP
2 196 893 Jun 2010 EP
2 226 715 Sep 2010 EP
2 299 351 Mar 2011 EP
2 302 496 Mar 2011 EP
2 375 314 Oct 2011 EP
2 386 935 Nov 2011 EP
2 407 868 Jan 2012 EP
2 426 580 Mar 2012 EP
2 447 818 May 2012 EP
2 527 966 Nov 2012 EP
2 541 376 Jan 2013 EP
2 568 359 Mar 2013 EP
2 402 105 Dec 2004 GB
2011 192179 Sep 2011 JP
2010 0046087 Jun 2010 KR
2011 0086501 Jul 2011 KR
WO 2005106637 Nov 2005 WO
WO 2007121557 Nov 2007 WO
WO 2008064142 May 2008 WO
WO 2011024389 Mar 2011 WO
WO 2011024465 Mar 2011 WO
WO 2011093045 Aug 2011 WO
WO 2011105009 Sep 2011 WO
WO 2011121375 Oct 2011 WO
WO 2012150540 Nov 2012 WO
Non-Patent Literature Citations (67)
Entry
Office Action, dated Aug. 27, 2015, received in Australian Patent Application No. 2013259614, which corresponds with U.S. Appl. No. 14/536,141, 4 pages.
Office Action, dated Aug. 10, 2015, received in Australian Patent Application No. 2013259637, which corresponds with U.S. Appl. No. 14/536,203, 3 pages.
Office Action, dated Aug. 18, 2015, received in Australian Patent Application No. 2013259642, which corresponds with U.S. Appl. No. 14/536,291, 3 pages.
Bautisa, “Microsoft Mathematics Tutorial 7—The Ink Input”, <URL:http://mathandmultimedia.com/2012/05/23/microsoft-math-tutorial-7-ink>, May 23, 2012, 3 pages.
Davidson, et al., “Extending 2D Object Arrangement with Pressure-Sensitive Layering Cues”, Proceedings of the 21st Annual ACM Symposium on User Interface Software and Technology, Oct. 19, 2008, 4 pages.
Dinwiddie, et al., “Combined-User Interface for Computers, Television, Video Recorders, and Telephone, Etc”, ip.com Journal, Aug. 1, 1990, 3 Pages.
Forlines, et al., “Glimpse: a Novel Input Model for Multi-level Devices”, Chi '05 Extended Abstracts on Human Factors in Computing Systems, Apr. 2, 2005, 4 pages.
Harrison, “Stylus-Based Interface with Full Mouse Emulation”, IBM Technical Disclosure Bulletin, vol. 34, No. 10B, Mar. 1, 1992, 3 pages.
Kaaresoja, et al., “Snap-Crackle-Pop: Tactile Feedback for Mobile Touch Screens”, Proceedings of Eurohaptics vol. 2006, Jul. 3, 2006, 2 pages.
Minsky, “Computational Haptics The Sandpaper System for Synthesizing Texture for a Force-Feedback Display,” Massachusetts Institute of Technology, Jun. 1978, 217 pages.
O'Hara, et al., “Pressure-Sensitive Icons”, ip.com Journal, Jun. 1, 1990, 2 Pages.
Quinn, et al., “Zoofing! Faster List Selections with Pressure-Zoom-Flick-Scrolling”, Proceedings of the 21st Annual Conference of the Australian Computer-Human Interaction Special Interest Group on Design, Nov. 23, 2009, ACM Press, vol. 411, 8 pages.
Rekimoto, et al., “PreSense: Interaction Techniques for Finger Sensing Input Devices”, Proceedings of the 16th Annual ACM Symposium on User Interface Software and Technology, Nov. 30, 2003, 10 pages.
Rekimoto, et al., “PreSensell: Bi-directional Touch and Pressure Sensing Interactions with Tactile Feedback”, Conference on Human Factors in Computing Systems Archive, ACM, Apr. 22, 2006, 6 pages.
Song, et al., “Grips and Gestures on a Multi-Touch Pen,” The ACM CHI Conference on Human Factors in Computing Systems, <URL:research.microsoft.com/pubs/ . . . /gripsandgenstures%20mtpen-chi201>, May 7-12, 2011,10 pages.
International Search Report and Written Opinion dated May 26, 2014, received in International Application No. PCT/US2013/040053, which corresponds to U.S. Appl. No. 14/535,671, 32 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/US2013/040053, which corresponds to U.S. Appl. No. 14/535,671, 26 pages.
Invitation to Pay Additional Fees dated Feb. 10, 2014, received in International Application No. PCT/US2013/069472, which corresponds to U.S. Appl. No. 14/608,895, 6 pages.
International Search Report and Written Opinion dated Apr. 7, 2014, received in International Application No. PCT/US2013/069472, which corresponds to U.S. Appl. No. 14/608,895, 24 pages.
International Search Report and Written Opinion dated Aug. 7, 2013, received in International Application No. PCT/US2013/040054, which corresponds to U.S. Appl. No. 14/536,235, 12 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/US2013/040054, which corresponds to U.S. Appl. No. 14/536,235, 11 pages.
International Search Report and Written Opinion dated Aug. 7, 2013, received in International Application No. PCT/US2013/040056, which corresponds to U.S. Appl. No. 14/536,367, 12 pages.
. International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/US2013/040056, which corresponds to U.S. Appl. No. 14/536,367, 11 pages.
International Search Report and Written Opinion dated Aug. 6, 2013, received in International Application No. PCT/US2013/040058, which corresponds to U.S. Appl. No. 14/536,426, 12 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/US2013/040058, which corresponds to U.S. Appl. No. 4/536,426, 11 pages.
Invitation to Pay Additional Fees dated Sep. 25, 2013, received in International Application No. PCT/US2013/040061, which corresponds to U.S. Appl. No. 14/536,464, 6 pages.
International Search Report and Written Opinion dated Feb. 5, 2014, received in International Application No. PCT/US2013/040061, which corresponds to U.S. Appl. No. 14/536,464, 30 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/US2013/040061, which corresponds to U.S. Appl. No. 14/536,464, 26 pages.
Invitation to Pay Additional Fees dated Oct. 8, 2013, received in International Application No. PCT/US2013/040067, which corresponds to U.S. Appl. No. 14/536,644, 8 pages.
International Search Report and Written Opinion dated May 8, 2014, received in International Application No. PCT/US2013/040067, which corresponds to U.S. Appl. No. 14/536,644, 45 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/US2013/040067, which corresponds to U.S. Appl. No. 14/536,644, 36 pages.
International Search Report and Written Opinion dated Mar. 12, 2014, received in International Application No. PCT/US2013/069479, 14 pages.
International Search Report and Written Opinion dated Aug. 7, 2013, received in International Application No. PCT/US2013/040070, which corresponds to U.S. Appl. No. 14/535,646, 12 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/US2013/040070, which corresponds to U.S. Appl. No. 14/535,646, 10 pages.
Invitation to Pay Additional Fees dated Oct. 28, 2013, received in International Application No. PCT/US2013/040072, which corresponds to U.S. Appl. No. 14/536,141, 7 pages.
International Search Report and Written Opinion dated Apr. 7, 2014, received in International Application No. PCT/US2013/040072, which corresponds to U.S. Appl. No. 14/536,141, 38 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/US2013/040072, which corresponds to U.S. Appl. No. 14/536,141, 32 pages.
Invitation to Pay Additional Fees dated Feb. 14, 2014, received in International Application No. PCT/US2013/069483, 7 pages.
International Search Report and Written Opinion dated Apr. 7, 2014, received in International Application No. PCT/US2013/069483, 18 pages.
Invitation to Pay Additional Fees dated Oct. 28, 2013, received in International Application No. PCT/US2013/040087, which corresponds to U.S. Appl. No. 14/536,166, 8 pages.
International Search Report and Written Opinion dated Mar. 3, 2014, received in International Application No. PCT/US2013/040087, which corresponds to U.S. Appl. No. 14/536,166, 35 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/2013/040087, which corresponds to U.S. Appl. No. 14/536,166, 29 pages.
International Search Report and Written Opinion dated Aug. 7, 2013, received in International Application No. PCT/US2013/040093, which corresponds to U.S. Appl. No. 14/536,203, 11 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/2013040093, which corresponds to U.S. Appl. No. 14,536,203, 9 pages.
Invitation to Pay Additional Fees dated Apr. 17, 2014, received in International Application No. PCT/US2013/069484, 7 pages.
International Search Report and Written Opinion dated Jul. 9, 2014, received in International Application No. PCT/US2013/069484, 17 pages.
Invitation to Pay Additional Fees dated Sep. 25, 2013, received in International Application No. PCT/US2013/040098, which corresponds to U.S. Appl. No. 14/536,247, 8 pages.
International Search Report and Written Opinion dated Feb. 5, 2014, received in International Application No. PCT/US2013/040098, which corresponds to U.S. Appl. No. 14/536,247, 35 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/2013/040098, which corresponds to U.S. Appl. No. 14/536,247, 27 pages.
Invitation to Pay Additional Fees dated Aug. 7, 2013, received in International Application No. PCT/US2013/040101, which corresponds to U.S. Appl. No. 14/536,267, 7 pages.
International Search Report and Written Opinion dated Jan. 27, 2014, received in International Application No. PCT/US2013/040101, 30 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/2013/040101, which corresponds to U.S. Appl. No. 14/536,267, 24 pages.
Invitation to Pay Additional Fees dated Aug. 7, 2013, received in International Application No. PCT/US2013/040108, which corresponds to U.S. Appl. No. 14/536,291, 6 pages.
International Search Report and Written Opinion dated Jan. 8, 2014, received in International Application No. PCT/US2013/040108, 30 pages.
International Preliminary Report on Patentability dated Nov. 20, 2014, received in International Application No. PCT/2013/040108, which corresponds to U.S. Appl. No. 14/536,291, 25 pages.
Invitation to Pay Additional Fees dated Apr. 1, 2014, received in International Application No. PCT/US2013/069486, 7 pages.
International Search Report and Written Opinion dated Jun. 2, 2014, received in International Application No. PCT/US2013/069486, 7 pages.
International Search Report and Written Opinion dated Mar. 6, 2014, received in International Application No. PCT/US2013/069489, 12 pages.
International Search Report and Written Opinion dated Sep. 30, 2014, received in International Application No. PCT/US2014/047303, 10 pages.
Office Action, dated Jul. 15, 2015, received in Australian Patent Application No. 2013259606, which corresponds with U.S. Appl. No. 14/536,426, 3 pages.
Office Action, dated Jul. 17, 2015, received in Australian Patent Application No. 2013259613, which corresponds with U.S. Appl. No. 14/536,646, 5 pages.
Office Action, dated Jul. 9, 2015, received in Australian Patent Application No. 2013259630, which corresponds with U.S. Appl. No. 14/536,203, 3 pages.
International Preliminary Report on Patentability, dated Jun. 30, 2015, received in International Patent Application No. PCT/US2013/069472, which corresponds with U.S. Appl. No. 14/608,895, 18 pages.
International Preliminary Report on Patentability, dated Jun. 30, 2015, received in International Application No. PCT/2013/069483, which corresponds to U.S. Appl. No. 14/608,942, 13 pages.
International Preliminary Report on Patentability, dated Jun. 30, 2015, received in International Patent Application No. PCT/US2013/069484, which corresponds with U.S. Appl. No. 14/608,965, 12 pages.
International Preliminary Report on Patentability, dated Jun. 30, 2015, received in International Patent Application No. PCT/US2013/069486, which corresponds with U.S. Appl. No. 14/608,985, 19 pages.
International Preliminary Report on Patentability, dated Jun. 30, 2015, received in International Patent Application No. PCT/US2013/069489, which corresponds with U.S. Appl. No. 14/609,006, 10 pages.
Continuations (1)
Number Date Country
Parent 14030682 Sep 2013 US
Child 14616532 US