Touch screen keypad layout

A apparatus includes a touch-screen display. A virtual keypad is displayed wherein the keys are sized in accordance with their location. Keys located in a corner of the display are smallest, keys located on an edge but not in a corner are larger, and keys not having any contact with an edge are largest. A user can easily select keys for entering a text message using multi-tap or predictive text algorithms.

BACKGROUND

This application relates generally to wireless communication devices, and more particularly to wireless communications devices having a custom, touch-screen keypad layout.

Sending text messages or “texting” from one mobile device to another is becoming increasingly popular. A variety of techniques are known for sending text messages which do not require a full QWERTY keyboard. Rather, techniques such as T9 or multi-tap enable users to send text messages using a standard numeric phone keypad wherein letters are associated with the numbers on the keypad.

In these typical mobile devices having a standard numeric keypad, the user can feel the buttons while moving across the keys. As such, navigation among the keys is easy, and users can compose messages quickly. Many users are able to easily compose text messages without even looking at the keys.

Touch screen devices are a popular design feature of newer mobile devices. A virtual keypad is rendered on the device's display, and the user enters the desired text by touching the rendered keypad. There are several drawbacks associated with touch screen devices. A user cannot easily navigate across keys by touch, as is done in a typical keyboard, as there is no tactile feedback to indicate movement from one key to another. Because the keys are close together and a user cannot detect key separation by touch, it is easy for a user to mistakenly touch the wrong key. Moreover, it would be difficult to create text messages or perform other keyboard entry steps without looking at the keys because the user cannot feel as the user moves across the keys.

Some touch screen devices include a pullout keyboard having traditional buttons. However, many users find it undesirable to switch between multiple input modes. It would be desirable to have a text entry method for touch screen devices wherein a user can easily and quickly enter text messages or perform other keyboard operations, possibly without looking at the keys.

SUMMARY

In one aspect of the disclosure, method for entering data, comprises generating a virtual keypad, the virtual keypad comprising a plurality of keys including numeric keys, one or more of the numeric keys having alphabetic characters associated therewith, wherein the size of each of the plurality of keys is dependent at least in part on the location of the key in reference to a corner or edge of a touch-screen display; and displaying the virtual keypad on the touch-screen display.

In another aspect of the disclosure, a computer program product, comprises computer-readable medium comprising code for causing a computer to generate a virtual keypad, the virtual keypad comprising a plurality of keys including numeric keys, one or more of the numeric keys having alphabetic characters associated therewith, wherein the size of each key is dependent at least in part on the location of the key in reference to a corner or edge of a touch-screen display, the virtual keypad to be displayed on the touch-screen display.

In yet another aspect of the disclosure, an apparatus, comprises means for generating a virtual keypad, the virtual keypad comprising a plurality of keys including numeric keys, one or more of the numeric keys having alphabetic characters associated therewith, wherein the size of each key is dependent at least in part on the location of the key in reference to a corner or edge of a touch-screen display; and means for displaying the virtual keypad on the touch-screen display.

In a further aspect of the disclosure, an apparatus for wireless communications, comprises a touch-screen display; and a user interface module for generating a virtual keypad, the virtual keypad comprising a plurality of keys including numeric keys, one or more of the numeric keys having alphabetic characters associated therewith, wherein the size of each of the plurality of keys is dependent at least in part on the location of the key in reference to a corner or edge of the touch-screen display.

DETAILED DESCRIPTION

Various aspects of apparatuses and methods, and the environments in which they operate, will be described below. The apparatuses and methods, however, may be embodied in many different forms and should not be construed as limited to the various configurations presented throughout this disclosure. Rather, the various aspects of these apparatuses and methods are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art. As those skilled in the art will readily appreciate, various details may be presented for the purpose of providing a thorough understanding of the apparatuses and methods, however, various configurations of these apparatuses and steps of the methods may be implemented without these specific details. In some instances, well-known structures and components are shown in block diagram form in order to avoid obscuring the various concepts presented throughout this disclosure.

