The present invention is in the field of methods, systems, devices, and computer program products for keyboard modification to increase typing speed by gesturing next character.
With the advent of smaller, more powerful microprocessors, small form devices such as cellular telephones and tablet computers are used every day for complex tasks that often require a full keyboard to interact with. This has resulted in the miniaturization of both physical keyboards (e.g., smart phones) and virtual keyboards (e.g., touchscreen interfaces). The smaller keyboards are typically accessed with only one finger on each hand (e.g., thumb or index).
An embodiment of the invention provides a method of character recognition wherein user input is received with a sensor proximate to a key. The user input includes movement on a first axis of the key and movement on a second axis of the key. The receiving of the user input also includes determining the amount of pressure of the movement on the second axis of the key, and/or the duration of the movement on the second axis of the key. A processor matches the movement on the first axis of the key with a first character. The processor also matches the movement on the second axis of the key with a second character when the amount of pressure of the movement on the second axis of the key is above a threshold pressure and/or the duration of the movement on the second axis of the key is above a threshold duration. The first character followed by the second character are displayed on a display when the amount of pressure of the movement on the second axis of the key is above the threshold pressure and/or the duration of the movement on the second axis of the key is above the threshold duration.
Another embodiment of the invention receives user input with a touchscreen keyboard, wherein the user input includes contact with a key on the touchscreen keyboard and movement on the key in a select direction. A processor matches the contact with the key with a first character. The processor also matches the movement on the key in the select direction with a second character. The first character followed by the second character is displayed on a display.
The present invention is described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.
Exemplary, non-limiting, embodiments of the present invention are discussed in detail below. While specific configurations are discussed to provide a clear understanding, it should be understood that the disclosed configurations are provided for illustration purposes only. A person of ordinary skill in the art will recognize that other configurations may be used without departing from the spirit and scope of the invention.
At least one embodiment of the invention facilitates the input of two characters with one key press. This takes advantage of how well suited thumbs are to press and tilt in one movement. In at least one embodiment, each consonant on the keyboard is combined with one or more vowels, wherein the vowel is selected by tilting a key as the key is pressed.
The process of character entry does not require the memorization of a new keyboard. Moreover, the process is backward compatible and does not change the typing rhythm. In other words, the total number of keys on the keyboard does not have to be reduced when compared to the number of keys on a standard keyboard. For instance, in the example illustrated in
The process reduces the number of key taps. For example, to enter the word “PATENT”, 6 key taps are needed on a conventional keyboard. In the methods and devices described herein, only 4 key taps can be used to enter the word “patent”, i.e., the “P”, “T”, “N”, and “T” consonant keys. In another embodiment, only 3 key taps are used to enter the word “PATENT”, i.e., pressure on the “P” key along 2 axes, pressure on the “T” key along 2 axes, pressure on the “N” key along 2 axes. In yet another embodiment, only 1 key tap is used to enter the word “PATENT”, i.e., pressure on the “P” key in a downward direction followed by pressure along five other axes on the “P” key.
The process of character entry can be implemented on both a physical keyboard (e.g., smart phone) as well as a virtual keyboard (touchscreen). In at least one embodiment of the invention, a physical keyboard includes sensors to capture pressure changes in the X-Y plane.
At least one embodiment of the invention defines character mapping that determines for each key the number of different directions to be tracked (e.g., along the X-Y plane) and the corresponding letter(s) that will be added when each direction is triggered. The character mapping also includes the minimum amount of pressure and/or duration of pressure (for physical keyboards) or distance swiped (for virtual keyboards) needed to trigger a direction. After each key tap/press, a keyboard driver can measure the X tilt and/or Y tilt in the key as the key is depressed. If the tilt is higher than a first constant for a specific direction, and/or the tilt lasts longer than a second constant, then the keyboard driver can simulate (insert) the character defined by the character mapping. In at least one embodiment, the only software change is in the keyboard driver, wherein the keyboard driver simulates the effect of the user pressing two keys when appropriate; and as such, all applications are compatible without the need to recode.
As used herein, the term “connected” includes operationally connected, logically connected, in communication with, physically connected, engaged, coupled, contacts, linked, affixed, and attached. Moreover, the term “keyboard” as used herein includes physical keyboards, such as QWERTY keyboards connected to a desktop computer or on a laptop computer; keypads, such as those connected to a telephone; and virtual keyboards, such as those on the touchscreen displays of some tablet computers and smartphones.
In at least one embodiment of the invention, the user input includes movement on a first axis of the key and movement on a second axis (also referred to herein as the “at least one additional axis”) of the key. For example, the movement on the first axis is a downward movement (generally perpendicular to the upper surface of the key and/or keyboard); and, the movement on the second axis is a movement forward, backward, to the left, and/or to the right of the center of the key. The embodiment illustrated in
In at least one embodiment of the invention, the key represents a consonant character on a keyboard, and the movement along at least one additional axis of the key represents a vowel character. In another embodiment, the key is on a touchscreen keyboard, wherein the user input is a contact movement on the key and a swipe movement over or from the key. For example, the user can touch a key with his finger and move his finger in a direction along the touchscreen without lifting his finger.
A processor matches the movement on the first axis of the key with a first character in a memory device 320, and matches the movement along at least one additional axis of the key with a second character in the memory device 330. In at least one embodiment, the processor is a hardware device connected to the sensor and the memory device. The memory device is a hardware storage device (e.g., RAM) that includes a plurality of characters, where each of the characters corresponds to a key on the keyboard and a movement on the key (e.g., downward movement on the first axis, forward movement on the second axis). For instance, in the example illustrated in
The processor is further connected to a display (e.g., touchscreen device, computer monitor, cell phone screen, e-reader screen), which displays the first character followed by the second character 340. Thus, the user input results in the display of two characters with the strike (actuation, contact, depression, swipe, movement) of one key.
A processor matches the movement on the first axis of the key with a first character 420, and matches the movement on the second axis of the key with a second character 430. In at least one embodiment of the invention, the movement on the second axis of the key is matched with the second character only when the amount of pressure of the movement on the second axis of the key is above a threshold pressure (e.g., 0.09 PSI) and/or the duration of the movement on the second axis of the key is above a threshold duration (e.g., 0.50 seconds) and/or the distance of the movement (e.g. 25 pixels).
To match the movement on the second axis of the key with the second character, the processor can query a database of key movements, wherein each of the key movements correspond to a character. In at least one embodiment, the key represents a consonant character on a keyboard; and, the movement on the second axis of the key represents a vowel character.
The processor is further connected to a display (e.g., touchscreen device, computer monitor, cell phone screen, e-reader screen), which displays the first character followed by the second character 440. Thus, the user input can result in the display of two characters with the activation of one key. In at least one embodiment, the second character is only displayed when the amount of pressure of the movement on the second axis of the key is above the threshold pressure and/or the duration of the movement on the second axis of the key is above the threshold duration.
In at least one embodiment of the invention, the processor queries a database of key movements, wherein each of the key movements correspond to a character. For instance, in the example illustrated in
The processor is further connected to a display, which displays the first character followed by the second character 540. Thus, the user input results in the display of two characters with contact of a single key.
In at least one embodiment, each key includes a cap 210 positioned over a sensor 220, wherein a controller 230 is positioned between the cap 210 and the sensor 220. Thus, in a closed position, the controller 230 is connected to both the cap 210 and the sensor 230 (
One or more of the sensors 620 are proximate to the key 610, wherein the sensors can include pressure-sensitive sensor(s) and/or an optical sensor(s). The sensor 620 identifies movement of the key 610 along the first axis (e.g., a downward depression). Moreover, the sensor 620 measures the amount of pressure of the movement of the key 610 along the second axis (0.2 PSI) and/or the duration of the movement of the key along the second axis (e.g., 0.9 seconds).
The processor 630 is connected to the sensor 620, wherein the processor 630 matches the movement of the key along the first axis with a first character. For example, as illustrated in
For example, as illustrated in
The display 640 is connected to the processor 630, the display 640 displays the first character followed by the second character when the amount of pressure of the movement of the key along the second axis is above a threshold pressure and/or when the duration of the movement of the key along the second axis is above a threshold duration.
The processor 730 is connected to the sensor(s) 720, wherein the processor 730 matches the contact on the key with a first character and the movement on the key in the select direction with a second character. For instance, in the example above, the processor 730 matches the contact of the “B” key on the touchscreen keyboard 710 with the character “B”, and the diagonal movement backward and right on the “B” key with the character “O”.
The display 740 is connected to the processor 730, wherein the display 740 displays the first character followed by the second character. The character input device 700 can also include a database of movements on the key 750, wherein each of the movements on the key corresponds to a character. In at least one embodiment, keys on the touchscreen keyboard 710 represent consonant characters, and movements on the keys in select directions represent vowel characters.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Referring now to
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the root terms “include” and/or “have”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of at least one other feature, integer, step, operation, element, component, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means plus function elements in the claims below are intended to include any structure, or material, for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.