Portable computing devices (PDs) are ubiquitous. These devices may include cellular telephones, portable digital assistants (PDAs), portable game consoles, palmtop computers, and other portable electronic devices. Many portable computing devices include a touch screen user interface in which a user may interact with the device and input commands. Inputting multiple commands or altering based commands via a touch screen user interface may be difficult and tedious.
Accordingly, what is needed is an improved method of modifying commands received via a touch screen user interface.
In the figures, like reference numerals refer to like parts throughout the various views unless otherwise indicated.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.
In this description, the term “application” may also include files having executable content, such as: object code, scripts, byte code, markup language files, and patches. In addition, an “application” referred to herein, may also include files that are not executable in nature, such as documents that may need to be opened or other data files that need to be accessed.
The term “content” may also include files having executable content, such as: object code, scripts, byte code, markup language files, and patches. In addition, “content” referred to herein, may also include files that are not executable in nature, such as documents that may need to be opened or other data files that need to be accessed.
As used in this description, the terms “component,” “database,” “module,” “system,” and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computing device and the computing device may be a component. One or more components may reside within a process and/or thread of execution, and a component may be localized on one computer and/or distributed between two or more computers. In addition, these components may execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems by way of the signal).
Referring initially to
In a particular aspect, as depicted in
Referring to
As illustrated in
As further illustrated in
As depicted in
In a particular aspect, one or more of the method steps described herein may be stored in the memory 344 as computer program instructions. These instructions may be executed by a processor 324, 326 in order to perform the methods described herein. Further, the processors 324, 326, the memory 344, the command management module 382, the display controller 328, the touch screen controller 330, or a combination thereof may serve as a means for executing one or more of the method steps described herein in order to control a virtual keyboard displayed at the display/touch screen 332.
Referring to
Additionally, the PCD 400 may include a pressure sensitive layer 408 disposed on the outer surface of the housing 402. In a particular embodiment, the pressure sensitive layer 408 may include a piezoelectric material deposited or otherwise disposed on the housing 402. The pressure sensitive layer 408 may detect when a user squeezes, or otherwise presses, the PCD 400 at nearly any location on the PCD 400. Further, depending on where the PCD 400 is pressed, or squeezed, one or more base commands may be modified as described in detail herein.
Additionally, the PCD 500 may include a first gyroscope 508, a second gyroscope 510, and an accelerometer 512 connected to the processor 504 within the PCD. The gyroscopes 508, 510 and the accelerometer 512 may be used to detect when linear motion and acceleration motion. Using this data, “virtual buttons” may be detected. In other words, a user may press one side of the PCD 500 and the gyroscopes 508, 510 and the accelerometer 512 may detect that press. Further, depending on where the PCD 500 is pressed one or more base commands may be modified as described in detail herein.
In a particular aspect, the inner housing 602 may be substantially rigid. Moreover, the inner housing 602 may be made from a material having an elastic modulus in a range of forty gigapascals to fifty gigapascals (40.0-50.0 GPa). For example, the inner housing 602 may be made from a magnesium alloy, such as AM-lite, AM-HP2, AZ91D, or a combination thereof. The outer housing 604 may be elastic. Specifically, the outer housing 604 may be made from a material having an elastic modulus in a range of one-half gigapascal to four gigapascals (0.5-6.0 GPa). For example, the outer housing 604 may be made from a polymer such as High Density Polyethylene (HDPE), polytetrafluoroethylene (PTFE), nylon, poly(acrylonitrile, butadiene, styrene (ABS), acrylic, or a combination thereof.
Since the inner housing 602 is substantially rigid and the outer housing 604 is elastic, when a user squeezes the outer housing 604, one or more of the pressure sensors 610, 612, 614, 616, 618, 620 may be squeezed between the inner housing 604 and the outer housing 602 and activated.
Referring now to
At decision 808, the command management module may determine whether a first subsequent command gesture is detected within a predetermined time period, e.g., a tenth of a second, a half of a second, a second, etc. In a particular aspect, the first subsequent command gesture may include a hard button press, an additional touch on a touch screen by another finger (or thumb), a squeeze on the device housing in order to activate a pressure sensor or pressure sensitive material, a tap on the device housing sensed by a six-axis sensor, presence or absence of light, a location determined using a global positioning system (GPS), presence or absence of an object in a camera viewfinder, etc.
If a first subsequent command gesture is not detected, a base command may be executed at block 810. Then, the method 800 may move to decision 812 and it may be determined whether the device is powered off. If the device is not powered off, the method 800 may return to block 804 and the method 800 may continue as described herein. Conversely, if the device is powered off, the method 800 may end.
Returning to decision 808, if a first subsequent command gesture is detected within the predetermined time period, the method 800 may move to block 815. At block 815, the command management module may broadcast an indication that the base command is modified. For example, the indication may be a visual indication, an audible indication, or a combination thereof. The visual indication may be a symbolic representation of the modified command, a text representation of the modified command, a color representation of the modified command, or a combination thereof. The visual indication may be a cluster of pixels that get brighter when a base command is modified (or further modified as described below), that change colors when a base command is modified (or further modified as described below), that change color shades when a base command is modified (or further modified as described below), or a combination thereof. The audible indication may be a beep, a ding, a voice string, or a combination thereof. The audible indication may get louder as a base command is modified (or further modified as described below).
From block 815, the method 800 may proceed to decision 816. At decision 816, the command management module may determine whether a second subsequent command gesture is detected within a predetermined time period, e.g., a tenth of a second, a half of a second, a second, etc. In a particular aspect, the second subsequent command gesture may include a hard button press, an additional touch on a touch screen by another finger (or thumb), a squeeze on the device housing in order to activate a pressure sensor or pressure sensitive material, a tap on the device housing sensed by a six-axis sensor, presence or absence of light, a location determined using a global positioning system (GPS), presence or absence of an object in a camera viewfinder, etc.
If a second subsequent command gesture is not detected within the predetermined time period, the method 800 may move to block 818 and a first modified command may be executed. The method 800 may then proceed to decision 812 and continue as described herein. Returning to decision 816, if a second subsequent command gesture is detected within the predetermined time period, the method 800 may move to block 819. At block 819, the command management module may broadcast an indication that the base command is further modified. For example, the indication may be a visual indication, an audible indication, or a combination thereof. The visual indication may be a symbolic representation of the modified command, a text representation of the modified command, a color representation of the modified command, or a combination thereof. The visual indication may be a cluster of pixels that get brighter when a base command is modified (or further modified as described below), that change colors when a base command is modified (or further modified as described below), that change color shades when a base command is modified (or further modified as described below), or a combination thereof. The audible indication may be a beep, a ding, a voice string, or a combination thereof. The audible indication may get louder as a base command is modified (or further modified as described below).
From block 819, the method 800 may proceed to decision 820. At decision 820, the command management module may determine whether a third subsequent command gesture is detected is detected within a predetermined time period, e.g., a tenth of a second, a half of a second, a second, etc. In a particular aspect, the third subsequent command gesture may include a hard button press, an additional touch on a touch screen by another finger (or thumb), a squeeze on the device housing in order to activate a pressure sensor or pressure sensitive material, a tap on the device housing sensed by a six-axis sensor, presence or absence of light, a location determined using a global positioning system (GPS), presence or absence of an object in a camera viewfinder, etc. If a third subsequent command gesture is not detected, a second modified command may be executed at block 822. The method 800 may then proceed to decision 812 and continue as described herein.
Returning to decision 820, if a third subsequent command gesture is detected, the method 800 may move to block 823. At block 823, the command management module may broadcast an indication that the base command is, once again, further modified. For example, the indication may be a visual indication, an audible indication, or a combination thereof. The visual indication may be a symbolic representation of the modified command, a text representation of the modified command, a color representation of the modified command, or a combination thereof. The visual indication may be a cluster of pixels that get brighter when a base command is modified (or further modified as described below), that change colors when a base command is modified (or further modified as described below), that change color shades when a base command is modified (or further modified as described below), or a combination thereof. The audible indication may be a beep, a ding, a voice string, or a combination thereof. The audible indication may get louder as a base command is modified (or further modified as described below).
From block 823, the method 800 may proceed to block 824 and a third modified command may be executed. Thereafter, the method 800 may then proceed to decision 812 and continue as described herein.
Referring to
If one or more commands gestures are not detected, the method 900 may return to block 904 and continue as described herein. Conversely, if one or more command gestures are detected, the method 900 may proceed to decision 908 and the command management module may determine whether one, two, or N command gestures have been detected.
If one command gesture is detected, the method may proceed to block 909 and a command indication may be broadcast to the user. For example, the command indication may be a visual indication, an audible indication, or a combination thereof. The visual indication may be a symbolic representation of the modified command, a text representation of the modified command, a color representation of the modified command, or a combination thereof. The visual indication may be a cluster of pixels that illuminate when a base command is selected, that change colors when a base command is selected, that change color shades when a base command is selected, or a combination thereof. The audible indication may be a beep, a ding, a voice string, or a combination thereof. Moving to block 910, a base command may be executed.
Returning to decision 908, if two command gestures are detected, the method 400 may move to block 911 and a modified command indication may be broadcast to the user. The modified command indication may be a visual indication, an audible indication, or a combination thereof. The visual indication may be a symbolic representation of the modified command, a text representation of the modified command, a color representation of the modified command, or a combination thereof. The visual indication may be a cluster of pixels that get brighter when a base command is modified, that change colors when a base command is modified, that change color shades when a base command is modified, or a combination thereof. The audible indication may be a beep, a ding, a voice string, or a combination thereof. The audible indication may get louder as a base command is modified, change tone as a base command is modified, change pitch as a base command is modified, or a combination thereof. Proceeding to block 912, a first modified command may be executed.
Returning to decision 908, if N command gestures are detected, the method 900 may proceed to block 913 and a modified command indication may be broadcast. The modified command indication may be a visual indication, an audible indication, or a combination thereof. The visual indication may be a symbolic representation of the modified command, a text representation of the modified command, a color representation of the modified command, or a combination thereof. The visual indication may be a cluster of pixels that get brighter when a base command is modified, that change colors when a base command is further modified, that change color shades when a base command is further modified, or a combination thereof. The audible indication may be a beep, a ding, a voice string, or a combination thereof. The audible indication may get louder as a base command is further modified, change tone as a base command is further modified, change pitch as a base command is further modified, or a combination thereof. Continuing to block 914, an Mth modified command may be executed.
From block 910, block 912, or block 914, the method 900 may proceed to decision 916 and it may be determined whether the device is powered off. If the device is not powered off, the method 900 may return to block 904 and the method 900 may continue as described herein. Conversely, if the device is powered off, the method 900 may end.
Referring to
At decision 1008, the command management module may determine whether a first pressure gesture is detected. The first pressure gesture may be substantially simultaneous with the touch gesture or subsequent to the touch gesture within a predetermined time period, e.g., a tenth of a second, a half of a second, a second, etc. In a particular aspect, the first pressure gesture may include a squeeze on the device housing in order to activate a pressure sensor or pressure sensitive material, a tap on the device housing sensed by a six-axis sensor, or a combination thereof.
If a first pressure gesture is not detected, a base command may be executed at block 1010. Then, the method 1000 may move to decision 1012 and it may be determined whether the device is powered off. If the device is not powered off, the method 1000 may return to block 1004 and the method 1000 may continue as described herein. Conversely, if the device is powered off, the method 1000 may end.
Returning to decision 1008, if a first pressure gesture is detected within the predetermined time period, the method 1000 may move to block 1015. At block 1015, the command management module may broadcast an indication that the base command is modified. For example, the indication may be a visual indication, an audible indication, or a combination thereof. The visual indication may be a symbolic representation of the modified command, a text representation of the modified command, a color representation of the modified command, or a combination thereof. The visual indication may be a cluster of pixels that get brighter when a base command is modified (or further modified as described below), that change colors when a base command is modified (or further modified as described below), that change color shades when a base command is modified (or further modified as described below), or a combination thereof. The audible indication may be a beep, a ding, a voice string, or a combination thereof. The audible indication may get louder as a base command is modified (or further modified as described below).
From block 1015, the method 1000 may proceed to decision 1016. At decision 1016, the command management module may determine whether a second pressure gesture is detected. The second pressure gesture may be substantially simultaneous with the touch gesture and the first pressure gesture or subsequent to the touch gesture and the first pressure gesture within a predetermined time period, e.g., a tenth of a second, a half of a second, a second, etc. In a particular aspect, the second pressure gesture may a squeeze on the device housing in order to activate a pressure sensor or pressure sensitive material, a tap on the device housing sensed by a six-axis sensor, or a combination thereof.
If a second pressure gesture is not detected within the predetermined time period, the method 1000 may move to block 1018 and a first modified command may be executed. The method 1000 may then proceed to decision 1012 and continue as described herein. Returning to decision 1016, if a second pressure gesture is detected within the predetermined time period, the method 1000 may move to block 1019. At block 1019, the command management module may broadcast an indication that the base command is further modified. For example, the indication may be a visual indication, an audible indication, or a combination thereof. The visual indication may be a symbolic representation of the modified command, a text representation of the modified command, a color representation of the modified command, or a combination thereof. The visual indication may be a cluster of pixels that get brighter when a base command is modified (or further modified as described below), that change colors when a base command is modified (or further modified as described below), that change color shades when a base command is modified (or further modified as described below), or a combination thereof. The audible indication may be a beep, a ding, a voice string, or a combination thereof. The audible indication may get louder as a base command is modified (or further modified as described below).
From block 1019, the method 1000 may proceed to decision 1020. At decision 1020, the command management module may determine whether a third pressure gesture is detected. The third pressure gesture may be substantially simultaneous to the touch gesture, the first pressure gesture, the second pressure gesture, or a combination thereof, or subsequent to the touch gesture, the first pressure gesture, the second pressure, or a combination thereof within a predetermined time period, e.g., a tenth of a second, a half of a second, a second, etc. In a particular aspect, the third pressure gesture may include a squeeze on the device housing in order to activate a pressure sensor or pressure sensitive material, a tap on the device housing sensed by a six-axis sensor, or a combination thereof.
If a third pressure gesture is not detected, a second modified command may be executed at block 1022. The method 1000 may then proceed to decision 1012 and continue as described herein.
Returning to decision 1020, if a third pressure gesture is detected, the method 1000 may move to block 1023. At block 1023, the command management module may broadcast an indication that the base command is, once again, further modified. For example, the indication may be a visual indication, an audible indication, or a combination thereof. The visual indication may be a symbolic representation of the modified command, a text representation of the modified command, a color representation of the modified command, or a combination thereof. The visual indication may be a cluster of pixels that get brighter when a base command is modified (or further modified as described below), that change colors when a base command is modified (or further modified as described below), that change color shades when a base command is modified (or further modified as described below), or a combination thereof. The audible indication may be a beep, a ding, a voice string, or a combination thereof. The audible indication may get louder as a base command is modified (or further modified as described below).
From block 1023, the method 1000 may proceed to block 1024 and a third modified command may be executed. Thereafter, the method 1000 may then proceed to decision 1012 and continue as described herein.
If one or more pressure gestures are not detected, the method 1100 may move to decision 1108 and the command management module may determine whether a touch gesture is detected. If not, the method 1100 may return to block 1104 and continue as described herein. Otherwise, if a touch gesture is detected, the method 1100 may continue to block 1110 and a base command may be executed. Then, the method 1100 may proceed to decision 1112 and it may be determined whether the device is powered off. If the device is powered off, the method 1100 may end. If the device is not powered off, the method 1100 may return to block 1104 and continue as described herein.
Returning to decision 1106, if a pressure gesture is detected, the method 1100 may move to block 1114 and the command management module may modify a base command. Depending on the number of pressure gestures detected the base command may be modified to a first modified command, a second modified command, a third modified command, an Nth modified command, etc.
From block 1114, the method 1100 may move to block 1116 and a modified command indication may be broadcast. For example, the command indication may be a visual indication, an audible indication, or a combination thereof. The visual indication may be a symbolic representation of the modified command, a text representation of the modified command, a color representation of the modified command, or a combination thereof. The visual indication may be a cluster of pixels that illuminate when a base command is selected, that change colors when a base command is selected, that change color shades when a base command is selected, or a combination thereof. The audible indication may be a beep, a ding, a voice string, or a combination thereof.
Moving to decision 1118, it may be determined whether a touch gesture is detected. If not, the method 1100 may return to block 1104 and continue as described herein. In a particular aspect, before the method 1100 returns to block 1104, the modified base command may be reset to the base command.
Returning to decision 1118, if a touch gesture is detected, the method 1100 may continue to block 1120 and a modified command may be executed. Thereafter, the method 1100 may move to decision 1112 and continue as described herein.
It is to be understood that the method steps described herein need not necessarily be performed in the order as described. Further, words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the steps. These words are simply used to guide the reader through the description of the method steps.
The methods disclosed herein provide ways to modify commands. For example, a command typically performed in response to a command gesture such as a single touch by a user may be modified with a second touch by the user so that two fingers, or a finger and a thumb, are touching the touch screen user interface. A single touch may place a curser in a text field and two fingers in the same place may initiate a cut function or copy function. Also, three fingers touching at the same time may represent a paste command.
In another aspect, moving a single finger over a map displayed on a touch screen display may cause the map to pan. Touching the map with two fingers may cause the map to zoom. This aspect may be also used to view and manipulate photos. If a home screen includes widgets and/or gadgets, a single touch may be used for commands within the widget, e.g., to place a cursor or select an item. Further, two fingers may be used to move the widget to a new location.
In another aspect, if an application in a main menu has one instance open in an application stack, a two finger touch may open a second instance of the application rather than open the current instance. Further, in another aspect, in a contacts application a single touch may select a list item, a two finger touch may open an edit mode, and a three finger touch could place a call to a selected contact. Also, in another aspect, in a scheduler application, a single touch on an event may open the event, a two finger touch may affect an event's status, e.g., marking it tentative, setting it to out of office, cancelling the event, dismissing the event, etc. In another aspect, in an email application containing many emails, a single touch may select an email item for viewing, a two finger touch may enter a mark mode, e.g., for multiple deletion, for moving, etc.
In a particular aspect, an initial command gesture may be a touch on a touch screen. Subsequent command gestures may include additional touches on the touch screen. In another aspect, subsequent command gestures may include pressure gestures, i.e., activation of one or more sensors within a six-axis sensor array. In another aspect, an initial command gesture may include a pressure gesture. Subsequent command gestures may include one or more touches on a touch screen. Subsequent command gestures may also include one or more pressure gestures.
In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a machine readable medium, i.e., a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such computer-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to carry or store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
Although selected aspects have been illustrated and described in detail, it will be understood that various substitutions and alterations may be made therein without departing from the spirit and scope of the present invention, as defined by the following claims.