FIG. 1depicts a standard phone keypad100. On keypad100, several of the numeric keys have associated therewith multiple letters of the alphabet. For example, the “2” key is associated with letters a, b, and c, while the “9” key is associated with letters w, x, y, and z. Users press the numeric keys to compose text messages.

There are several known techniques for composing text messages using the standard numeric phone keypad. In the multi-tap method, a user presses a key one or more times to choose the correct letter. For example, if a user wishes to type the letter b, the user would press the number 2 key twice. If a user wishes to type the letter y, the user would press the 9 key three times. A predictive text algorithm, such as the T9 algorithm, examines the first few keystrokes of input and presents the user with possible complete words to select from. In some instances, the presented word choices may be based on the user's previous selections.

In accordance with the exemplary aspects of the apparatus and methods described herein, the multi-tap, predictive text, and/or other text entry means may be applied in a touch-screen device. In the touch-screen device, selection may be made, for example, by selecting a key with a finger or other input device such as a stylus. The corners, edges, and center of the display screen are tracked and used to determine the location of the keys. The size of the key may depend on the proximity of the key to an edge or corner.

Various aspects of apparatuses and methods will now be presented. The apparatuses may include any device using a touch-screen. For example, the apparatuses may include a mobile telephone, personal digital assistant (PDA), laptop computer, calculator, and/or any other electronic device which uses a touch-screen. The apparatuses may form part of any wired or wireless communication system. By way of example, a wireless network may employ Code Division Multiple Access (CDMA) technology to implement CDMA 2000, Universal Terrestrial Radio Access (UTRA), Time Division Multiple Access (TDMA) to implement Global System for Mobile Communications (GSM), Orthogonal Frequency Division Multiple Access (OFDMA) to implement Evolved UTRA (E-UTRA), Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, or any other radio technology and/or communications protocol. Apparatuses forming part of a wired communication system may communicated user technology such as, for example, digital subscriber line (DSL), cable, fiber optics, twisted pair, Ethernet, and/or other wired communication methods.

An apparatus will be referred to herein as a “wireless device,” but may also be referred to by those of skill in the art at as handset, subscriber unit, subscriber station, mobile station, mobile subscriber station, mobile unit, mobile radio, radio telephone, wireless modem, remote station, remote terminal, access terminal, user terminal, terminal, wireless communication device, user device, user equipment (UE), or some other terminology. The various concepts described throughout this disclosure are intended to apply to all suitable apparatuses regardless of their specific nomenclature.

FIG. 2depicts an exemplary virtual keypad that may be displayed on a wireless device having a touch-screen. It is noted that this is merely one example of a virtual keypad layout. Other layouts wherein the size of the key depends on its location may also be used. As depicted inFIG. 2, the size of the keys generated depends on their location in reference to the edges or corners of the display. For example, the 1, 3, *, and # keys may be rendered smaller than other keys as their location in a corner can easily be ascertained by touch. Keys that are located on an edge of the device, but not at a corner, may be rendered slightly larger. For example, as depicted inFIG. 2, the 2, 4, 6, 7, 9, and 0 keys are rendered slightly larger. Those keys not located at edges or corners are most difficult to detect by touch. As such, these keys may be rendered larger than all other keys, as depicted by the 5 and 8 keys inFIG. 2. Keypad200may be rendered to overlay the text being typed. As such, the message being typed is still visible while typing. Alternatively, the keypad200may be placed behind the text being displayed as output.

FIG. 3is a conceptual block diagram illustrating an example of a hardware configuration for a wireless device300. In this example, the wireless device300is shown with a user interface assembly310and a transceiver322, although each wireless device300may include any number of transceivers. User interface assembly310may include a touch-screen display312serving as an input/output mechanism, a touch-screen controller314for controlling the operation of the touch-screen display312, and a processing system316. Processing system316may include one or more processors represented generally by processor318and a computer readable medium (e.g., memory)320.

