US20200393914A1 - Fluid Chord/Character Entry - Google Patents
Fluid Chord/Character Entry Download PDFInfo
- Publication number
- US20200393914A1 US20200393914A1 US16/901,836 US202016901836A US2020393914A1 US 20200393914 A1 US20200393914 A1 US 20200393914A1 US 202016901836 A US202016901836 A US 202016901836A US 2020393914 A1 US2020393914 A1 US 2020393914A1
- Authority
- US
- United States
- Prior art keywords
- data entry
- entry
- movement
- key
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
- G06F3/0219—Special purpose keyboards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
- G06F3/0216—Arrangements for ergonomically adjusting the disposition of keys of a keyboard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0235—Character input methods using chord techniques
Definitions
- Typewriters partially resolve that issue.
- the first typewriter was developed in the late 16th century. Since that time, typewriters, and subsequently keyboards, have improved dramatically.
- Even professional typing still lags far behind speaking, speech comprehension, and written comprehension speeds.
- a data entry system comprises: a processor configured to: receive a first data entry, make a first determination whether the first data entry is a first character entry or a first chorded entry, select a first output based on the first determination, and transmit the first output.
- the processor may be further configured to: receive, after transmitting the first output, a second data entry; make a second determination whether the second data entry is a second character entry or a second chorded entry; select a second output based on the second determination; and transmit the second output.
- the first data entry may be the first character entry, and the second data entry may be the second chorded entry.
- the first data entry may be the first chorded entry, and the second data entry may be the second character entry.
- the first data entry may be the first character entry, and the second data entry may be the second character entry.
- the first data entry may be the first chorded entry, and the second data entry may be the second chorded entry.
- the data entry system may further comprise: a data entry device comprising the processor; and an external device comprising a display configured to display the first output.
- the processor may be further configured to further receive the first data entry by: detecting a movement of a key; making a second determination whether the movement is an up movement, a down movement, a left movement, a right movement, or a depression; and selecting the first data entry based on the second determination, wherein the first data entry is a text entry.
- a computer program product comprises computer-executable instructions for storage on a non-transitory computer-readable medium and that, when executed by a processor, cause a data entry system to: receive a first data entry; make a first determination whether the first data entry is a first character entry or a first chorded entry; select a first output based on the first determination; and transmit the first output.
- the instructions may further cause the data entry system to: receive, after transmitting the first output, a second data entry; make a second determination whether the second data entry is a second character entry or a second chorded entry; select a second output based on the second determination; and transmit the second output.
- the first data entry may be the first character entry, and the second data entry may be the second chorded entry.
- the first data entry may be the first chorded entry, and the second data entry may be the second character entry.
- the first data entry may be the first character entry, and the second data entry may be the second character entry.
- the first data entry may be the first chorded entry, and the second data entry may be the second chord entry.
- the instructions may further cause the data entry system to display the first output.
- the instructions may further cause the data entry system to further receive the first data entry by: detecting a movement of a key; making a second determination whether the movement is an up movement, a down movement, a left movement, a right movement, or a depression; and selecting the first data entry based on the second determination, wherein the first data entry is a text entry.
- a data entry device comprises: a left-hand device comprising: a first key configured to provide dedicated data entry for a left-hand thumb, a second key configured to provide dedicated data entry for a first left-hand finger, a third key configured to provide dedicated data entry for a second left-hand finger, a fourth key configured to provide dedicated data entry for a third left-hand finger, and a fifth key configured to provide dedicated data entry for a fourth left-hand finger; and a right-hand device comprising: a sixth key configured to provide dedicated data entry for a right-hand thumb, a seventh key configured to provide dedicated data entry for a first right-hand finger, an eighth key configured to provide dedicated data entry for a second right-hand finger, a ninth key configured to provide dedicated data entry for a third right-hand finger, and a tenth key configured to provide dedicated data entry for a fourth right-hand finger, wherein the left-hand device and the right-hand device are configured to work together to receive data entries and transmit outputs based on the data entries
- the data entries may be any combination of character entries and chorded entries.
- the data entry device may further comprise a processor configured to: detect a movement of a key, wherein the key is one of the first key, the second key, the third key, the fourth key, the fifth key, the sixth key, the seventh key, the eighth key, the ninth key, and the tenth key; make a determination whether the movement is an up movement, a down movement, a left movement, a right movement, or a depression; and select a data entry based on the determination, wherein the data entry is a text entry.
- the up movement and the down movement may be in a first dimension
- the left movement and the right movement may be in a second dimension
- the depression may be in a third dimension.
- FIG. 1 is a schematic diagram of a data entry system.
- FIG. 2 is a schematic diagram of a data entry device according to an embodiment.
- FIG. 3 is a schematic diagram of an apparatus.
- FIG. 4 is a flowchart illustrating a method of fluid chord/character entry according to an embodiment.
- FIGS. 5A-5B are flowcharts illustrating a method of fluid chord/character entry according to another embodiment.
- FIG. 6 is a schematic diagram of a data entry device according to another embodiment.
- FIGS. 7A-7B are schematic diagrams of a key system according to an embodiment of the disclosure.
- FIG. 8A is a diagram of a default key mapping according to an embodiment of the disclosure.
- FIG. 8B is a diagram of a “#shift” key mapping according to an embodiment of the disclosure.
- FIG. 9 is a diagram of a default key mapping according to another embodiment of the disclosure.
- FIG. 10 is a flowchart illustrating a method of 3D data entry according to an embodiment of the disclosure.
- ASIC application-specific integrated circuit
- caps caps lock
- CPU central processing unit
- DSP digital signal processor
- FPGA field-programmable gate array
- RAM random-access memory
- ROM read-only memory
- TCAM ternary content-addressable memory
- USB Universal Serial Bus
- chorded keyboards including stenotypes, perform chorded entry in which a user simultaneously depresses keys to enter chords such as syllables, words, or phrases.
- No key corresponds to a single syllable, word, or phrase, much less a single character; rather, a combination of keys corresponds to a combination of characters forming a syllable, word, or phrase.
- a user may type the word “cat” by simultaneously depressing a first key corresponding to both “t” sounds and “k” sounds, a second key corresponding to “a,” and a third key corresponding to both “t” sounds and “s” sounds.
- Stenotypes provide quicker data entry compared to traditional typewriters. While a professional typist types about 75 WPM, a professional stenographer types about 180-225 WPM. However, 180-225 WPM still lags the average comprehension of about 275 spoken WPM and about 250 written WPM.
- keyboards and stenotypes perform character entry, but not chorded entry.
- stenotypes perform chorded entry, but not character entry.
- both keyboards and stenotypes perform traditional data entry, which is unable to alternate between character entry and chorded entry.
- keyboards and stenotypes have key layouts that are not ergonomic and are thus less efficient.
- keyboards and stenotypes have 1D keys that allow a user to depress the keys in one direction to make a single data entry, but do not allow the user to move the keys in other directions to make different data entries.
- a data entry device performs fluid chord/character entry, which is able to distinguish and alternate between chorded entry and character entry.
- the data entry device may comprise dedicated keys for each finger and thumb so that a user can enter data with comfort and the ability to maintain digital contact.
- the data entry device comprises multi-dimensional keys, which can move in two or more directions to provide two or more different data entries. With those features, the data entry device allows a user to type over 300 WPM, in other words, to Type at the Speed of ThoughtTM.
- the data entry device provides ambidextrous throwover and mouse functionality.
- the data entry device benefits stenographers, digital artists, CAD modelers, gamers, disabled people, and the general population in their everyday lives.
- FIG. 1 is a schematic diagram of a data entry system 100 .
- the data entry system 100 comprises a data entry device 110 and an external device 120 .
- the data entry device 110 may be referred to as a CharaChorderTM.
- the external device 120 may be a mobile phone, tablet computer, notebook computer, or desktop computer.
- the data entry device 110 and the external device 120 communicate data between each other. For instance, the data entry device 110 communicates data entries such as text entries to external device 120 for display on the external device 120 , or the data entry device 110 functions as a mouse to control a cursor displaying on the external device 120 .
- FIG. 2 is a schematic diagram of a data entry device 200 according to an embodiment.
- the data entry device 200 may implement the data entry device 110 .
- the data entry device 200 comprises a casing 210 , 18 keys 220 , 2 cords 230 , and a communications bus 240 .
- the data entry device 200 has an ergonomic design that follows the contours of human hands, thus providing comfort for a user.
- the data entry device 200 is smaller than a typical keyboard or stenotype, thus providing better portability.
- the casing 210 may comprise plastic, metal, wood, a polymer, a composite material, or another suitable material.
- the casing 210 is a single piece formed from a mold or is multiple such pieces bonded together to form the single piece.
- the casing 210 provides support for the keys 220 , the cords 230 , and the communications bus 240 .
- the keys 220 may also be referred to as switches. Though there are 18 keys 220 in the layout shown, the data entry device 200 may comprise 10 keys, 12 keys, 14 keys, or any other suitable number of keys 220 in any suitable layout. Each of the keys 220 may be associated with both characters and chords. The keys 220 are described further below.
- the cords 230 communicate data to and from the communications bus 240 .
- the communications bus 240 may be a USB 1.0, USB 2.0, USB 3.x, or USB4 bus.
- the communications bus 240 communicates data to and from an external device such as the external device 120 .
- FIG. 3 is a schematic diagram of an apparatus 300 .
- the apparatus 300 may implement the disclosed embodiments, for instance the data entry devices 110 , 200 .
- the apparatus 300 comprises ingress ports 310 and an RX 320 to receive data; a processor 330 or logic unit, baseband unit, or CPU to process the data; a TX 340 and egress ports 350 to transmit the data; and a memory 360 to store the data.
- the apparatus 300 may also comprise communications buses such as the communications bus 240 or comprise OE components, EO components, or RF components coupled to the ingress ports 310 , the RX 320 , the TX 340 , and the egress ports 350 to provide ingress or egress of optical signals, electrical signals, or RF signals.
- the processor 330 is any combination of hardware, middleware, firmware, or software.
- the processor 330 comprises any combination of one or more CPU chips, cores, FPGAs, ASICs, or DSPs.
- the processor 330 communicates with the ingress ports 310 , the RX 320 , the TX 340 , the egress ports 350 , and the memory 360 .
- the processor 330 comprises a fluid chord/character entry component 370 , which implements the disclosed embodiments. The inclusion of the fluid chord/character entry component 370 therefore provides a substantial improvement to the functionality of the apparatus 300 and effects a transformation of the apparatus 300 to a different state.
- the memory 360 stores the fluid chord/character entry component 370 as instructions, and the processor 330 executes those instructions.
- the processor 330 further comprises a library 380 .
- the library 380 maps data entries to characters and chords.
- the processor 330 may comprise multiple processors, or microcontrollers.
- the processor 330 comprises a first microcontroller that receives data entries from the keys 220 on the left side of the data entry device 200 , a second microcontroller that receives data entries from the keys 220 on the right side of the data entry device 200 , and a third microcontroller that combines the data entries from the first microcontroller and the second microcontroller and processes that data to create an output for the external device 120 .
- the output may be in ASCII format.
- the memory 360 comprises any combination of disks, tape drives, or solid-state drives.
- the apparatus 300 may use the memory 360 as an over-flow data storage device to store programs when the apparatus 300 selects those programs for execution and to store instructions and data that the apparatus 300 reads during execution of those programs, for instance as a computer program product.
- the memory 360 may be volatile or non-volatile and may be any combination of ROM, RAM, TCAM, or SRAM.
- a computer program product may comprise computer-executable instructions stored on the memory 360 that, when executed by the processor 330 , cause the apparatus 300 to perform any of the embodiments.
- the components of the apparatus 300 may be in different devices.
- the fluid chord/character entry component 370 is in a first device, and the library 380 is in a second device.
- the processor 330 is in a first device, and the memory 360 is in a second device.
- FIG. 4 is a flowchart illustrating a method 400 of fluid chord/character entry according to an embodiment.
- the data entry devices 110 , 200 and the external device 120 perform the method 400 .
- a first data entry is received. For instance, a user activates one or more of the keys 220 by pushing the keys 220 up, right, down, or left or by depressing the keys 220 .
- the processor 330 receives a first data entry in response to that activation.
- the first data entry represents all activations of the keys 220 at a first time. The activations may be required to occur within a threshold amount of time.
- a first determination whether the first data entry is a first character entry or a first chorded entry is made. For instance, the fluid chord/character entry component 370 determines that the first data entry is a first character entry when it receives the first data entry from only one of the keys 220 . Alternatively, the fluid chord/character entry component 370 determines that the first data entry is a first chorded entry when it receives the first data entry from at least two of the keys 220 .
- a first output is selected based on the first determination. For instance, the fluid chord/character entry component 370 queries the library 380 to determine a first character corresponding to the first character entry. Alternatively, the fluid chord/character entry component 370 queries the library 380 to determine a first chord corresponding to the first chorded entry. The fluid chord/character entry component 370 then selects either the first character or the first chord as the first output. The fluid chord/character entry component 370 may perform step 415 independent of user selection.
- the first output is transmitted.
- the fluid chord/character entry component 370 transmits the first output to the external device 120 .
- the first output is displayed.
- the external device 120 displays the first output on a screen of the external device 120 .
- a second data entry is received after the first output is transmitted.
- the second data entry may also be received while or after the first output is displayed.
- a user activates one or more of the keys 220 by pushing the keys 220 up, right, down, or left or by depressing the keys 220 .
- the processor 330 receives a second data entry in response to that activation.
- the second data entry represents all activations of the keys 220 at a second time. The activations may be required to occur within a threshold amount of time.
- a second determination whether the second data entry is a second character entry or a second chorded entry is made. For instance, the fluid chord/character entry component 370 determines that the second data entry is a second character entry when it receives the second data entry from only one of the keys 220 . Alternatively, the fluid chord/character entry component 370 determines that the second data entry is a second chorded entry when it receives the second data entry from at least two of the keys 220 .
- a second output is selected based on the second determination. For instance, the fluid chord/character entry component 370 queries the library 380 to determine a second character corresponding to the second character entry. Alternatively, the fluid chord/character entry component 370 queries the library 380 to determine a second chord corresponding to the second chorded entry. The fluid chord/character entry component 370 then selects either the second character or the second chord as the first output. The fluid chord/character entry component 370 may perform step 440 independent of user selection.
- the second output is transmitted.
- the fluid chord/character entry component 370 transmits the second output to the external device 120 .
- the second output is displayed.
- the external device 120 displays the second output on the screen of the external device 120 .
- the first data entry is the first character entry and the second data entry is the second chorded entry.
- the first data entry is the first chorded entry and the second data entry is the second character entry.
- the data entry devices 110 , 200 may perform fluid chord/character entry.
- the data entry devices 110 , 200 may perform the method 400 continuously and thus continue to alternate between character entry and chorded entry.
- the first data entry is the first character entry and the second data entry is the second character entry.
- the first data entry is the first chorded entry and the second data entry is the second chorded entry.
- the data entry devices 110 , 200 may also perform traditional character entry, though the data entry devices 110 , 200 do so by first making a determination to perform character entry or chorded entry.
- the first character entry and the second character entry are any letters of an alphabet, for instance the Latin alphabet, while the first chorded entry and the second chorded entry are any syllables, words, or phrases containing letters of the alphabet.
- the first data entry or the second data entry is a command that may not be displayed.
- the first data entry or the second data entry is a cursor movement that may be displayed.
- FIGS. 5A-5B are flowcharts illustrating a method 500 of fluid chord/character entry according to another embodiment.
- the data entry devices 110 , 200 perform the method 500 .
- the fluid chord/character entry component 370 determines whether a key 220 has been activated or deactivated. A user deactivates a key 220 by releasing a push or a depression. If the answer to decision 503 is yes, then the method 500 proceeds to decision 505 . If the answer to decision 503 is no, then the method 500 returns to decision 503 .
- spurring modifies recognition of chords during fluid chord/character entry. Specifically, to output a chord without spurring active, the user activates two or more keys 220 within a first threshold time and then deactivates those same keys 220 within a second threshold time. Fluid chord/character entry without spurring may result in false chords if the user types too fast. In contrast, to output a chord with spurring active, the user activates two or more keys 220 within a third threshold time and then may deactivate only one of those keys 220 .
- the first threshold time, the second threshold time, and the third threshold time may be the same or different. If the answer to decision 505 is no, then the method 500 proceeds to decision 507 . If the answer to decision 505 is yes, then the method 500 proceeds to decision 540 in FIG. 5B .
- a number of current keys activated is greater than a number of last keys activated. For instance, if a user activates a first key 220 and maintains that activation while activating a second key 220 , then the answer to decision 507 is yes. If a user activates the first key 220 , then deactivates the first key 220 , and then activates the second key 220 , then the answer to decision 507 is no. If the answer to decision 507 is yes, then the method 500 proceeds to step 510 . If the answer to decision 507 is no, then the method 500 proceeds to decision 520 .
- a character is outputted.
- the fluid chord/character entry component 370 transmits the character to the external device 120 , and the external device 120 displays the character on the screen of the external device 120 .
- a time from a last key activation is greater than a threshold.
- the fluid chord/character entry component 370 determines whether a time from a last key 220 activation to the state change at decision 503 is less than a threshold.
- the threshold may be about 18 ms.
- step 515 If the answer to decision 513 is no, then the method 500 proceeds to step 515 . If the answer to decision 513 is yes, then the method proceeds to step 517 .
- null is outputted and the method 500 returns to decision 503 .
- a temporary chord output is selected and activated, and the method 500 returns to decision 503 .
- the fluid chord/character entry component 370 transmits the chord to the external device 120 , and the external device 120 displays the chord on the screen of the external device 120 .
- a chord it is determined whether a chord is activated. For instance, the fluid chord/character entry component 370 determines whether two or more keys 220 are activated. If the answer to decision 520 is no, then the method 500 proceeds to step 523 . If the answer to decision 520 is yes, then the method 500 proceeds to decision 525 .
- null is outputted and the method 500 returns to decision 503 .
- a release speed is less than a threshold. For instance, the fluid chord/character entry component 370 determines whether a release speed of the current key 220 being activated is less than a threshold. The threshold may be about 18 ms. If the answer to decision 525 is no, then the method 500 proceeds to step 527 . If the answer to decision 525 is yes, then the method 500 proceeds to step 530 .
- null is outputted and the method 500 returns to decision 503 .
- a context is applied.
- the fluid chord/character entry component 370 may select one chord in one context or a different chord in a different context.
- the context may include surrounding text.
- the word “knowledge” can be chorded in a single data entry, or stroke, it can also be chorded in two strokes by following the chord “know” with the chord “ledge.”
- the fluid chord/character entry component 370 automatically selects “knowledge” because the fluid chord/character entry component 370 knows that the chords “know” and “ledge” should form “knowledge.” Suffixes, prefixes, and other chord modifiers are also applied at this stage.
- characters are replaced with a final chord. For instance, if the fluid chord/character entry component 370 previously outputted characters and then selects a final chord, then the fluid chord/character entry component 370 replaces those characters with the final chord.
- step 535 the final chord is baked and the method 500 returns to decision 503 .
- Baking is the process of freezing and recording a result of a computing process.
- a number of current keys activated is greater than a number of last keys activated. For instance, a user may first activate a first key 220 , maintain activation of the first key 220 , and then activate a second key 220 . If the answer to decision 540 is yes, then the method 500 proceeds to step 543 . If the answer to decision 540 is not, then the method 500 proceeds to step 545 .
- a current chord is erased.
- the fluid chord/character entry component 370 instructs the display of the external device 120 to remove a current chord.
- Step 547 a context is applied. Step 547 is similar to step 530 .
- a current chord is replaced with a final chord and the method 500 returns to decision 503 . For instance, if the fluid chord/character entry component 370 previously outputted a temporary chord and then selects a final chord, then the fluid chord/character entry component 370 replaces that temporary chord with the final chord.
- a final chord is baked and the method 500 returns to decision 503 .
- the fluid chord/character entry component 370 stores a value so that the user can backspace entire words or sentences with future chords.
- FIG. 6 is a schematic diagram of a data entry device 600 according to another embodiment of the disclosure.
- the data entry device 600 is similar to the data entry device 200 .
- the data entry device 600 comprises 2 casings 620 , 650 , which are similar to the casing 210 , and 18 keys 630 , 660 , which are similar to the keys 220 .
- the data entry device 600 communicates data to and from an external device.
- the casings 620 , 650 are two pieces.
- the casing 620 is part of a left-hand device 610
- the casing 650 is part of a right-hand device 640 . Having both the left-hand device 610 and the right-hand device 640 provides improved comfort and portability.
- the casing 620 may contour to the shape of a left hand
- the casing 650 may contour to the shape of a right hand.
- Each of the left-hand device 610 and the right-hand device 640 receives data entries and transmits outputs based on those data entries as described above.
- the left-hand device 610 and the right-hand device 640 work together to receive data entries and transmit outputs based on those data entries as described above.
- the data entries may be any combination of character entries and chorded entries.
- the character entries may be any character entries such as letters, including both vowels and consonants.
- the chorded entries may be any chorded entries such as syllables, words, phrases, macros, or sequences. In a first example, simultaneous activation of a first key 630 in the left-hand device 610 and a second key 660 in the right-hand device 640 results in a chorded entry.
- simultaneous activation of a first key 630 and a second key 630 in the left-hand device 610 results in a chorded entry.
- sequential activation of a first key 630 in the left-hand device 610 and a second key 660 in the right-hand device 640 results in a first character entry and a second character entry.
- a dedicated key 630 , 660 for each finger and thumb of the user.
- a first key 630 provides dedicated data entry for a left-hand thumb
- a second key 630 provides dedicated data entry for a first left-hand finger
- a third key 630 provides dedicated data entry for a second left-hand finger
- a fourth key 630 provides dedicated data entry for a third left-hand finger
- a fifth key 630 provides dedicated data entry for a fourth left-hand finger
- a sixth key 660 provides dedicated data entry for a right-hand thumb
- a seventh key 660 provides dedicated data entry for a first right-hand finger
- an eighth key 660 provides dedicated data entry for a second right-hand finger
- a ninth key 660 provides dedicated data entry for a third right-hand finger
- a tenth key 660 provides dedicated data entry for a fourth right-hand finger.
- the user need not break contact with the keys 630 , 660 in order to continue entering data.
- Thumbs have significant dexterity, particularly when compared to fingers, yet are used only for the spacebar in traditional keyboards.
- the keys 630 , 660 dedicated to the thumbs are the same as the keys 630 , 660 dedicated to the fingers.
- the thumbs are not limited to a single data entry like the spacebar, but may instead enter as much data as the fingers.
- the remaining keys 630 , 660 that are not dedicated to fingers or thumbs may output alternative data entries. Those data entries may be lesser-used data entries.
- the keys 630 , 660 dedicated to the fingers and thumbs output data entries such as letters and other operations found on a traditional keyboard, while the remaining keys 630 , 660 output other data entries or mouse control.
- the data entry device 600 may not comprise the cords 230 and the communications bus 240 . Instead, the data entry device 600 wirelessly communicates with an external device using Bluetooth or another technique.
- FIGS. 7A-7B are schematic diagrams of a key system 700 according to an embodiment of the disclosure.
- the data entry devices 110 , 200 , 600 comprise the key system 700 to implement the keys 220 , 630 , 660 for data entry, including text entry.
- FIG. 7A is a side view of the key system 700 .
- FIG. 7A shows that the key system 700 comprises a base 710 , a stem 720 , a key 730 , and 3 bottom contacts 740 in the base 710 .
- the base 710 secures the stem 720 and allows freedom of movement for the stem 720 .
- the stem 720 secures the key 730 .
- the stem 720 physically touches the bottom contacts 740 to activate the bottom contacts 740 and output a data entry.
- the stem 720 and the key 730 move in multiple directions, including to the left of the page, to the back of the page, to the right of the page, to the front of the page, and to the bottom of the page. Movement to the left of the page corresponds to a left movement, movement to the back of the page corresponds to a top movement, movement to the right of the page corresponds to a right movement, movement to the front of the page corresponds to a down movement, and movement to the bottom of the page corresponds to a depression. Movement to the left of the page and the right of the page is in a first dimension, movement to the back of the page and the front of the page is in a second dimension, and movement to the bottom of the page is in a third dimension.
- the key 730 is 3D and provides 1D, 2D, and 3D data entry. Though five directions are described, the key 730 may move in more directions, for instance 8 directions, to provide additional alternative data entries.
- FIG. 7B is a top view of the key system 700 .
- FIG. 7B shows the base 710 and the key 730 .
- FIG. 7B does not show the bottom contacts 740 .
- FIG. 7B shows 8 side contacts 750 .
- the stem 720 physically touches the side contacts 750 on the left side of the page to activate those side contacts 750 and output a data entry.
- the stem 720 physically touches the side contacts 750 on the top of the page to activate those side contacts 750 and output a data entry.
- the stem 720 physically touches the side contacts 750 on the right side of the page to activate those side contacts 750 and output a data entry.
- the stem 720 physically touches the side contacts 750 on the bottom of the page to activate those side contacts 750 and output a data entry.
- the library 380 may comprise default key mappings.
- a user may modify the library 380 to comprise custom key mappings.
- the user may modify the library 380 to comprise custom macros, hotkeys, or hot words, which may function while only specific software is running. The number of possible data entries is essentially limitless.
- FIG. 8A is a diagram of a default key mapping 800 according to an embodiment of the disclosure.
- the default key mapping 800 shows data entries for 18 keys 805 , 810 , 815 , 820 , 825 , 830 , 835 , 840 , 845 , 850 , 855 , 860 , 865 , 870 , 875 , 880 , 885 , 890 .
- the layout of the keys 805 - 890 is similar to the layout of the keys 220 , 630 , 660 . Each of the keys 805 - 890 corresponds to 4 or 5 data entries.
- the keys 805 - 830 are oriented about 0° with respect to the top of the page, so the keys 805 - 830 output data entries located above the keys 805 - 890 in response to up movements; data entries below the keys 805 - 890 in response to down movements; data entries to the left of the keys 805 - 890 in response to left movements; data entries to the right of the keys 805 - 890 in response to right movements; and, if present, data entries on the keys 805 - 890 in response to depressions.
- the key 805 outputs an “alt” data entry in response to an up movement, a “mirror shift” data entry in response to a down movement, a “#shift” data entry in response to a left movement, and a “shift” data entry in response to a right movement.
- the “#shift” data entry shifts the keys 220 , 630 , 660 to a “#shift” key mapping in FIG. 8B .
- the key 810 outputs a “ctrl” data entry in response to an up movement, a “u” data entry in response to a down movement, a “,” data entry in response to a left movement, and a “prev character” data entry in response to a right movement.
- the key 815 outputs a “scroll up” data entry in response to an up movement, a “scroll down” data entry in response to a down movement, a “ ⁇ ” data entry in response to a left movement, and a “I” data entry in response to a right movement.
- the key 820 outputs a “del” data entry in response to an up movement, an “o” data entry in response to a down movement, a “.” data entry in response to a left movement, an “i” data entry in response to a right movement, and a “close window” data entry in response to a depression.
- the key 825 outputs a “ ⁇ ” data entry in response to an up movement, a “ ⁇ ” data entry in response to a down movement, a “ ⁇ ” data entry in response to a left movement, and a “ ⁇ ” data entry in response to a right movement.
- the key 830 outputs a “ ⁇ ” data entry in response to an up movement, an “e” data entry in response to a down movement, a “ ” data entry in response to a left movement, an “r” data entry in response to a right movement, and a “click” data entry in response to a depression.
- the “ ⁇ ” data entry corresponds to a backspace operation.
- the data “ ” entry corresponds to a spacebar operation.
- the keys 835 - 845 are oriented about 45° counterclockwise with respect to the top of the page, so the keys 835 - 845 output data entries located at about 315° in response to up movements; data entries located at about 135° in response to down movements; data entries located at about 225° in response to left movements; data entries located at about 45° in response to right movements; and, if present, data entries on the keys 835 - 845 in response to depressions.
- the key 835 outputs a “win” data entry in response to an up movement, an “RC” data entry in response to a down movement, an “esc” data entry in response to a left movement, and a “-” data entry in response to a right movement.
- the “win” data entry opens a start menu in a computer operating a Windows operating system.
- the key 840 outputs a “g” data entry in response to an up movement, a “w” data entry in response to a down movement, a “z” data entry in response to a left movement, and a “v” data entry in response to a right movement.
- the key 845 outputs an “m” data entry in response to an up movement, a “k” data entry in response to a down movement, a “c” data entry in response to a left movement, a “′” data entry in response to a right movement, and a “middle click” data entry in response to a depression.
- the keys 850 - 875 are oriented about 0° with respect to the top of the page, so the keys 850 - 875 output data entries located above the keys 850 - 875 in response to up movements; data entries below the keys 850 - 875 in response to down movements; data entries to the left of the keys 850 - 875 in response to left movements; data entries to the right of the keys 850 - 875 in response to right movements; and, if present, data entries on the keys 850 - 875 in response to depressions.
- the key 850 outputs an “enter” data entry in response to an up movement, a “t” data entry in response to a down movement, an “a” data entry in response to a left movement, and a “ ” data entry in response to a right movement.
- the key 855 outputs a “ ⁇ ” data entry in response to an up movement, a “ ⁇ ” data entry in response to a down movement, a “ ⁇ ” data entry in response to a left movement, and a “ ⁇ ” data entry in response to a right movement.
- the key 860 outputs a “tab” data entry in response to an up movement, an “n” data entry in response to a down movement, an “l” data entry in response to a left movement, and a “?” data entry in response to a right movement.
- the key 870 outputs a “ctrl” data entry in response to an up movement, an “s” data entry in response to a down movement, a “y” data entry in response to a left movement, and a “;” data entry in response to a right movement.
- the key 875 outputs an “alt” data entry in response to an up movement, a “mirror shift” data entry in response to a down movement, a “shift” data entry in response to a left movement, and a “#shift” data entry in response to a right movement.
- the keys 880 - 890 are oriented about 45° clockwise with respect to the top of the page, so the keys 880 - 890 output data entries located at about 45° in response to up movements; data entries located at about 225° in response to down movements; data entries located at about 315° in response to left movements; data entries located at about 135° in response to right movements; and, if present, data entries on the keys 880 - 890 in response to depressions.
- the key 880 outputs an “h” data entry in response to an up movement, a “j” data entry in response to a down movement, a “p” data entry in response to a left movement, and a “d” data entry in response to a right movement.
- the key 885 outputs an “f” data entry in response to an up movement, a “b” data entry in response to a down movement, an “x” data entry in response to a left movement, and a “q” data entry in response to a right movement.
- the key 890 outputs a “win” data entry in response to an up movement, an “RC” data entry in response to a down movement, a “′” data entry in response to a left movement, and an “esc” data entry in response to a right movement.
- FIG. 8B is a diagram of a “#shift” key mapping 895 according to an embodiment of the disclosure.
- the “#shift” key mapping 895 shows data entries for the keys 805 - 890 after a “#shift” data entry from the keys 805 , 875 while in the default key mapping 800 .
- the orientations of the keys 805 - 890 are the same in the “#shift” key mapping 895 as they are in the default key mapping 800 .
- the key 805 outputs an “alt” data entry in response to an up movement, a “mirror shift” data entry in response to a down movement, a “#shift” data entry in response to a left movement, and a “shift” data entry in response to a right movement.
- the “#shift” data entry shifts the keys 220 , 630 , 660 to the default key mapping 800 .
- the key 810 outputs a “ctrl” data entry in response to an up movement, a “u” data entry in response to a down movement, a “(” data entry in response to a left movement, a “)” data entry in response to a right movement, and a “( )” data entry in response to a depression.
- the “( )” data entry performs a “type inside” operation.
- the key 815 outputs a “scroll up” data entry in response to an up movement, a “scroll down” data entry in response to a down movement, a “ ⁇ ” data entry in response to a left movement, and a “/” data entry in response to a right movement.
- the key 820 outputs a “del” data entry in response to an up movement, a “5” data entry in response to a down movement, a “6” data entry in response to a left movement, and a “4” data entry in response to a right movement, and a “close window” data entry in response to a depression.
- the key 825 outputs a “ ⁇ ” data entry in response to an up movement, a “ ⁇ ” data entry in response to a down movement, a “ ⁇ ” data entry in response to a left movement, and a “ ⁇ ” data entry in response to a right movement.
- the key 830 outputs a “ ⁇ ” data entry in response to an up movement, a “2” data entry in response to a down movement, a “3” data entry in response to a left movement, a “1” data entry in response to a right movement, and a “click” data entry in response to a depression.
- the key 835 outputs a “win” data entry in response to an up movement, an “RC” data entry in response to a down movement, an “esc” data entry in response to a left movement, and a “-” data entry in response to a right movement.
- the key 840 outputs a “G” data entry in response to an up movement, a “W” data entry in response to a down movement, a “Z” data entry in response to a left movement, and a “V” data entry in response to a right movement.
- the key 845 outputs a “9” data entry in response to an up movement, a “7” data entry in response to a down movement, an “8” data entry in response to a left movement, a “0” data entry in response to a right movement, and a “middle click” data entry in response to a depression.
- the key 850 outputs an “enter” data entry in response to an up movement, a “2” data entry in response to a down movement, a “1” data entry in response to a left movement, and a “3” data entry in response to a right movement.
- the key 855 outputs a “ ⁇ ” data entry in response to an up movement, a “ ⁇ ” data entry in response to a down movement, a “ ⁇ ” data entry in response to a left movement, and a “ ⁇ ” data entry in response to a right movement.
- the key 860 outputs a “tab” data entry in response to an up movement, a “5” data entry in response to a down movement, a “4” data entry in response to a left movement, and a “6” data entry in response to a right movement.
- the key 870 outputs a “ctrl” data entry in response to an up movement, an “s” data entry in response to a down movement, a “[” data entry in response to a left movement, a “]” data entry in response to a right movement, and a “( )” data entry in response to a depression.
- the key 875 outputs an “alt” data entry in response to an up movement, a “mirror shift” data entry in response to a down movement, and a “#shift” data entry in response to a right movement.
- the key 880 outputs a “9” data entry in response to an up movement, a “7” data entry in response to a down movement, a “0” data entry in response to a left movement, and an “8” data entry in response to a right movement.
- the key 885 outputs an “f” data entry in response to an up movement, a “b” data entry in response to a down movement, an “x” data entry in response to a left movement, and a “q” data entry in response to a right movement.
- the key 890 outputs a “win” data entry in response to an up movement, an “RC” data entry in response to a down movement, a “′” data entry in response to a left movement, and an “esc” data entry in response to a right movement.
- FIG. 9 is a diagram of a default key mapping 900 according to another embodiment of the disclosure.
- the default key mapping 900 shows data entries for 18 keys 905 , 910 , 915 , 920 , 925 , 930 , 935 , 940 , 945 , 950 , 955 , 960 , 965 , 970 , 975 , 980 , 985 , 990 .
- the layout of the keys 905 - 990 is similar to the layout of the keys 220 , 630 , 660 .
- Each of the keys 905 - 990 corresponds to 4 or 5 data entries.
- the key 905 outputs an “Alt” data entry in response to an up movement, an “Ambi Throw” data entry in response to a down movement, a “Num-Shift” data entry in response to a left movement, and a “Shift” data entry in response to a right movement.
- the “Ambi Throw” data entry enables ambidextrous throwover, which is discussed below.
- the key 910 outputs a “Ctrl” data entry in response to an up movement, a “U” data entry in response to a down movement, a “,” data entry in response to a left movement, and a “′” data entry in response to a right movement.
- the key 915 outputs a “Scroll Up” data entry in response to an up movement, a “Scroll Down” data entry in response to a down movement, a “ ⁇ ” data entry in response to a left movement, and a “I” data entry in response to a right movement.
- the key 920 outputs a “Del” data entry in response to an up movement, an “O” data entry in response to a down movement, a “.” data entry in response to a left movement, and an “I” data entry in response to a right movement.
- the key 925 outputs a “ ⁇ ” data entry in response to an up movement, a “ ⁇ ” data entry in response to a down movement, a “ ⁇ ” data entry in response to a left movement, and a “ ⁇ ” data entry in response to a right movement.
- the key 930 outputs a “BS” data entry in response to an up movement, an “E” data entry in response to a down movement, a data entry in response to a left movement, and an “r” data entry in response to a right movement.
- the key 935 outputs a “V” data entry in response to an up movement, a “C” data entry in response to a down movement, an “M” data entry in response to a left movement, and a “K” data entry in response to a right movement.
- the key 940 outputs a “left mouse click” data entry in response to an up movement, a “Z” data entry in response to a down movement, a “G” data entry in response to a left movement, and a “W” data entry in response to a right movement.
- the key 945 outputs a “-” data entry in response to an up movement, an “esc” data entry in response to a down movement, a “Win” data entry in response to a left movement, and a “Middle Click” data entry in response to a right movement.
- the key 950 outputs a “?” data entry in response to an up movement, an “Esc” data entry in response to a down movement, a “Right Click” data entry in response to a left movement, and a “Win” data entry in response to a right movement.
- the key 955 outputs an “X” data entry in response to an up movement, a “Q” data entry in response to a down movement, a “B” data entry in response to a left movement, and a “prev” data entry in response to a right movement.
- the key 960 outputs a “P” data entry in response to an up movement, a “D” data entry in response to a down movement, an “F” data entry in response to a left movement, and an “H” data entry in response to a right movement.
- the key 965 outputs an “Enter” data entry in response to an up movement, a “T” data entry in response to a down movement, an “A” data entry in response to a left movement, and a “ ” data entry in response to a right movement.
- the key 970 outputs a “ ⁇ ” data entry in response to an up movement, a “ ⁇ ” data entry in response to a down movement, a “ ⁇ ” data entry in response to a left movement, and a “ ⁇ ” data entry in response to a right movement.
- the key 975 outputs a “Tab” data entry in response to an up movement, an “N” data entry in response to a down movement, an “L” data entry in response to a left movement, and a “J” data entry in response to a right movement.
- the key 985 outputs a “Ctrl” data entry in response to an up movement, an “S” data entry in response to a down movement, a “Y” data entry in response to a left movement, and a “;” data entry in response to a right movement.
- the key 990 outputs an “Alt” data entry in response to an up movement, an “Ambi Throw” data entry in response to a down movement, a “Shift” data entry in response to a left movement, and a “Num-Shift” data entry in response to a right movement.
- FIG. 10 is a flowchart illustrating a method 1000 of 3D data entry according to an embodiment of the disclosure.
- the data entry devices 110 , 200 perform the method 1000 .
- the data entry devices 110 , 200 may perform the method 1000 to implement steps 405 and 430 in FIG. 4 .
- a movement of a key is detected.
- the fluid chord/character entry component 370 detects that the stem 720 has physically touched at least one of the bottom contacts 740 or the side contacts 750 .
- a determination whether the movement is a left movement, an up movement, a right movement, a down movement, or a depression is made.
- the fluid chord/character entry component 370 determines whether the stem 720 has physically touched a side contact 750 on the left side of the page in FIG. 7B to correspond to a left movement, a side contact 750 on the top side of the page in FIG. 7B to correspond to an up movement, a side contact 750 on the right side of the page in FIG. 7B to correspond to a right movement, a side contact 750 on the bottom side of the page in FIG. 7B to correspond to a down movement, or a bottom contact 740 in FIG. 7A to correspond to a depression.
- a data entry is selected based on the first determination.
- the data entry may be the first data entry in step 405 or the second data entry in step 430 , and the data entry may be a text entry.
- the movement is an up movement of the key 880 in the default key mapping 800 , so the fluid chord/character entry component 370 selects “h” as the data entry.
- a user may activate a key 220 , 630 , 660 or a set of keys 220 , 630 , 660 in order to enable ambidextrous throwover.
- Ambidextrous throwover allows the user to enter all data from either the left side of the data entry device 200 or the right side of the data entry device 200 or to enter all data from either the left-hand device 610 or the right-hand device 640 .
- Ambidextrous throwover therefore permits the user to multitask by entering data with one hand and performing another task, such as drinking coffee, with another hand.
- the user may activate the same key 220 , 630 , 660 or set of keys 220 , 630 , 660 .
- Movement of the keys 220 , 630 , 660 may control a cursor on the external device 120 .
- a left movement of the keys 220 , 630 , 660 moves the cursor to the left; an up movement of the keys 220 , 630 , 660 moves the cursor up; a right movement of the keys 220 , 630 , 660 moves the cursor to the right; and a down movement of the keys 220 , 630 , 660 moves the cursor down.
- the data entry devices 110 , 200 , 600 may also function as a mouse. Providing both functionalities in the single data entry device 110 , 200 , 600 improves portability so that a user can plug in and play the data entry device 110 , 200 , 600 anywhere.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
A data entry system comprises a processor configured to receive a first data entry, make a first determination whether the first data entry is a first character entry or a first chorded entry, select a first output based on the first determination, and transmit the first output. The processor is further configured to receive, after transmitting the first output, a second data entry; make a second determination whether the second data entry is a second character entry or a second chorded entry; select a second output based on the second determination; and transmit the second output. The first data entry is the first character entry and the second data entry is the second chorded entry, or the first data entry is the first chorded entry and the second data entry is the second character entry.
Description
- This claims priority to U.S. provisional patent application No. 62/921,351 filed on Jun. 14, 2019 by Riley Ford Keen, which is incorporated by reference.
- Early hominins first developed speech almost two million years ago. Since that time, speech had evolved dramatically in both complexity and speed. Today, the average person speaks about 150 WPM and comprehends about 275 spoken WPM. Of course, speech is not necessarily permanent. People may speak to each other, but not memorialize their speech.
- In contrast, writing is always permanent. Early civilizations developed writing almost 6,000 years ago. Since that time, writing has also evolved dramatically in both complexity and speed. Today, the average person writes about 13 WPM and comprehends about 250 written WPM. Thus, writing speed lags far behind speaking, speech comprehension, and written comprehension speeds.
- Typewriters partially resolve that issue. The first typewriter was developed in the late 16th century. Since that time, typewriters, and subsequently keyboards, have improved dramatically. Today, the average person types about 40 WPM, while the average professional typist types about 75 WPM. Thus, even professional typing still lags far behind speaking, speech comprehension, and written comprehension speeds.
- In a first embodiment, a data entry system comprises: a processor configured to: receive a first data entry, make a first determination whether the first data entry is a first character entry or a first chorded entry, select a first output based on the first determination, and transmit the first output. In other embodiments, the processor may be further configured to: receive, after transmitting the first output, a second data entry; make a second determination whether the second data entry is a second character entry or a second chorded entry; select a second output based on the second determination; and transmit the second output. The first data entry may be the first character entry, and the second data entry may be the second chorded entry. The first data entry may be the first chorded entry, and the second data entry may be the second character entry. The first data entry may be the first character entry, and the second data entry may be the second character entry. The first data entry may be the first chorded entry, and the second data entry may be the second chorded entry. The data entry system may further comprise: a data entry device comprising the processor; and an external device comprising a display configured to display the first output. The processor may be further configured to further receive the first data entry by: detecting a movement of a key; making a second determination whether the movement is an up movement, a down movement, a left movement, a right movement, or a depression; and selecting the first data entry based on the second determination, wherein the first data entry is a text entry.
- In a second embodiment, a computer program product comprises computer-executable instructions for storage on a non-transitory computer-readable medium and that, when executed by a processor, cause a data entry system to: receive a first data entry; make a first determination whether the first data entry is a first character entry or a first chorded entry; select a first output based on the first determination; and transmit the first output. In other embodiments, the instructions may further cause the data entry system to: receive, after transmitting the first output, a second data entry; make a second determination whether the second data entry is a second character entry or a second chorded entry; select a second output based on the second determination; and transmit the second output. The first data entry may be the first character entry, and the second data entry may be the second chorded entry. The first data entry may be the first chorded entry, and the second data entry may be the second character entry. The first data entry may be the first character entry, and the second data entry may be the second character entry. The first data entry may be the first chorded entry, and the second data entry may be the second chord entry. The instructions may further cause the data entry system to display the first output. The instructions may further cause the data entry system to further receive the first data entry by: detecting a movement of a key; making a second determination whether the movement is an up movement, a down movement, a left movement, a right movement, or a depression; and selecting the first data entry based on the second determination, wherein the first data entry is a text entry.
- In a third embodiment, a data entry device comprises: a left-hand device comprising: a first key configured to provide dedicated data entry for a left-hand thumb, a second key configured to provide dedicated data entry for a first left-hand finger, a third key configured to provide dedicated data entry for a second left-hand finger, a fourth key configured to provide dedicated data entry for a third left-hand finger, and a fifth key configured to provide dedicated data entry for a fourth left-hand finger; and a right-hand device comprising: a sixth key configured to provide dedicated data entry for a right-hand thumb, a seventh key configured to provide dedicated data entry for a first right-hand finger, an eighth key configured to provide dedicated data entry for a second right-hand finger, a ninth key configured to provide dedicated data entry for a third right-hand finger, and a tenth key configured to provide dedicated data entry for a fourth right-hand finger, wherein the left-hand device and the right-hand device are configured to work together to receive data entries and transmit outputs based on the data entries. In other embodiments, the data entries may be any combination of character entries and chorded entries. The data entry device may further comprise a processor configured to: detect a movement of a key, wherein the key is one of the first key, the second key, the third key, the fourth key, the fifth key, the sixth key, the seventh key, the eighth key, the ninth key, and the tenth key; make a determination whether the movement is an up movement, a down movement, a left movement, a right movement, or a depression; and select a data entry based on the determination, wherein the data entry is a text entry. The up movement and the down movement may be in a first dimension, the left movement and the right movement may be in a second dimension, and the depression may be in a third dimension.
- Any of the above embodiments may be combined with any of the other above embodiments to create a new embodiment. These and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.
- For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
-
FIG. 1 is a schematic diagram of a data entry system. -
FIG. 2 is a schematic diagram of a data entry device according to an embodiment. -
FIG. 3 is a schematic diagram of an apparatus. -
FIG. 4 is a flowchart illustrating a method of fluid chord/character entry according to an embodiment. -
FIGS. 5A-5B are flowcharts illustrating a method of fluid chord/character entry according to another embodiment. -
FIG. 6 is a schematic diagram of a data entry device according to another embodiment. -
FIGS. 7A-7B are schematic diagrams of a key system according to an embodiment of the disclosure. -
FIG. 8A is a diagram of a default key mapping according to an embodiment of the disclosure. -
FIG. 8B is a diagram of a “#shift” key mapping according to an embodiment of the disclosure. -
FIG. 9 is a diagram of a default key mapping according to another embodiment of the disclosure. -
FIG. 10 is a flowchart illustrating a method of 3D data entry according to an embodiment of the disclosure. - It should be understood at the outset that, although an illustrative implementation of one or more embodiments are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether currently known or in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
- The following abbreviations apply:
- alt: alternate
- ambi throw: ambidextrous throwover
- ASCII: American Standard Code for Information Interchange
- ASIC: application-specific integrated circuit
- BS: backspace
- CAD: computer-aided design
- caps: caps lock
- CPU: central processing unit
- ctrl: control
- del: delete
- DSP: digital signal processor
- EO: electrical-to-optical
- esc: escape
- FPGA: field-programmable gate array
- ms: millisecond(s)
- num-shift: number shift
- OE: optical-to-electrical
- prev: previous
- RAM: random-access memory
- RC: right click
- RF: radio frequency
- ROM: read-only memory
- RX: receiver unit
- SRAM: static RAM
- TCAM: ternary content-addressable memory
- TX: transmitter unit
- USB: Universal Serial Bus
- win: Windows
- WPM: words per minute
- 1D: one-dimensional
- 2D: two-dimensional
- 3D: three-dimensional
- °: degree(s).
- Traditional typewriters and traditional keyboards perform character entry in which a user sequentially depresses keys to enter characters such as letters. Each key corresponds to only a single character. Thus, a user may type the word “cat” by sequentially depressing a “c” key, an “a” key, and a “t” key.
- In contrast, chorded keyboards, including stenotypes, perform chorded entry in which a user simultaneously depresses keys to enter chords such as syllables, words, or phrases. No key corresponds to a single syllable, word, or phrase, much less a single character; rather, a combination of keys corresponds to a combination of characters forming a syllable, word, or phrase. Thus, a user may type the word “cat” by simultaneously depressing a first key corresponding to both “t” sounds and “k” sounds, a second key corresponding to “a,” and a third key corresponding to both “t” sounds and “s” sounds.
- Stenotypes provide quicker data entry compared to traditional typewriters. While a professional typist types about 75 WPM, a professional stenographer types about 180-225 WPM. However, 180-225 WPM still lags the average comprehension of about 275 spoken WPM and about 250 written WPM.
- There is therefore a desire to overcome the following shortcomings of keyboards and stenotypes in order to improve beyond 180-225 WPM. First, keyboards perform character entry, but not chorded entry. In contrast, stenotypes perform chorded entry, but not character entry. Thus, both keyboards and stenotypes perform traditional data entry, which is unable to alternate between character entry and chorded entry. Second, keyboards and stenotypes have key layouts that are not ergonomic and are thus less efficient. Third, keyboards and stenotypes have 1D keys that allow a user to depress the keys in one direction to make a single data entry, but do not allow the user to move the keys in other directions to make different data entries.
- Disclosed herein are embodiments for fluid chord/character entry. First, a data entry device performs fluid chord/character entry, which is able to distinguish and alternate between chorded entry and character entry. Second, the data entry device may comprise dedicated keys for each finger and thumb so that a user can enter data with comfort and the ability to maintain digital contact. Third, the data entry device comprises multi-dimensional keys, which can move in two or more directions to provide two or more different data entries. With those features, the data entry device allows a user to type over 300 WPM, in other words, to Type at the Speed of Thought™. In addition, the data entry device provides ambidextrous throwover and mouse functionality. Thus, the data entry device benefits stenographers, digital artists, CAD modelers, gamers, disabled people, and the general population in their everyday lives.
-
FIG. 1 is a schematic diagram of adata entry system 100. Thedata entry system 100 comprises adata entry device 110 and anexternal device 120. Thedata entry device 110 may be referred to as a CharaChorder™. Theexternal device 120 may be a mobile phone, tablet computer, notebook computer, or desktop computer. Thedata entry device 110 and theexternal device 120 communicate data between each other. For instance, thedata entry device 110 communicates data entries such as text entries toexternal device 120 for display on theexternal device 120, or thedata entry device 110 functions as a mouse to control a cursor displaying on theexternal device 120. -
FIG. 2 is a schematic diagram of adata entry device 200 according to an embodiment. Thedata entry device 200 may implement thedata entry device 110. Thedata entry device 200 comprises acasing 210, 18keys cords 230, and acommunications bus 240. Thedata entry device 200 has an ergonomic design that follows the contours of human hands, thus providing comfort for a user. Thedata entry device 200 is smaller than a typical keyboard or stenotype, thus providing better portability. - The
casing 210 may comprise plastic, metal, wood, a polymer, a composite material, or another suitable material. Thecasing 210 is a single piece formed from a mold or is multiple such pieces bonded together to form the single piece. Thecasing 210 provides support for thekeys 220, thecords 230, and thecommunications bus 240. - The
keys 220 may also be referred to as switches. Though there are 18keys 220 in the layout shown, thedata entry device 200 may comprise 10 keys, 12 keys, 14 keys, or any other suitable number ofkeys 220 in any suitable layout. Each of thekeys 220 may be associated with both characters and chords. Thekeys 220 are described further below. - The
cords 230 communicate data to and from thecommunications bus 240. Thecommunications bus 240 may be a USB 1.0, USB 2.0, USB 3.x, or USB4 bus. Thecommunications bus 240 communicates data to and from an external device such as theexternal device 120. -
FIG. 3 is a schematic diagram of anapparatus 300. Theapparatus 300 may implement the disclosed embodiments, for instance thedata entry devices apparatus 300 comprisesingress ports 310 and anRX 320 to receive data; aprocessor 330 or logic unit, baseband unit, or CPU to process the data; aTX 340 andegress ports 350 to transmit the data; and amemory 360 to store the data. Theapparatus 300 may also comprise communications buses such as thecommunications bus 240 or comprise OE components, EO components, or RF components coupled to theingress ports 310, theRX 320, theTX 340, and theegress ports 350 to provide ingress or egress of optical signals, electrical signals, or RF signals. - The
processor 330 is any combination of hardware, middleware, firmware, or software. Theprocessor 330 comprises any combination of one or more CPU chips, cores, FPGAs, ASICs, or DSPs. Theprocessor 330 communicates with theingress ports 310, theRX 320, theTX 340, theegress ports 350, and thememory 360. Theprocessor 330 comprises a fluid chord/character entry component 370, which implements the disclosed embodiments. The inclusion of the fluid chord/character entry component 370 therefore provides a substantial improvement to the functionality of theapparatus 300 and effects a transformation of theapparatus 300 to a different state. Alternatively, thememory 360 stores the fluid chord/character entry component 370 as instructions, and theprocessor 330 executes those instructions. Theprocessor 330 further comprises alibrary 380. Thelibrary 380 maps data entries to characters and chords. - The
processor 330 may comprise multiple processors, or microcontrollers. For instance, theprocessor 330 comprises a first microcontroller that receives data entries from thekeys 220 on the left side of thedata entry device 200, a second microcontroller that receives data entries from thekeys 220 on the right side of thedata entry device 200, and a third microcontroller that combines the data entries from the first microcontroller and the second microcontroller and processes that data to create an output for theexternal device 120. The output may be in ASCII format. - The
memory 360 comprises any combination of disks, tape drives, or solid-state drives. Theapparatus 300 may use thememory 360 as an over-flow data storage device to store programs when theapparatus 300 selects those programs for execution and to store instructions and data that theapparatus 300 reads during execution of those programs, for instance as a computer program product. Thememory 360 may be volatile or non-volatile and may be any combination of ROM, RAM, TCAM, or SRAM. - A computer program product may comprise computer-executable instructions stored on the
memory 360 that, when executed by theprocessor 330, cause theapparatus 300 to perform any of the embodiments. - The components of the
apparatus 300 may be in different devices. In a first example, the fluid chord/character entry component 370 is in a first device, and thelibrary 380 is in a second device. In a second example, theprocessor 330 is in a first device, and thememory 360 is in a second device. -
FIG. 4 is a flowchart illustrating amethod 400 of fluid chord/character entry according to an embodiment. Thedata entry devices external device 120 perform themethod 400. - At
step 405, a first data entry is received. For instance, a user activates one or more of thekeys 220 by pushing thekeys 220 up, right, down, or left or by depressing thekeys 220. Theprocessor 330 receives a first data entry in response to that activation. The first data entry represents all activations of thekeys 220 at a first time. The activations may be required to occur within a threshold amount of time. - At
step 410, a first determination whether the first data entry is a first character entry or a first chorded entry is made. For instance, the fluid chord/character entry component 370 determines that the first data entry is a first character entry when it receives the first data entry from only one of thekeys 220. Alternatively, the fluid chord/character entry component 370 determines that the first data entry is a first chorded entry when it receives the first data entry from at least two of thekeys 220. - At
step 415, a first output is selected based on the first determination. For instance, the fluid chord/character entry component 370 queries thelibrary 380 to determine a first character corresponding to the first character entry. Alternatively, the fluid chord/character entry component 370 queries thelibrary 380 to determine a first chord corresponding to the first chorded entry. The fluid chord/character entry component 370 then selects either the first character or the first chord as the first output. The fluid chord/character entry component 370 may perform step 415 independent of user selection. - At
step 420, the first output is transmitted. For instance, the fluid chord/character entry component 370 transmits the first output to theexternal device 120. - At
step 425, the first output is displayed. For instance, theexternal device 120 displays the first output on a screen of theexternal device 120. - At
step 430, a second data entry is received after the first output is transmitted. The second data entry may also be received while or after the first output is displayed. For instance, a user activates one or more of thekeys 220 by pushing thekeys 220 up, right, down, or left or by depressing thekeys 220. Theprocessor 330 receives a second data entry in response to that activation. The second data entry represents all activations of thekeys 220 at a second time. The activations may be required to occur within a threshold amount of time. - At
step 435, a second determination whether the second data entry is a second character entry or a second chorded entry is made. For instance, the fluid chord/character entry component 370 determines that the second data entry is a second character entry when it receives the second data entry from only one of thekeys 220. Alternatively, the fluid chord/character entry component 370 determines that the second data entry is a second chorded entry when it receives the second data entry from at least two of thekeys 220. - At
step 440, a second output is selected based on the second determination. For instance, the fluid chord/character entry component 370 queries thelibrary 380 to determine a second character corresponding to the second character entry. Alternatively, the fluid chord/character entry component 370 queries thelibrary 380 to determine a second chord corresponding to the second chorded entry. The fluid chord/character entry component 370 then selects either the second character or the second chord as the first output. The fluid chord/character entry component 370 may perform step 440 independent of user selection. - At
step 445, the second output is transmitted. For instance, the fluid chord/character entry component 370 transmits the second output to theexternal device 120. - Finally, at
step 450, the second output is displayed. For instance, theexternal device 120 displays the second output on the screen of theexternal device 120. - In the
method 400, in a first example, the first data entry is the first character entry and the second data entry is the second chorded entry. In a second example, the first data entry is the first chorded entry and the second data entry is the second character entry. Thus, thedata entry devices data entry devices method 400 continuously and thus continue to alternate between character entry and chorded entry. - In a third example, the first data entry is the first character entry and the second data entry is the second character entry. In a fourth example, the first data entry is the first chorded entry and the second data entry is the second chorded entry. Thus, the
data entry devices data entry devices - In a fifth example, the first character entry and the second character entry are any letters of an alphabet, for instance the Latin alphabet, while the first chorded entry and the second chorded entry are any syllables, words, or phrases containing letters of the alphabet. In a sixth example, the first data entry or the second data entry is a command that may not be displayed. In a seventh example, the first data entry or the second data entry is a cursor movement that may be displayed.
-
FIGS. 5A-5B are flowcharts illustrating amethod 500 of fluid chord/character entry according to another embodiment. Thedata entry devices method 500. - In
FIG. 5A , atdecision 503, it is determined whether there is a key state change. For instance, the fluid chord/character entry component 370 determines whether a key 220 has been activated or deactivated. A user deactivates a key 220 by releasing a push or a depression. If the answer todecision 503 is yes, then themethod 500 proceeds todecision 505. If the answer todecision 503 is no, then themethod 500 returns todecision 503. - At
decision 505, it is determined whether spurring is active. For instance, the fluid chord/character entry component 370 determines whether spurring is active. The user may select whether to make spurring active. Spurring modifies recognition of chords during fluid chord/character entry. Specifically, to output a chord without spurring active, the user activates two ormore keys 220 within a first threshold time and then deactivates thosesame keys 220 within a second threshold time. Fluid chord/character entry without spurring may result in false chords if the user types too fast. In contrast, to output a chord with spurring active, the user activates two ormore keys 220 within a third threshold time and then may deactivate only one of thosekeys 220. The first threshold time, the second threshold time, and the third threshold time may be the same or different. If the answer todecision 505 is no, then themethod 500 proceeds todecision 507. If the answer todecision 505 is yes, then themethod 500 proceeds todecision 540 inFIG. 5B . - At
decision 507, it is determined whether a number of current keys activated is greater than a number of last keys activated. For instance, if a user activates afirst key 220 and maintains that activation while activating asecond key 220, then the answer todecision 507 is yes. If a user activates thefirst key 220, then deactivates thefirst key 220, and then activates thesecond key 220, then the answer todecision 507 is no. If the answer todecision 507 is yes, then themethod 500 proceeds to step 510. If the answer todecision 507 is no, then themethod 500 proceeds todecision 520. - At
step 510, a character is outputted. For instance, the fluid chord/character entry component 370 transmits the character to theexternal device 120, and theexternal device 120 displays the character on the screen of theexternal device 120. - At
decision 513, it is determined whether a time from a last key activation is greater than a threshold. For instance, the fluid chord/character entry component 370 determines whether a time from alast key 220 activation to the state change atdecision 503 is less than a threshold. The threshold may be about 18 ms. - If the answer to
decision 513 is no, then themethod 500 proceeds to step 515. If the answer todecision 513 is yes, then the method proceeds to step 517. - At
step 515, null is outputted and themethod 500 returns todecision 503. - At
step 517, a temporary chord output is selected and activated, and themethod 500 returns todecision 503. For instance, the fluid chord/character entry component 370 transmits the chord to theexternal device 120, and theexternal device 120 displays the chord on the screen of theexternal device 120. - At
decision 520, it is determined whether a chord is activated. For instance, the fluid chord/character entry component 370 determines whether two ormore keys 220 are activated. If the answer todecision 520 is no, then themethod 500 proceeds to step 523. If the answer todecision 520 is yes, then themethod 500 proceeds todecision 525. - At
step 523, null is outputted and themethod 500 returns todecision 503. - At
decision 525, it is determined whether a release speed is less than a threshold. For instance, the fluid chord/character entry component 370 determines whether a release speed of thecurrent key 220 being activated is less than a threshold. The threshold may be about 18 ms. If the answer todecision 525 is no, then themethod 500 proceeds to step 527. If the answer todecision 525 is yes, then themethod 500 proceeds to step 530. - At
step 527, null is outputted and themethod 500 returns todecision 503. - At
step 530, a context is applied. For instance, the fluid chord/character entry component 370 may select one chord in one context or a different chord in a different context. The context may include surrounding text. As a simple example, while the word “knowledge” can be chorded in a single data entry, or stroke, it can also be chorded in two strokes by following the chord “know” with the chord “ledge.” Rather than selecting “know ledge,” the fluid chord/character entry component 370 automatically selects “knowledge” because the fluid chord/character entry component 370 knows that the chords “know” and “ledge” should form “knowledge.” Suffixes, prefixes, and other chord modifiers are also applied at this stage. - At
step 533, characters are replaced with a final chord. For instance, if the fluid chord/character entry component 370 previously outputted characters and then selects a final chord, then the fluid chord/character entry component 370 replaces those characters with the final chord. - At
step 535, the final chord is baked and themethod 500 returns todecision 503. - Baking is the process of freezing and recording a result of a computing process.
- In
FIG. 5B , atdecision 540, it is determined whether a number of current keys activated is greater than a number of last keys activated. For instance, a user may first activate afirst key 220, maintain activation of thefirst key 220, and then activate asecond key 220. If the answer todecision 540 is yes, then themethod 500 proceeds to step 543. If the answer todecision 540 is not, then themethod 500 proceeds to step 545. - At
step 543, a current chord is erased. For instance, the fluid chord/character entry component 370 instructs the display of theexternal device 120 to remove a current chord. - At
step 547, a context is applied. Step 547 is similar to step 530. - At
step 550, a current chord is replaced with a final chord and themethod 500 returns todecision 503. For instance, if the fluid chord/character entry component 370 previously outputted a temporary chord and then selects a final chord, then the fluid chord/character entry component 370 replaces that temporary chord with the final chord. - At
step 545, a final chord is baked and themethod 500 returns todecision 503. Before baking, the fluid chord/character entry component 370 stores a value so that the user can backspace entire words or sentences with future chords. -
FIG. 6 is a schematic diagram of adata entry device 600 according to another embodiment of the disclosure. Thedata entry device 600 is similar to thedata entry device 200. Specifically, thedata entry device 600 comprises 2casings casing 210, and 18keys keys 220. In addition, thedata entry device 600 communicates data to and from an external device. - However, unlike the
casing 210, which is a single piece, thecasings casing 620 is part of a left-hand device 610, and thecasing 650 is part of a right-hand device 640. Having both the left-hand device 610 and the right-hand device 640 provides improved comfort and portability. Thecasing 620 may contour to the shape of a left hand, and thecasing 650 may contour to the shape of a right hand. - Each of the left-
hand device 610 and the right-hand device 640 receives data entries and transmits outputs based on those data entries as described above. In addition, the left-hand device 610 and the right-hand device 640 work together to receive data entries and transmit outputs based on those data entries as described above. The data entries may be any combination of character entries and chorded entries. The character entries may be any character entries such as letters, including both vowels and consonants. The chorded entries may be any chorded entries such as syllables, words, phrases, macros, or sequences. In a first example, simultaneous activation of afirst key 630 in the left-hand device 610 and asecond key 660 in the right-hand device 640 results in a chorded entry. In a second example, simultaneous activation of afirst key 630 and asecond key 630 in the left-hand device 610 results in a chorded entry. In a third example, sequential activation of afirst key 630 in the left-hand device 610 and asecond key 660 in the right-hand device 640 results in a first character entry and a second character entry. - In addition, there is a
dedicated key first key 630 provides dedicated data entry for a left-hand thumb, asecond key 630 provides dedicated data entry for a first left-hand finger, athird key 630 provides dedicated data entry for a second left-hand finger, afourth key 630 provides dedicated data entry for a third left-hand finger, afifth key 630 provides dedicated data entry for a fourth left-hand finger, asixth key 660 provides dedicated data entry for a right-hand thumb, aseventh key 660 provides dedicated data entry for a first right-hand finger, aneighth key 660 provides dedicated data entry for a second right-hand finger, aninth key 660 provides dedicated data entry for a third right-hand finger, and atenth key 660 provides dedicated data entry for a fourth right-hand finger. Thus, the user need not break contact with thekeys keys keys - The remaining
keys keys keys - Furthermore, unlike the
data entry device 200, thedata entry device 600 may not comprise thecords 230 and thecommunications bus 240. Instead, thedata entry device 600 wirelessly communicates with an external device using Bluetooth or another technique. -
FIGS. 7A-7B are schematic diagrams of akey system 700 according to an embodiment of the disclosure. Thedata entry devices key system 700 to implement thekeys -
FIG. 7A is a side view of thekey system 700.FIG. 7A shows that thekey system 700 comprises abase 710, astem 720, a key 730, and 3bottom contacts 740 in thebase 710. Thebase 710 secures thestem 720 and allows freedom of movement for thestem 720. Thestem 720 secures the key 730. When a user depresses the key 730, thestem 720 physically touches thebottom contacts 740 to activate thebottom contacts 740 and output a data entry. - Together, the
stem 720 and the key 730 move in multiple directions, including to the left of the page, to the back of the page, to the right of the page, to the front of the page, and to the bottom of the page. Movement to the left of the page corresponds to a left movement, movement to the back of the page corresponds to a top movement, movement to the right of the page corresponds to a right movement, movement to the front of the page corresponds to a down movement, and movement to the bottom of the page corresponds to a depression. Movement to the left of the page and the right of the page is in a first dimension, movement to the back of the page and the front of the page is in a second dimension, and movement to the bottom of the page is in a third dimension. Thus, the key 730 is 3D and provides 1D, 2D, and 3D data entry. Though five directions are described, the key 730 may move in more directions, forinstance 8 directions, to provide additional alternative data entries. -
FIG. 7B is a top view of thekey system 700. LikeFIG. 7A ,FIG. 7B shows thebase 710 and the key 730. However, unlikeFIG. 7A ,FIG. 7B does not show thebottom contacts 740. Instead,FIG. 7B shows 8side contacts 750. When the user moves the key 730 to the left, thestem 720 physically touches theside contacts 750 on the left side of the page to activate thoseside contacts 750 and output a data entry. When the user moves the key 730 to the top, thestem 720 physically touches theside contacts 750 on the top of the page to activate thoseside contacts 750 and output a data entry. When the user moves the key 730 to the right, thestem 720 physically touches theside contacts 750 on the right side of the page to activate thoseside contacts 750 and output a data entry. When the user moves the key 730 to the bottom, thestem 720 physically touches theside contacts 750 on the bottom of the page to activate thoseside contacts 750 and output a data entry. - The
library 380 may comprise default key mappings. In addition, a user may modify thelibrary 380 to comprise custom key mappings. Furthermore, the user may modify thelibrary 380 to comprise custom macros, hotkeys, or hot words, which may function while only specific software is running. The number of possible data entries is essentially limitless. -
FIG. 8A is a diagram of a defaultkey mapping 800 according to an embodiment of the disclosure. The defaultkey mapping 800 shows data entries for 18keys keys - The keys 805-830 are oriented about 0° with respect to the top of the page, so the keys 805-830 output data entries located above the keys 805-890 in response to up movements; data entries below the keys 805-890 in response to down movements; data entries to the left of the keys 805-890 in response to left movements; data entries to the right of the keys 805-890 in response to right movements; and, if present, data entries on the keys 805-890 in response to depressions. The key 805 outputs an “alt” data entry in response to an up movement, a “mirror shift” data entry in response to a down movement, a “#shift” data entry in response to a left movement, and a “shift” data entry in response to a right movement. The “#shift” data entry shifts the
keys FIG. 8B . The key 810 outputs a “ctrl” data entry in response to an up movement, a “u” data entry in response to a down movement, a “,” data entry in response to a left movement, and a “prev character” data entry in response to a right movement. The key 815 outputs a “scroll up” data entry in response to an up movement, a “scroll down” data entry in response to a down movement, a “\” data entry in response to a left movement, and a “I” data entry in response to a right movement. The key 820 outputs a “del” data entry in response to an up movement, an “o” data entry in response to a down movement, a “.” data entry in response to a left movement, an “i” data entry in response to a right movement, and a “close window” data entry in response to a depression. The key 825 outputs a “↑” data entry in response to an up movement, a “↓” data entry in response to a down movement, a “←” data entry in response to a left movement, and a “→” data entry in response to a right movement. The key 830 outputs a “←” data entry in response to an up movement, an “e” data entry in response to a down movement, a “” data entry in response to a left movement, an “r” data entry in response to a right movement, and a “click” data entry in response to a depression. The “←” data entry corresponds to a backspace operation. The data “” entry corresponds to a spacebar operation. - The keys 835-845 are oriented about 45° counterclockwise with respect to the top of the page, so the keys 835-845 output data entries located at about 315° in response to up movements; data entries located at about 135° in response to down movements; data entries located at about 225° in response to left movements; data entries located at about 45° in response to right movements; and, if present, data entries on the keys 835-845 in response to depressions. The key 835 outputs a “win” data entry in response to an up movement, an “RC” data entry in response to a down movement, an “esc” data entry in response to a left movement, and a “-” data entry in response to a right movement. The “win” data entry opens a start menu in a computer operating a Windows operating system. The key 840 outputs a “g” data entry in response to an up movement, a “w” data entry in response to a down movement, a “z” data entry in response to a left movement, and a “v” data entry in response to a right movement. The key 845 outputs an “m” data entry in response to an up movement, a “k” data entry in response to a down movement, a “c” data entry in response to a left movement, a “′” data entry in response to a right movement, and a “middle click” data entry in response to a depression.
- The keys 850-875 are oriented about 0° with respect to the top of the page, so the keys 850-875 output data entries located above the keys 850-875 in response to up movements; data entries below the keys 850-875 in response to down movements; data entries to the left of the keys 850-875 in response to left movements; data entries to the right of the keys 850-875 in response to right movements; and, if present, data entries on the keys 850-875 in response to depressions. The key 850 outputs an “enter” data entry in response to an up movement, a “t” data entry in response to a down movement, an “a” data entry in response to a left movement, and a “” data entry in response to a right movement. The key 855 outputs a “↑” data entry in response to an up movement, a “↓” data entry in response to a down movement, a “←” data entry in response to a left movement, and a “→” data entry in response to a right movement. The key 860 outputs a “tab” data entry in response to an up movement, an “n” data entry in response to a down movement, an “l” data entry in response to a left movement, and a “?” data entry in response to a right movement. The key 865 outputs a “scroll up” data entry in response to an up movement, a “scroll down” data entry in response to a down movement, a “caps” data entry in response to a left movement, and an “=” data entry in response to a right movement. The key 870 outputs a “ctrl” data entry in response to an up movement, an “s” data entry in response to a down movement, a “y” data entry in response to a left movement, and a “;” data entry in response to a right movement. The key 875 outputs an “alt” data entry in response to an up movement, a “mirror shift” data entry in response to a down movement, a “shift” data entry in response to a left movement, and a “#shift” data entry in response to a right movement.
- The keys 880-890 are oriented about 45° clockwise with respect to the top of the page, so the keys 880-890 output data entries located at about 45° in response to up movements; data entries located at about 225° in response to down movements; data entries located at about 315° in response to left movements; data entries located at about 135° in response to right movements; and, if present, data entries on the keys 880-890 in response to depressions. The key 880 outputs an “h” data entry in response to an up movement, a “j” data entry in response to a down movement, a “p” data entry in response to a left movement, and a “d” data entry in response to a right movement. The key 885 outputs an “f” data entry in response to an up movement, a “b” data entry in response to a down movement, an “x” data entry in response to a left movement, and a “q” data entry in response to a right movement. The key 890 outputs a “win” data entry in response to an up movement, an “RC” data entry in response to a down movement, a “′” data entry in response to a left movement, and an “esc” data entry in response to a right movement.
-
FIG. 8B is a diagram of a “#shift”key mapping 895 according to an embodiment of the disclosure. The “#shift”key mapping 895 shows data entries for the keys 805-890 after a “#shift” data entry from thekeys key mapping 800. The orientations of the keys 805-890 are the same in the “#shift”key mapping 895 as they are in the defaultkey mapping 800. - The key 805 outputs an “alt” data entry in response to an up movement, a “mirror shift” data entry in response to a down movement, a “#shift” data entry in response to a left movement, and a “shift” data entry in response to a right movement. The “#shift” data entry shifts the
keys key mapping 800. The key 810 outputs a “ctrl” data entry in response to an up movement, a “u” data entry in response to a down movement, a “(” data entry in response to a left movement, a “)” data entry in response to a right movement, and a “( )” data entry in response to a depression. The “( )” data entry performs a “type inside” operation. The key 815 outputs a “scroll up” data entry in response to an up movement, a “scroll down” data entry in response to a down movement, a “\” data entry in response to a left movement, and a “/” data entry in response to a right movement. The key 820 outputs a “del” data entry in response to an up movement, a “5” data entry in response to a down movement, a “6” data entry in response to a left movement, and a “4” data entry in response to a right movement, and a “close window” data entry in response to a depression. The key 825 outputs a “↑” data entry in response to an up movement, a “↓” data entry in response to a down movement, a “←” data entry in response to a left movement, and a “→” data entry in response to a right movement. The key 830 outputs a “→” data entry in response to an up movement, a “2” data entry in response to a down movement, a “3” data entry in response to a left movement, a “1” data entry in response to a right movement, and a “click” data entry in response to a depression. - The key 835 outputs a “win” data entry in response to an up movement, an “RC” data entry in response to a down movement, an “esc” data entry in response to a left movement, and a “-” data entry in response to a right movement. The key 840 outputs a “G” data entry in response to an up movement, a “W” data entry in response to a down movement, a “Z” data entry in response to a left movement, and a “V” data entry in response to a right movement. The key 845 outputs a “9” data entry in response to an up movement, a “7” data entry in response to a down movement, an “8” data entry in response to a left movement, a “0” data entry in response to a right movement, and a “middle click” data entry in response to a depression.
- The key 850 outputs an “enter” data entry in response to an up movement, a “2” data entry in response to a down movement, a “1” data entry in response to a left movement, and a “3” data entry in response to a right movement. The key 855 outputs a “↑” data entry in response to an up movement, a “↓” data entry in response to a down movement, a “←” data entry in response to a left movement, and a “→” data entry in response to a right movement. The key 860 outputs a “tab” data entry in response to an up movement, a “5” data entry in response to a down movement, a “4” data entry in response to a left movement, and a “6” data entry in response to a right movement. The key 865 outputs a “scroll up” data entry in response to an up movement, a “scroll down” data entry in response to a down movement, a “caps” data entry in response to a left movement, and an “=” data entry in response to a right movement. The key 870 outputs a “ctrl” data entry in response to an up movement, an “s” data entry in response to a down movement, a “[” data entry in response to a left movement, a “]” data entry in response to a right movement, and a “( )” data entry in response to a depression. The key 875 outputs an “alt” data entry in response to an up movement, a “mirror shift” data entry in response to a down movement, and a “#shift” data entry in response to a right movement.
- The key 880 outputs a “9” data entry in response to an up movement, a “7” data entry in response to a down movement, a “0” data entry in response to a left movement, and an “8” data entry in response to a right movement. The key 885 outputs an “f” data entry in response to an up movement, a “b” data entry in response to a down movement, an “x” data entry in response to a left movement, and a “q” data entry in response to a right movement. The key 890 outputs a “win” data entry in response to an up movement, an “RC” data entry in response to a down movement, a “′” data entry in response to a left movement, and an “esc” data entry in response to a right movement.
-
FIG. 9 is a diagram of a defaultkey mapping 900 according to another embodiment of the disclosure. The defaultkey mapping 900 shows data entries for 18keys keys - The key 905 outputs an “Alt” data entry in response to an up movement, an “Ambi Throw” data entry in response to a down movement, a “Num-Shift” data entry in response to a left movement, and a “Shift” data entry in response to a right movement. The “Ambi Throw” data entry enables ambidextrous throwover, which is discussed below. The key 910 outputs a “Ctrl” data entry in response to an up movement, a “U” data entry in response to a down movement, a “,” data entry in response to a left movement, and a “′” data entry in response to a right movement. The key 915 outputs a “Scroll Up” data entry in response to an up movement, a “Scroll Down” data entry in response to a down movement, a “\” data entry in response to a left movement, and a “I” data entry in response to a right movement. The key 920 outputs a “Del” data entry in response to an up movement, an “O” data entry in response to a down movement, a “.” data entry in response to a left movement, and an “I” data entry in response to a right movement. The key 925 outputs a “↑” data entry in response to an up movement, a “↓” data entry in response to a down movement, a “←” data entry in response to a left movement, and a “→” data entry in response to a right movement. The key 930 outputs a “BS” data entry in response to an up movement, an “E” data entry in response to a down movement, a data entry in response to a left movement, and an “r” data entry in response to a right movement.
- The key 935 outputs a “V” data entry in response to an up movement, a “C” data entry in response to a down movement, an “M” data entry in response to a left movement, and a “K” data entry in response to a right movement. The key 940 outputs a “left mouse click” data entry in response to an up movement, a “Z” data entry in response to a down movement, a “G” data entry in response to a left movement, and a “W” data entry in response to a right movement. The key 945 outputs a “-” data entry in response to an up movement, an “esc” data entry in response to a down movement, a “Win” data entry in response to a left movement, and a “Middle Click” data entry in response to a right movement.
- The key 950 outputs a “?” data entry in response to an up movement, an “Esc” data entry in response to a down movement, a “Right Click” data entry in response to a left movement, and a “Win” data entry in response to a right movement. The key 955 outputs an “X” data entry in response to an up movement, a “Q” data entry in response to a down movement, a “B” data entry in response to a left movement, and a “prev” data entry in response to a right movement. The key 960 outputs a “P” data entry in response to an up movement, a “D” data entry in response to a down movement, an “F” data entry in response to a left movement, and an “H” data entry in response to a right movement.
- The key 965 outputs an “Enter” data entry in response to an up movement, a “T” data entry in response to a down movement, an “A” data entry in response to a left movement, and a “” data entry in response to a right movement. The key 970 outputs a “↑” data entry in response to an up movement, a “↓” data entry in response to a down movement, a “←” data entry in response to a left movement, and a “→” data entry in response to a right movement. The key 975 outputs a “Tab” data entry in response to an up movement, an “N” data entry in response to a down movement, an “L” data entry in response to a left movement, and a “J” data entry in response to a right movement. The key 980 outputs a “scroll up” data entry in response to an up movement, a “scroll down” data entry in response to a down movement, a “CAPS” data entry in response to a left movement, and an “=” data entry in response to a right movement. The key 985 outputs a “Ctrl” data entry in response to an up movement, an “S” data entry in response to a down movement, a “Y” data entry in response to a left movement, and a “;” data entry in response to a right movement. The key 990 outputs an “Alt” data entry in response to an up movement, an “Ambi Throw” data entry in response to a down movement, a “Shift” data entry in response to a left movement, and a “Num-Shift” data entry in response to a right movement.
-
FIG. 10 is a flowchart illustrating amethod 1000 of 3D data entry according to an embodiment of the disclosure. Thedata entry devices method 1000. Thedata entry devices method 1000 to implementsteps FIG. 4 . - At
step 1010, a movement of a key is detected. For instance, the fluid chord/character entry component 370 detects that thestem 720 has physically touched at least one of thebottom contacts 740 or theside contacts 750. - At
step 1020, a determination whether the movement is a left movement, an up movement, a right movement, a down movement, or a depression is made. For instance, the fluid chord/character entry component 370 determines whether thestem 720 has physically touched aside contact 750 on the left side of the page inFIG. 7B to correspond to a left movement, aside contact 750 on the top side of the page inFIG. 7B to correspond to an up movement, aside contact 750 on the right side of the page inFIG. 7B to correspond to a right movement, aside contact 750 on the bottom side of the page inFIG. 7B to correspond to a down movement, or abottom contact 740 inFIG. 7A to correspond to a depression. - Finally, at
step 1030, a data entry is selected based on the first determination. The data entry may be the first data entry instep 405 or the second data entry instep 430, and the data entry may be a text entry. As an example, the movement is an up movement of the key 880 in the defaultkey mapping 800, so the fluid chord/character entry component 370 selects “h” as the data entry. - A user may activate a key 220, 630, 660 or a set of
keys data entry device 200 or the right side of thedata entry device 200 or to enter all data from either the left-hand device 610 or the right-hand device 640. Ambidextrous throwover therefore permits the user to multitask by entering data with one hand and performing another task, such as drinking coffee, with another hand. When the user desires to disable ambidextrous throwover and therefore use both hands for data entry, the user may activate thesame key keys - Movement of the
keys keys external device 120. For instance, a left movement of thekeys keys keys keys data entry devices data entry device data entry device - The term “about” means a range including ±10% of the subsequent number unless otherwise stated. While several embodiments have been provided in the present disclosure, it may be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
- In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, components, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled may be directly coupled or may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and may be made without departing from the spirit and scope disclosed herein.
Claims (20)
1. A data entry system comprising:
a processor configured to:
receive a first data entry,
make a first determination whether the first data entry is a first character entry or a first chorded entry,
select a first output based on the first determination, and
transmit the first output.
2. The data entry system of claim 1 , wherein the processor is further configured to:
receive, after transmitting the first output, a second data entry;
make a second determination whether the second data entry is a second character entry or a second chorded entry;
select a second output based on the second determination; and
transmit the second output.
3. The data entry system of claim 2 , wherein the first data entry is the first character entry, and wherein the second data entry is the second chorded entry.
4. The data entry system of claim 2 , wherein the first data entry is the first chorded entry, and wherein the second data entry is the second character entry.
5. The data entry system of claim 2 , wherein the first data entry is the first character entry, and wherein the second data entry is the second character entry.
6. The data entry system of claim 2 , wherein the first data entry is the first chorded entry, and wherein the second data entry is the second chorded entry.
7. The data entry system of claim 1 , further comprising:
a data entry device comprising the processor; and
an external device comprising a display configured to display the first output.
8. The data entry system of claim 1 , wherein the processor is further configured to further receive the first data entry by:
detecting a movement of a key;
making a second determination whether the movement is an up movement, a down movement, a left movement, a right movement, or a depression; and
selecting the first data entry based on the second determination,
wherein the first data entry is a text entry.
9. A computer program product comprising computer-executable instructions for storage on a non-transitory computer-readable medium and that, when executed by a processor, cause a data entry system to:
receive a first data entry;
make a first determination whether the first data entry is a first character entry or a first chorded entry;
select a first output based on the first determination; and
transmit the first output.
10. The computer program product of claim 9 , wherein the instructions further cause the data entry system to:
receive, after transmitting the first output, a second data entry;
make a second determination whether the second data entry is a second character entry or a second chorded entry;
select a second output based on the second determination; and
transmit the second output.
11. The computer program product of claim 10 , wherein the first data entry is the first character entry, and wherein the second data entry is the second chorded entry.
12. The computer program product of claim 10 , wherein the first data entry is the first chorded entry, and wherein the second data entry is the second character entry.
13. The computer program product of claim 10 , wherein the first data entry is the first character entry, and wherein the second data entry is the second character entry.
14. The computer program product of claim 10 , wherein the first data entry is the first chorded entry, and wherein the second data entry is the second chord entry.
15. The computer program product of claim 9 , wherein the instructions further cause the data entry system to display the first output.
16. The computer program product of claim 9 , wherein the instructions further cause the data entry system to further receive the first data entry by:
detecting a movement of a key;
making a second determination whether the movement is an up movement, a down movement, a left movement, a right movement, or a depression; and
selecting the first data entry based on the second determination,
wherein the first data entry is a text entry.
17. A data entry device comprising:
a left-hand device comprising:
a first key configured to provide dedicated data entry for a left-hand thumb,
a second key configured to provide dedicated data entry for a first left-hand finger,
a third key configured to provide dedicated data entry for a second left-hand finger,
a fourth key configured to provide dedicated data entry for a third left-hand finger, and
a fifth key configured to provide dedicated data entry for a fourth left-hand finger; and
a right-hand device comprising:
a sixth key configured to provide dedicated data entry for a right-hand thumb,
a seventh key configured to provide dedicated data entry for a first right-hand finger,
an eighth key configured to provide dedicated data entry for a second right-hand finger,
a ninth key configured to provide dedicated data entry for a third right-hand finger, and
a tenth key configured to provide dedicated data entry for a fourth right-hand finger,
wherein the left-hand device and the right-hand device are configured to work together to receive data entries and transmit outputs based on the data entries.
18. The data entry device of claim 17 , wherein the data entries are any combination of character entries and chorded entries.
19. The data entry device of claim 17 , further comprising a processor configured to:
detect a movement of a key, wherein the key is one of the first key, the second key, the third key, the fourth key, the fifth key, the sixth key, the seventh key, the eighth key, the ninth key, and the tenth key;
make a determination whether the movement is an up movement, a down movement, a left movement, a right movement, or a depression; and
select a data entry based on the determination,
wherein the data entry is a text entry.
20. The data entry device of claim 19 , wherein the up movement and the down movement are in a first dimension, wherein the left movement and the right movement are in a second dimension, and wherein the depression is in a third dimension.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/901,836 US20200393914A1 (en) | 2019-06-14 | 2020-06-15 | Fluid Chord/Character Entry |
US17/834,581 US11586297B2 (en) | 2019-06-14 | 2022-06-07 | Fluid chord/character entry |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962921351P | 2019-06-14 | 2019-06-14 | |
US16/901,836 US20200393914A1 (en) | 2019-06-14 | 2020-06-15 | Fluid Chord/Character Entry |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/834,581 Continuation US11586297B2 (en) | 2019-06-14 | 2022-06-07 | Fluid chord/character entry |
Publications (1)
Publication Number | Publication Date |
---|---|
US20200393914A1 true US20200393914A1 (en) | 2020-12-17 |
Family
ID=73745001
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/901,836 Abandoned US20200393914A1 (en) | 2019-06-14 | 2020-06-15 | Fluid Chord/Character Entry |
US17/834,581 Active US11586297B2 (en) | 2019-06-14 | 2022-06-07 | Fluid chord/character entry |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/834,581 Active US11586297B2 (en) | 2019-06-14 | 2022-06-07 | Fluid chord/character entry |
Country Status (2)
Country | Link |
---|---|
US (2) | US20200393914A1 (en) |
WO (1) | WO2020252465A1 (en) |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3022878A (en) | 1960-01-11 | 1962-02-27 | Ibm | Communication device |
US3428747A (en) | 1965-03-22 | 1969-02-18 | Nicholas Alferieff | Man to machine communication keyboard device |
US4005388A (en) | 1973-11-21 | 1977-01-25 | Termiflex Corporation | Hand-held interactive terminal |
US3945482A (en) | 1973-12-14 | 1976-03-23 | Harvey Einbinder | Orthogonal input keyboards |
US4042777A (en) * | 1975-10-06 | 1977-08-16 | International Business Machines Corporation | One-handed keyboard and its control means |
US4067431A (en) | 1976-03-12 | 1978-01-10 | Whitaker Ranald O | Combinational keyboard with movable keys and adapted for one-handed keying of numerical information |
US4360892A (en) | 1979-02-22 | 1982-11-23 | Microwriter Limited | Portable word-processor |
US4833446A (en) | 1979-11-21 | 1989-05-23 | Ergoplic Ltd. | Keyboard apparatus and method |
US4680572A (en) | 1981-12-14 | 1987-07-14 | Ncr Corporation | Chord entry keying of data fields |
US4467321A (en) | 1982-04-30 | 1984-08-21 | Volnak William M | Chording keyboard for generating binary data |
US4490056A (en) | 1982-09-22 | 1984-12-25 | Whitaker Ranald O | Combinational keyboard utilizing sequential operation of keys |
US4891777A (en) | 1983-05-11 | 1990-01-02 | The Laitram Corporation | Single hand keyboard arrays providing alphanumeric capabilities from twelve keys |
GB8305011D0 (en) | 1983-02-23 | 1983-03-30 | Microwriter Ltd | Computer apparatus and remote keyboards |
GB8322579D0 (en) | 1983-08-23 | 1983-09-28 | Holden R | Keyboards |
US4638306A (en) * | 1984-01-30 | 1987-01-20 | Quixote Corporation | Keyboard entry system |
US4836700A (en) | 1984-04-02 | 1989-06-06 | Jensen Paul S | Data entry system |
FR2585487B1 (en) | 1985-07-29 | 1990-09-07 | Guyot Sionnest Laurent | KEYBOARDS FOR COMPUTERS, <70 CM2 AND LESS THAN 13 CONTACTS ACTUATED IN A WAY WITH ONE-HAND FINGERS |
US4897649A (en) | 1986-12-02 | 1990-01-30 | Stucki Larry R | Keyboard for data entry on control purposes |
US4791408A (en) | 1987-05-14 | 1988-12-13 | Ted Scudder | Keyboard for one-hand operation |
DK0427036T3 (en) | 1989-11-01 | 1996-02-05 | Ferdinand Nande Niklsbacher | Keyboard unit for controlling processor units |
IL98329A0 (en) | 1991-05-31 | 1992-06-21 | Levinrad Maxim D | Single-handed operated keyboard |
WO1993000629A1 (en) | 1991-06-28 | 1993-01-07 | Infogrip, Inc. | Chordic keyboard system |
US5281966A (en) | 1992-01-31 | 1994-01-25 | Walsh A Peter | Method of encoding alphabetic characters for a chord keyboard |
US5535421A (en) * | 1993-03-16 | 1996-07-09 | Weinreich; Michael | Chord keyboard system using one chord to select a group from among several groups and another chord to select a character from the selected group |
US5432510A (en) | 1993-03-22 | 1995-07-11 | Matthews; Walter S. | Ambidextrous single hand chordic data management device |
US5473325A (en) | 1993-08-11 | 1995-12-05 | Mcalindon; Peter J. | Ergonomic human-computer interface apparatus and method |
US5828323A (en) | 1994-05-03 | 1998-10-27 | Bartet; Juan F. | High speed keyboard for computers |
WO1995032461A1 (en) | 1994-05-23 | 1995-11-30 | Australian Institute Of Marine Science | A human/machine interface for computing devices |
US5793312A (en) | 1997-04-09 | 1998-08-11 | Tsubai; Ryozo | Data entry system |
US6552717B2 (en) | 1998-02-27 | 2003-04-22 | Spice Technologies, Inc | OHAI technology user interface |
US6625283B1 (en) | 1999-05-19 | 2003-09-23 | Hisashi Sato | Single hand keypad system |
MXPA02011633A (en) | 2000-05-22 | 2004-05-17 | Digit Wireless Llc | Input devices and their use. |
US6429854B1 (en) | 2000-06-28 | 2002-08-06 | Mckown John W. | Stealthy keyboard |
AU2001287948A1 (en) | 2000-07-24 | 2002-02-05 | Herman Ehrenburg | Computer-compatible, color-coded manual input system |
JP2003196002A (en) | 2001-12-27 | 2003-07-11 | Tokuzen Chin | Keyboard for hand grip-type computer |
US8487872B2 (en) | 2000-11-14 | 2013-07-16 | Blue Orb, Inc. | Apparatus and method for generating data signals |
US6952173B2 (en) | 2001-04-04 | 2005-10-04 | Martin Miller | Miniaturized 4-key computer keyboard operated by one hand |
US6909382B2 (en) | 2001-07-12 | 2005-06-21 | Anders Trell Trust | Polyphonic/chordic annotation method |
SE0103600D0 (en) | 2001-10-30 | 2001-10-30 | Digityper Ab | A portable data input device and use of such a device |
US7196691B1 (en) | 2001-11-14 | 2007-03-27 | Bruce Martin Zweig | Multi-key macros to speed data input |
US6822852B2 (en) | 2001-12-18 | 2004-11-23 | Qualcomm, Incorporated | Handheld devices |
EP1376318A1 (en) | 2002-06-18 | 2004-01-02 | Frank Zngf | Force sensitive key and keyboard arrangement |
US20040046733A1 (en) | 2002-09-19 | 2004-03-11 | International Business Machines Corporation | Method and apparatus for keyboard entry using a handheld input device |
AU2003297170A1 (en) | 2002-12-19 | 2004-07-22 | Anders Trell Trust | Computer input device |
US20030179178A1 (en) | 2003-04-23 | 2003-09-25 | Brian Zargham | Mobile Text Entry Device |
US7253751B2 (en) | 2004-06-04 | 2007-08-07 | Benson Sherrie L | Method for writing language components |
US8941594B2 (en) | 2004-10-01 | 2015-01-27 | Nvidia Corporation | Interface, circuit and method for interfacing with an electronic device |
WO2006067404A2 (en) | 2004-12-20 | 2006-06-29 | Philip John Mickelborough | Computer input device |
US20060202865A1 (en) | 2005-03-04 | 2006-09-14 | Nguyen Mitchell V | Text entry coding system and handheld computing device |
US7973762B2 (en) * | 2006-03-06 | 2011-07-05 | Triggerfinger Software, Inc. | Character input using multidirectional input device |
US7881923B2 (en) | 2006-03-31 | 2011-02-01 | Research In Motion Limited | Handheld electronic device including toggle of a selected data source, and associated method |
US8079766B2 (en) | 2006-06-09 | 2011-12-20 | Marty Forrest Kinney | Key input system and device incorporating same |
WO2008112184A1 (en) * | 2007-03-09 | 2008-09-18 | Morrison John J | Mobile quick-keying device |
WO2009066289A2 (en) | 2007-11-20 | 2009-05-28 | Avi Elazari | Character input system for limited keyboards |
US20090153487A1 (en) | 2007-12-12 | 2009-06-18 | Gunther Adam M | Data input device having a plurality of key stick devices for fast typing and method thereof |
DE202008000632U1 (en) | 2008-01-11 | 2008-06-12 | Dvornikov, Vladimir | Arrangement for entering text, a corresponding computer program and a corresponding computer-readable storage medium as well as an extended variant of the QWERTY keyboard |
US20110095987A1 (en) | 2008-03-31 | 2011-04-28 | Itsuro Yoshimoto | 12-key qwerty text entry method |
RU2008125657A (en) | 2008-06-26 | 2010-01-10 | Константин Ефимович Шварцер (RU) | METHOD FOR INPUT LETTER-LITERAL, SYMBOL-DIGITAL INFORMATION |
US20100052950A1 (en) | 2008-08-30 | 2010-03-04 | Stephen Reid Collier | Multi-input multi-directional device for computer or electronic device input (keyboard-type device) |
WO2011109643A1 (en) | 2010-03-03 | 2011-09-09 | Twitch Technologies Llc | Matrix keyboarding system |
US9383829B2 (en) | 2011-04-30 | 2016-07-05 | Benlin Liu | Hand-held combination key apparatus and method for inputting information by hand-held combination key apparatus |
US8797266B2 (en) | 2011-05-16 | 2014-08-05 | John Zachary Dennis | Typing input systems, methods, and devices |
US20130113714A1 (en) | 2011-11-06 | 2013-05-09 | Dun Dun (Duncan) Mao | Electronic Device Having Single Hand Multi-Touch Surface Keyboard and Method of Inputting to Same |
EP2798439B1 (en) | 2011-12-29 | 2020-11-25 | Intel Corporation | Methods and systems for typing on keyboards on a steering wheel |
AU2013204311B2 (en) | 2012-05-30 | 2016-09-29 | Chomley Consulting Pty. Ltd | Methods, Controllers and Devices for Assembling a Word |
HK1184322A2 (en) | 2012-11-23 | 2014-01-17 | Phonejoy Solutions Ltd | A handheld apparatus for communicating control signals to an information processing device |
US9383825B2 (en) | 2012-12-31 | 2016-07-05 | Nicolas Jones | Universal script input device and method |
US20150220161A1 (en) * | 2013-02-05 | 2015-08-06 | Oleg Ryabchenko | Adapted back-side keyboard |
US9235270B2 (en) | 2013-02-26 | 2016-01-12 | Synerdyne Corporation | Multi-touch mechanical-capacitive hybrid keyboard |
US9740302B2 (en) | 2013-03-14 | 2017-08-22 | Sten Michael Chapin Svensson | Ambidextrous chord keying device for use with hand-held computer |
US20140361992A1 (en) | 2013-06-06 | 2014-12-11 | Shane Chen | Method and apparatus for inputting data packets into an electronic device |
US9335831B2 (en) | 2013-10-14 | 2016-05-10 | Adaptable Keys A/S | Computer keyboard including a control unit and a keyboard screen |
US20150293607A1 (en) | 2014-04-15 | 2015-10-15 | National Cheng Kung University | Chord input method of handheld device matching with virtual interface and physical buttons and handheld device using the same |
US10121388B2 (en) | 2014-04-29 | 2018-11-06 | Georgia Tech Research Corporation | Methods, systems, and apparatuses to convey chorded input |
WO2015178888A1 (en) | 2014-05-19 | 2015-11-26 | RUBIN, Kim | Method of generating chording keyboard symbols |
US10037088B2 (en) | 2014-05-19 | 2018-07-31 | Bengler AS | Method of creating a chording keyboard mapping table |
US10146330B2 (en) | 2014-06-18 | 2018-12-04 | Matthew Swan Lawrence | Systems and methods for character and command input |
US9740839B2 (en) | 2014-08-13 | 2017-08-22 | Google Technology Holdings LLC | Computing device chording authentication and control |
US9720591B2 (en) | 2014-08-20 | 2017-08-01 | Harman International Industries, Incorporated | Multitouch chording language |
US10599216B2 (en) | 2015-03-02 | 2020-03-24 | Tap Systems Inc. | Arbitrary surface and finger position keyboard |
US20170102867A1 (en) | 2015-10-13 | 2017-04-13 | Drew Bernard | Touchpad to interpret palm contact as intentional input |
US20170160818A1 (en) | 2015-12-04 | 2017-06-08 | Synerdyne Corporation | Reprogramable multi-host, multi-character set keyboard |
US10528134B2 (en) | 2017-05-14 | 2020-01-07 | Mark Stouffer | One-handed input chording user input device for converting finger movements into digital input |
CN107008005B (en) | 2017-05-19 | 2023-11-03 | 东莞市健耀烨电子科技有限公司 | Storable digital device controller |
-
2020
- 2020-06-15 US US16/901,836 patent/US20200393914A1/en not_active Abandoned
- 2020-06-15 WO PCT/US2020/037772 patent/WO2020252465A1/en active Application Filing
-
2022
- 2022-06-07 US US17/834,581 patent/US11586297B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11586297B2 (en) | 2023-02-21 |
WO2020252465A1 (en) | 2020-12-17 |
US20220300091A1 (en) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102081490B (en) | Touch screen equipment-oriented dot-dash Chinese character initial and final input system | |
US10191654B2 (en) | System and method for inputting text into electronic devices | |
US9176668B2 (en) | User interface for text input and virtual keyboard manipulation | |
KR101477530B1 (en) | Multimodal text input system, such as for use with touch screens on mobile phones | |
Kölsch et al. | Keyboards without keyboards: A survey of virtual keyboards | |
US7170430B2 (en) | System, method, and computer program product for single-handed data entry | |
JP4648898B2 (en) | Text input system and method | |
JP2013515295A (en) | Data input system and method | |
US20140098036A1 (en) | Text entry using shapewriting on a touch-sensitive input panel | |
JP2006524955A (en) | Unambiguous text input method for touch screen and reduced keyboard | |
CN103970283B (en) | Providing device and method for virtual keyboard operated with two hands | |
JP2002532792A5 (en) | ||
CN102999288A (en) | Input method and keyboard of terminal | |
CN103235696A (en) | Fast Chinese pinyin input method based on touch sensitive device and achieving system thereof | |
CN108700996A (en) | System and method for multi input management | |
US20150193011A1 (en) | Determining Input Associated With One-to-Many Key Mappings | |
US20170371424A1 (en) | Predictive Text Typing Employing An Augmented Computer Keyboard | |
CN103257715A (en) | Pinyin keyboard and input method based on pinyin keyboard | |
US11586297B2 (en) | Fluid chord/character entry | |
CN105426109B (en) | A method of sliding input text | |
Udapola et al. | Braille messenger: Adaptive learning based non-visual touch screen text input for the blind community using braille | |
US20210018988A1 (en) | modifier key toggle keyboard | |
US20150347004A1 (en) | Indic language keyboard interface | |
US20150278176A1 (en) | Providing for text entry by a user of a computing device | |
JP2003084899A (en) | Method for inputting other character including control signal by simultaneous keying of only normal character key in keyboard |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |