This disclosure relates to gesture-based graphical user interfaces and touch-sensitive screens in mobile devices.
A user may interact with applications executing on a computing device (e.g., mobile phone, tablet computer, smart phone, or the like). For instance, a user may install, view, or delete an application on a computing device.
In some instances, a user may interact with a graphical keyboard on a computing device. A user may type on the graphical keyboard by selecting keys. When a user selects a key, a character may be displayed by the computing device. In some instances, when a user selects a key, the computing device may generate input for use in other applications executing on the computing device.
In one example, a method includes: receiving, on a graphical keyboard of a computing device, touch input including a plurality of selections of one or more keyboard characters currently displayed on the graphical keyboard; determining, by the computing device, a touch input operation that corresponds to the touch input, wherein the touch input operation identifies a character that is not currently displayed on the graphical keyboard, wherein the identified character has a phonetic relationship to the one or more keyboard characters selected by the touch input, and wherein the identified character is different from the one or more keyboard characters selected by the touch input; and generating for display, on an output device of the computing device, the identified character.
In one example, a computer-readable storage medium is encoded with instructions that cause one or more processors of a computing device to: receive, on a graphical keyboard of a computing device, touch input including a plurality of selections of one or more keyboard characters currently displayed on the graphical keyboard; determine, by the computing device, a touch input operation that corresponds to the touch input, wherein the touch input operation identifies a character that is not currently displayed on the graphical keyboard, wherein the identified character has a phonetic relationship to the one or more keyboard characters selected by the touch input, and wherein the identified character is different from the one or more keyboard characters selected by the touch input; and generate for display, on an output device of the computing device, the identified character.
In one example, a computing device includes: one or more processors; an output device; a keyboard application implemented by the one or more processors to receive a touch input including a plurality of selections of one or more keyboard characters of a graphical keyboard currently displayed on the output device; and means for determining a touch input operation that corresponds to the touch input, wherein the touch input operation identifies a character that is not currently displayed on the graphical keyboard, wherein the identified character has a phonetic relationship to the one or more keyboard characters selected by the touch input, and wherein the identified character is different from the one or more keyboard characters selected by the touch input, wherein the output device is configured to generate for display the identified character.
Techniques of the present disclosure allow a user of a computing device to provide touch input to select keys and display characters on the computing device. Certain keyboard layouts and input methods have been designed to operate on mobile devices. It may be beneficial to provide a user with a reduced character keyboard and functionality to rapidly select and display characters. A reduced character keyboard provides fewer keys to a user than a standard keyboard but provides larger keys as displayed. Larger keys enable a user to type more quickly and accurately. This benefit may be particularly valuable on mobile devices where a user may wish to engage in rapid communication. Furthermore, some mobile devices may display a keyboard on a touch-sensitive screen. In such embodiments, a user may perform undesired key selections if keys are too small or placed closely together. Larger keys therefore advantageously provide the user with a user-friendly and accurate input device.
A touch input may be used in conjunction with a reduced character keyboard to overcome the disadvantage of fewer keys available to the user. For example, a single tap for a key representing a character may select and display the character. A double tap for the same key may produce a different character. Associating touch inputs with keys on a reduced character keyboard may enable a user to select and display characters accurately and efficiently without limiting the set of characters available to the user. In some examples, characters may be phonetically related and thereby selectable with touch inputs.
In some examples, e.g.
In some examples, output device 12, may display a graphical keyboard 4. Graphical keyboard 4 may display one or more keys, such as key 16. Graphical keyboard 4 may arrange one or more keys in a layout intuitive to user 14. In other examples, graphical keyboard 4 may arrange one or more keys to improve user 14's accuracy and/or speed when selecting one or more keys. Reducing the number of keys of graphical keyboard 4 may be particularly advantageous where computing device 2 is a mobile device and the display area of output device 12 is limited.
Key 16 may be associated with a character from a natural language. Characters from a natural language may include numbers, letters, symbols, or other indicia capable of communicating meaning either independently or in combination with other characters. For example, key 16 may be associated with or represent the letter “A” in the English language. Key 16 may in another example be associated with or represent the Arabic number “8.” In yet another example, key 16 may be associated with or represent the pound “#” sign. In some examples graphical keyboard 4 may include a key, such as key 16, for each character in a natural language. In other examples, graphical keyboard 4 may include one or more keys corresponding to only a subset of all characters available in a natural language. For example, graphical keyboard 4 may include one or more keys corresponding to only the more frequently used characters in a natural language. In the Korean language, for in one particular example, the least frequently used keys may be ‘’, ‘’, ‘’, ‘’. By removing these keys and the shift key (shown in
In other examples, Korean characters ‘’, ‘’, ‘’, ‘’, or ‘’, ‘’ may be removed from the keyboard. By removing some or all of these characters, more surface area can be provided for each key. Korean characters, ‘’, ‘’, ‘’, ‘’, may be alternatively input by combining ‘’, ‘’, ‘’, ‘’ with ‘’ using touch inputs. In other examples ‘’ and ‘’ may be removed and alternatively input by combining ‘’, ‘’ with ‘|’ using touch inputs, as will be described in greater detail below.
User 14 may interact with output device 12, e.g. a touch-sensitive screen, by performing touch input 18 on output device 12. For example, computing device 2 may display graphical keyboard 4 on output device 12. User 14 may select one or more keys 16 using a touch input 18. Output device 12 may generate a signal corresponding to touch input 18 that is transmitted to user input module 6. User input module 6 may process touch input 18 received from user 14. In some cases, user input module 6 may perform additional processing on touch input 18, e.g., converting touch input 18 into more usable forms. In other cases, user input module 6 may transmit a signal corresponding to touch input 18 to an application, e.g. keyboard application 8, or other component in computing device 2.
Touch input 18 may include one or more gestures performed by user 14. User 14 may perform touch input18 by placing one or more fingers in contact with, e.g., output device 12, which may be a touch-sensitive screen. In one example, user 14 may move one or more fingers while in contact with touch-sensitive screen 4. In another example, touch input 18 may include user 14 touching and releasing one or more keys 16 on graphical keyboard 4. Touch input 18 may include any well-known gestures, e.g., pinch, de-pinch, tap, rotate, double tap, long press, or combo press.
For example, user 14 may double-tap key 16, i.e., press key 16 in short succession. In another example, user 14 may long press key 16, i.e., press key 16 and hold it for an extended period rather than immediately releasing key 16. In yet another example, user 14 may perform a combo press on graphical keyboard 4, e.g., simultaneously pressing key 16 and at least one other key on graphical keyboard 4. In some examples, computing device 2 may determine the duration of touch input 18. For example, computing device 2 may measure the period of time that a key is pressed to distinguish between, e.g., a single tap and a long press.
User input module 6 may receive a signal corresponding to touch input 18 and transmit the signal to keyboard application 8. In some examples, keyboard application 8 may include a character mapping module 10. Character mapping module 10 may perform a touch operation on the signal corresponding to touch input 18. The touch operation may select a character, e.g. character 20, corresponding to touch input 18. In some examples, character mapping module 10 may perform a lookup of selected character 20 in a table or database (not shown) based on the touch input operation, where the table contains mappings between characters and one or more touch input operations. For example,
In one example, character mapping module 10 may perform a lookup by matching the character associated with the user-selected key and a key in table 100. Character mapping module 10 may then perform a lookup of the touch input operation associated with the key. Using the key and touch input, character mapping module 10 may identify the corresponding selected character. Table 100 may include a touch input type corresponding to the input touch. For example, tapping a key twice in short succession may include a double tap. In some examples, the touch input operation may select character 20 based on the touch input operation corresponding to touch input 18, and display character 20 to output device 12.
A touch input operation performed by character mapping module 10 may select character 20 based on a phonetic relationship. For example, a phonetic relationship may exist between character 20 and one or more characters corresponding to one or more keys, such as key 16, selected by touch input 18. In one example a phonetic relationship may be illustrated by the relationship between a vowel and a diphthong. A diphthong may include two or more adjacent vowel sounds within the same syllable. A vowel and a diphthong may be phonetically related when the diphthong includes the vowel sound as one of the two or more adjacent vowel sounds. For example, in the English language, the word “loin” may be a diphthong because the vowel sounds “o” and “e” are adjacent in the same syllable. In the Korean language, for example, the diphthong ‘’ (expressed as “yae”) may include the vowel ‘’ (expressed as “ae”) as an adjacent vowel. In one example, diphthong character ‘’ and vowel character ‘’ may each be separate keys of graphical keyboard 4. In other examples, only vowel ‘’ may be included as a key 16 on graphical keyboard 4. Thus, more generally, a phonetic relationship may exist where a phonetic characteristic is shared between two characters. In other examples, a phonetic relationship may be a syntactic relationship between two or more characters in the linguistic structure of a natural language.
In some examples, the identified character, e.g., character 20 is not currently displayed on the keyboard. In this way, the size of each key 16 may be increased. For example, character 20 may not be displayed on graphical keyboard 4 but may be identified for display when user 14 selects key 16 using a touch input. In other examples, the identified character, e.g., character 20 may be different from the one or more keyboard characters selected by the touch input. For example, in
In one non-limiting example, vowel ‘’ may be included as key 16 on graphical keyboard 4 but diphthong ‘’ may not. If user 14 wishes to select or display ‘’, user 14 may perform a touch input 18, e.g., double-tap ‘’ key 16. User input module 6 may receive the double-tap signal corresponding to touch input 18 and transmit a corresponding signal to character mapping module 10 of keyboard application 8. Character mapping module 10 may select diphthong character ‘’ 20 according to its phonetic relationship with vowel ‘’. Computing device 2 may in some examples display selected character ‘’ 20 to output device 12.
In another exemplary embodiment, a phonetic relationship may be the relationship between a single vowel and a double vowel in the Korean language. For example, the Korean single vowel ‘’ (expressed as ‘a’) may be phonetically related to the Korean double vowel ‘’ (expressed as “ya”). In another example, a phonetic relationship may be the relationship between a simple consonant and an aspirated derivative of the simple consonant. An aspirated derivative may be formed by combining the unaspirated letters with an extra stroke. Unaspirated letters may include ‘’, ‘’, ‘’, and ‘’. For example, the Korean simple consonant ‘’ (expressed as “giyeok”) may be phonetically related to the Korean aspirated derivative of the simple consonant ‘’ (expressed as “kieuk”), e.g., by combining ‘’ with ‘’ (expressed as “hieut”). In yet another example, a phonetic relationship may be the relationship between a simple consonant and a faucalized consonant. A faucalized consonant may refer more generally to a “double letter” or “double consonant” in the Korean language. A faucalized consonant may be created by doubling a simple consonant letter.
For example, the Korean simple consonant ‘’ (expressed as “giyeok”) may be phonetically related to the Korean faucalized consonant ‘’ (expressed as “ssang-giyeok”). In another example, a phonetic relationship may be the relationship between a simple consonant and a consonant cluster. A consonant cluster may be created by combining two different consonant letters. For example, the simple consonant ‘’ (expressed as “siot”) may be phonetically related to the consonant cluster ‘’ (expressed as “bieup-siot”). In another example, the phonetic relationship may be the relationship between a first double vowel and a second double vowel. For example, the double vowel ‘’ (expressed as “ae”) may be phonetically related to the double vowel ‘’ (expressed as “yae”).
Various aspects of the disclosure may provide, in certain instances, one or more benefits and advantages. For example, a typical Korean mobile phone keyboard has twelve keys and the Korean alphabet has 40 characters. On average, a typical Korean mobile phone may require two or three key presses to enter each character, which can take substantial time. By removing keys from the graphical keyboard as in the present disclosure, e.g., diphthong keys, and providing an alternative way of entering characters, a computing device can provide a larger key size and thereby reduce the error rate of typing without degrading typing speed. Another possible benefit of the disclosure is that phonetic relationships may be intuitive to the user and therefore easier to learn. A user may, therefore, become familiar with the graphical keyboard more quickly. For example, a graphical keyboard with some keys removed may be similar to a typical Korean key layout.
Yet another possible benefit of removing keys and using phonetic relationships is that a single touch input may be sufficient to select and display a character from the graphical keyboard. By making more characters available through phonetic relationships, fewer keystrokes are required to display desired characters. The aforementioned benefits and advantages are exemplary and other such benefits and advantages may be apparent in the previously-described non-limiting examples. While some aspects of the present disclosure may provide all of the aforementioned exemplary benefits and advantages, no aspect of the present disclosure should be construed to necessarily require any or all of the aforementioned exemplary benefits and advantages.
As shown in the specific example of
Processors 30 may be configured to implement functionality and/or process instructions for execution in computing device 2. Processors 30 may be capable of processing instructions stored in memory 32 or instructions stored on storage devices 36.
Memory 32 may be configured to store information within computing device 2 during operation. Memory 32 may, in some examples, be described as a computer-readable storage medium. In some examples, memory 32 is a temporary memory, meaning that a primary purpose of memory 32 is not long-term storage. Memory 32 may also, in some examples, be described as a volatile memory, meaning that memory 32 does not maintain stored contents when the computer is turned off. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art. In some examples, memory 32 may be used to store program instructions for execution by processors 30. Memory 32 may be used by software or applications running on computing device 2 (e.g., one or more of applications 46) to temporarily store information during program execution.
Storage devices 36 may also include one or more computer-readable storage media. Storage devices 36 may be configured to store larger amounts of information than memory 32. Storage devices 36 may further be configured for long-term storage of information. In some examples, storage devices 36 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories.
Computing device 2 also includes a network interface 34. Computing device 2 may utilize network interface 34 to communicate with external devices via one or more networks, such as one or more wireless networks. Network interface 34 may be a network interface card, such as an Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device that can send and receive information. Examples of such network interfaces may include Bluetooth®, 3G and WiFi® radios in mobile computing devices as well as USB. Examples of such wireless networks may include WiFi®, Bluetooth®, and 3G. In some examples, computing device 2 may utilize network interface 34 to wirelessly communicate with an external device (not shown) such as a server, mobile phone, or other networked computing device.
Computing device 2 may also include one or more input devices 38. Input device 38 may be configured to receive input from a user through tactile, audio, or video feedback. Examples of input device 38 may include a touch-sensitive screen, mouse, a keyboard, e.g., graphical keyboard 4, a voice responsive system, video camera, or any other type of device for detecting a command from a user.
One or more output devices 40 may also be included in computing device 2, e.g., output device 12. Output device 40 may be configured to provide output to a user using tactile, audio, or video stimuli. Output device 40 may include a touch-sensitive screen, sound card, a video graphics adapter card, or any other type of device for converting a signal into an appropriate form understandable to humans or machines. Additional examples of output device 40 may include a speaker, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or any other type of device that can generate intelligible output to a user.
Computing device 2 may include one or more batteries 42, which may be rechargeable and provide power to computing device 2. Battery 42 may be made from nickel-cadmium, lithium-ion, or other suitable material.
Computing device 2 may include operating system 44. Operating system 44 may control the operation of components of computing device 2. For example, operating system 44 may facilitate the interaction of application 46 or keyboard application 8 with processors 30, memory 32, network interface 34, storage device 36, input device 38, output device 40, and battery 42. Examples of operating system 44 may include Android®, Apple iOS®, Blackberry® OS, Symbian OS®, Linux®, and Microsoft Windows Phone 7®.
Operating system 44 may additionally include user input module 6. User input module 6 may be executed as part of operating system 44. In other cases, user input module 6 may be implemented or executed by computing device 2. User input module 6 may process input, e.g., touch input 18 received from user 22 through input device 38 or output device 40. Alternatively, user input module 6 may receive input from a component such as processors 30, memory 32, network interface 34, storage devices 36, output device 40, battery 42, or operating system 44. In some cases, user input module 6 may perform additional processing on touch input 18. In other cases, user input module 6 may transmit input to an application, e.g. application 46 or keyboard application 8, or other component in computing device 2.
Any applications, e.g. application 46 or keyboard application 8, implemented within or executed by computing device 2 may be implemented or contained within, operable by, executed by, and/or be operatively/communicatively coupled to components of computing device 2, e.g., processors 30, memory 32, network interface 34, and/or storage devices 36.
The method of
In some examples, the method of
In some examples, the method includes storing the table in a database on the computing device. In some examples of the method, receiving, on the graphical keyboard of the computing device, the touch input includes determining, by the computing device, a duration of at least one of the selections of the touch input. In some examples of the method, determining, by the computing device, the duration of the at least one of the selections of the touch input further includes selecting the input operation based on the duration of the at least one of the selections of the touch input. In some examples, the identified character is not represented in the graphical keyboard.
In some examples, the phonetic relationship includes a relationship between a vowel and a diphthong. In some examples, the phonetic relationship includes a relationship between a single vowel and a double vowel. In one example, the phonetic relationship includes a relationship between a simple consonant and an aspirated derivative of the simple consonant. In some examples, the phonetic relationship includes a relationship between a simple consonant and a faucalized consonant. In some examples, the phonetic relationship includes a relationship between a simple consonant and a consonant cluster.
In some examples, the phonetic relationship includes a relationship between a first double vowel and a second double vowel. In some examples, the graphical keyboard is displayed by a touch-sensitive screen of the computing device. In some examples, the touch input includes a swipe, pinch, de-pinch, tap, rotate, double tap, long press, or combo press. In one example, each of the one or more keyboard characters are selected for representation on the graphical keyboard based on a frequency, wherein the frequency includes a number of occurrences that a keyboard character of the graphical keyboard is selected by a user. In some examples, the one or more keyboard characters of the graphical keyboard include a frequently selected group of characters that are more frequently selected by a user than a less frequently selected group of characters. In some examples, the one or more keyboard characters of the graphical keyboard are not phonetically related.
In some examples, statistical weighting may be used to scale the 35,641 selections or instances to 45,210,444. For example, a Weighted Count of 45,210,444 may be the sum of multiplying the Count of a character and the frequency of the character in each word of a dictionary. In one example, as a percentage of total selections, the character ‘’ is selected 9.58% of the time as shown in the Ratio column. In another example, 9.58% refers to the ratio of the Weighted Count of character ‘’ and the sum of all Weighted Counts for each character. Using a Ratio, the character ‘’ is determined to be frequently selected by a user and/or appears frequently in a dictionary, and therefore it is not removed from the keyboard. In contrast, the character ‘’ is selected only 0.01% of the time in a sampling. Therefore, ‘’ may, in some examples be removed from the keyboard. Characters removed from the keyboard may be based on use testing data of numerous, different users, dictionaries or other similar statistical techniques.
Computing device 2, in response to receiving touch input 86 from graphical keyboard 84, may select and display character ‘’ 80 on output device 12, e.g., a touch-sensitive display.
In some examples, a computing device may determine the duration of one of more components, or selections, included in a touch input. For example, the computing device may measure a period of time that a key is pressed to distinguish between, e.g., a single tap and a long press. A single tap may correspond to a touch input lasting a specified period of time, e.g., approximately 0.25-0.5 seconds. A long press may be distinguished from a single tap because the long press corresponds to a touch input lasting, e.g., approximately greater than 0.5 seconds. A double tap may include a touch input corresponding to two 0.25-0.5 second touch inputs occurring in a specified period of time, e.g., approximately within second. In each example, the computing device identifies a relationship between the duration of the touch input and the corresponding input operation (e.g., touch input operation for touch input) by measuring the amount of time for a touch input (e.g., time that a key is pressed), or the amount of time between touch inputs (e.g., time between key presses). These techniques may be extended more generally by the computing device to identify any touch input.
The techniques described in this disclosure may be implemented, at least in part, in hardware, software, firmware, or any combination thereof. For example, various aspects of the described techniques may be implemented within one or more processors, including one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuitry, as well as any combinations of such components. The term “processor” or “processing circuitry” may generally refer to any of the foregoing logic circuitry, alone or in combination with other logic circuitry, or any other equivalent circuitry. A control unit including hardware may also perform one or more of the techniques of this disclosure.
Such hardware, software, and firmware may be implemented within the same device or within separate devices to support the various techniques described in this disclosure. In addition, any of the described units, modules or components may be implemented together or separately as discrete but interoperable logic devices. Depiction of different features as modules or units is intended to highlight different functional aspects and does not necessarily imply that such modules or units must be realized by separate hardware, firmware, or software components. Rather, functionality associated with one or more modules or units may be performed by separate hardware, firmware, or software components, or integrated within common or separate hardware, firmware, or software components.
The techniques described in this disclosure may also be embodied or encoded in an article of manufacture including a computer-readable medium encoded with instructions. Instructions embedded or encoded in an article of manufacture including a computer-readable medium encoded, may cause one or more programmable processors, or other processors, to implement one or more of the techniques described herein, such as when instructions included or encoded in the computer-readable medium are executed by the one or more processors. Computer readable storage media may include random access memory (RAM), read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM), flash memory, a hard disk, a compact disc ROM (CD-ROM), a floppy disk, a cassette, magnetic media, optical media, or other computer readable media. In some examples, an article of manufacture may include one or more computer-readable storage media.
In some examples, a computer-readable storage media may include non-transitory media. The term “non-transitory” may indicate that the storage medium is not embodied in a carrier wave or a propagated signal. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in RAM or cache).
Various aspects of the disclosure have been described. These and other embodiments are within the scope of the following claims.
This application claims the benefit of U.S. Provisional Application No. 61/388,951, filed Oct. 1, 2010, the entire content of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
61388951 | Oct 2010 | US |