The processing system316may be implemented using software, hardware, or a combination of both. By way of example, the processor318may be implemented with one or more, or any combination of, microprocessors, digital signal processors (DSP), application specific integrated circuits (ASIC), microcontrollers, field programmable gate arrays (FPGA) or other programmable logic, state machines, discrete gates, transistor logic, discrete hardware components, or some other processing entity designed to perform the various functions presented throughout this disclosure. Those skilled in the art will recognize how best to implement the described functionality for the processing system316depending on the particular application and the overall design constraints imposed on the overall system.

Software shall be construed broadly to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Computer readable medium may include, by way of example, RAM (Random Access Memory), flash memory, ROM (Read Only Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), registers, magnetic disks, optical disks, hard drives, or any other suitable storage medium, or any combination thereof. The computer readable may be embodied in a computer product. The computer product may comprise packaging materials.

In the conceptual illustration presented inFIG. 3, the computer readable medium320is shown as part of the processing system316separate from the processor318. However, as those skilled in the art will readily appreciate, the computer readable medium320, or any portion thereof, may be external to the processing system316. By way of example, the computer readable medium318may include a transmission line, a carrier wave modulated by data, and/or a computer product separate from the wireless device300, all which may be accessed by the processor318through an interface (not shown). Alternatively, or in addition to, the computer readable medium320, or any portion thereof, may be integrated into the processor318, such as the case may be with cache and/or general register files.

Transceiver322may provide a transmitting and/or a receiving function. The transmitting function modulates a carrier with data for transmission over the wireless medium and the receiving function demodulates a carrier received over the wireless medium to recover data. Transceiver322may also provide various other functions, such as RF front-end processing, analog/digital conversion, timing and frequency estimation, channel estimation, modulation coding scheme (MCS), etc.

The processor318provides general processing functions, including the execution of software stored on the computer readable medium320. The software includes instructions that when executed by the processor318cause the processing system316to perform the various functions presented throughout this disclosure.

The functions and methods described herein may be implemented by various modules in the wireless device. As used in this disclosure, the term “modules” is intended to refer to either hardware, firmware, a combination of hardware and software, software, or software in execution. By way of example, a module may be a process, an object, an executable, a thread of execution, a program, an application, a routine, a subroutine, a block of code or instructions, or any other software executed by the processor318or by another processing device. In this example, these modules may reside in the computer readable medium320which represents a single storage device, multiple storage devices, or other media. By way of example, a module may be loaded into RAM from a larger storage device prior to execution. During execution, the processor318may load the module, or any portion thereof into cache to increase access speed. One or more cache lines may then be loaded into a general register file for execution by the processor318. When referring to the functionality of a module in software applications, it will be understood that such functionality may be implemented by the processor318when executing the module, or any portion thereof.

Various modules to implement the functionality of a user interface assembly will now be presented with reference toFIG. 4.FIG. 4is a conceptual diagram illustrating an example of a user interface assembly400. User interface assembly400comprises a touch-screen display402which serves as both an input and output portal. To receive input, touch-screen display402may present a virtual keypad wherein multiple letters of the alphabet are associated with at least some of the numeric key. In some implementations, touch-screen display402may also present a full virtual QWERTY keyboard and/or other input mechanisms such as links or icons that can be selected by touch.

The operations of touch-screen display402may be controlled by a touch-screen controller404. Touch-screen controller404may be configured to detect selections and to record the coordinates of each selection. Various techniques may be used to select keys from a keypad. For example, a selection may be registered when a user touches or “presses” a key. Selections may also be made by swiping a finger across the letters to be selected. Swiping and holding a particular key for a predetermined time period may also be used as an input mechanism.

Touch-screen controller404interfaces to a processing system316that comprises a plurality of modules. Processing system316, as described above, may include one or more processors and a computer readable medium. The functions of the plurality of modules may be executed by the process and may reside in the computer readable medium. User interface (UI) layout module412may be configured to generate a virtual keypad and other text/graphics to be displayed by touch-screen display402. According to some exemplary implementations, UI layout module412may be configured to generate a keypad layout such as depicted inFIG. 2, wherein the size of the virtual keys depends on the location of the key with respect to the edges and corners of the display area.

UI layout module412may be configured to determine the size of the display402and render a keypad layout such that the two keys that are not located at an edge or corner of the display are placed in the center of the display and are larger than the remaining keys. For example, the 5 key may be located such that its bottom edge is aligned with the vertical center of the display while the 8 key may be rendered such that its top edge is aligned with the vertical center of the display area. As the center of a handheld device can be estimated easily by touch, a user may be able to locate even those keys not tied to an edge or corner without looking at the keypad.

As the corners of a display area are easier to detect by touch, UI layout module412may render those numbers smaller than all others. Those keys on an edge, but not at a corner, may be rendered larger than those keys at a corner but smaller than those keys in the center. UI layout module412may also be configured to maintain a coordinate map which maps the coordinates of each key.

Key detector414may be configured to receive coordinates of a keypad input selection and to determine the key selected. Key detector414may refer to the mapping maintained by UI layout module412to determine the selected key. According to some aspect, an alert may be generated when a selection is made to alert the user that the input has been received. As such, key detector414may interface with feedback engine416, which generates such alerts. Alerts may be, for example, an audible alert, a vibration, a visual alert such as a blinking key, and/or any other type of alert.

A text algorithm selector418may be configured to set the texting algorithm, for example, to a multi-tap, predictive (e.g., T9), and/or other texting algorithm. The settings may be pre-configured or may be user configurable. Keypad mode selector420may be configured to set the input selection mode. For example, input selections may be made by pressing/tapping a key, swiping across keys, swiping and holding at a particular key for a predetermined time period, and/or other selection means.

Key detector414may be further configured to report the texting algorithm to text engine422, along with the determined key selection(s). Text engine422uses this information to determine the characters and/or words to be displayed. The results may be forwarded back to key detector414to be sent as output to the touch-screen display. Memory430may be provided for storing data used by the remaining elements of mobile device400.

FIG. 5is a high-level flowchart depicting an exemplary method of entering data, in accordance with the techniques disclosed herein. As depicted at502, a virtual keypad may be generated having keys sized based on their location. That is, each key or a group of keys may be sized according to whether it is located near an edge of a touch-screen display, in a corner, or in the center of the display and having no contact with a corner or edge.

As depicted at504, a user selection of a key may be received. As described herein, various techniques for recording a user selection may be used. For example, a user selection may be indicated by pressing/tapping a key, swiping across keys, or swiping and holding at a particular key for a predetermined time period. The selected key may have associated therewith coordinates which may be used to determine the value of the selected key. Thus, as depicted at506, a value of the key may be determined by consulting a key coordinate mapping table.

As depicted at508, the text algorithm in use may be determined. The characters to be output may depend on the text algorithm in use. For example, selection of a particular key one or more times when a multi-tap algorithm is in use may cause a single character to be output. If a predictive text algorithm is used, selecting a particular key may cause one or more probable words to be displayed. The user can then select the desired word. Thus, as depicted at510, one or more characters/words may be displayed based on the value of the selected key and the text algorithm in use.

FIG. 6is a block diagram illustrating an example of the functionality of a wireless device600. In this example, the wireless device600includes a module602for generating a virtual keypad, the virtual keypad comprising a plurality of keys including numeric keys, one or more of the numeric keys having alphabetic characters associated therewith, wherein the size of each of the plurality of keys is dependent at least in part on the location of the key in reference to a corner or edge of a touch-screen display, and a module604for displaying the virtual keypad on the touch-screen display.