Dynamic configuration of the virtual keyboard
The dynamically configurable virtual keyboard system addresses user-specific key layout issues by adjusting size, shape, and arrangement based on input analysis and biometric data, improving typing accuracy and comfort.
Patent Information
- Application Number
- JP2020204068
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-03-03
- Filing Date
- 2020-12-09
- Publication Date
- 2025-10-07
- Estimated Expiration
- 2040-12-09
AI Technical Summary
Virtual keyboards often struggle with user comfort and accuracy due to key size, shape, and arrangement issues, leading to reduced typing speed and accuracy for users with varying hand sizes.
A dynamically configurable virtual keyboard system that adjusts key size, shape, and arrangement based on user input analysis and biometric data to improve typing accuracy and comfort.
Enhances typing accuracy and comfort by dynamically reconfiguring keys in response to user input patterns and biometric data, adapting to individual user preferences and reducing mistyping errors.
Smart Images

Figure 0007750650000001 
Figure 0007750650000002 
Figure 0007750650000003
Abstract
Description
[Technical Field]
[0001] FIELD OF THE DISCLOSURE This disclosure relates generally to dynamically configuring a virtual keyboard. [Background technology]
[0002] This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and / or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
[0003] A virtual keyboard is typically displayed on an electronic display and uses a digital surface to receive input similar to a traditional keyboard. For example, a virtual keyboard can receive touch-based input corresponding to keys on the virtual keyboard. Due to different physical characteristics of users, the standard size, shape, and / or arrangement of keys on a virtual keyboard can be difficult for different users to use. For example, due to insufficient spacing and / or size of the keys, users with smaller hands may find the keys uncomfortably far apart, while users with larger hands may often press the wrong keys. As a result, typing accuracy, typing speed, and comfort may be significantly reduced for certain users of a virtual keyboard. Summary of the Invention
[0004] Various aspects of the present disclosure may be better understood after reading the following detailed description and by reference to the drawings, in which: [Brief explanation of the drawings]
[0005] [Figure 1] 1 is a schematic diagram of an electronic device incorporating a virtual keyboard according to an embodiment of the present disclosure;
[0006] [Figure 2] 1 is a block diagram of a virtual keyboard system according to an embodiment of the present disclosure;
[0007] [Figure 3] FIG. 2 is a schematic diagram of a virtual keyboard before reconfiguration according to an embodiment of the present disclosure.
[0008] [Figure 4] FIG. 2 is a schematic diagram of a portion of a virtual keyboard before reconfiguration according to an embodiment of the present disclosure.
[0009] [Figure 5] FIG. 1 is a schematic diagram of a virtual keyboard after a single reconfiguration instance according to an embodiment of the present disclosure.
[0010] [Figure 6] 1A-1C are schematic diagrams of a virtual keyboard after multiple reconfiguration instances according to an embodiment of the present disclosure.
[0011] [Figure 7] FIG. 1 is a flow diagram of a process for dynamic reconfiguration of a virtual keyboard system according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0012] One or more specific embodiments of the present disclosure are described below. In an effort to provide a concise description of these embodiments, not all configurations of an actual implementation are described in the specification. It should be understood that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve developer-specific goals, such as compliance with system- and business-related constraints that may vary from implementation to implementation. Moreover, it should be understood that such a development effort may be complex and time-consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill in the art having the benefit of this disclosure.
[0013] In one embodiment, the system includes an electronic display configured to display a virtual keyboard. In certain embodiments, the virtual keyboard includes a plurality of keys. In certain embodiments, the system includes a processor communicatively coupled to the electronic display. In certain embodiments, the processor is configured to receive an erased character in a first string, receive a replacement character in a second string, and compare the first string and the second string to determine a difference in corresponding character locations in the first string and the second string. In certain embodiments, the processor is also configured to increment a counter based on the difference, the counter corresponding to a first character in the first string and a second character in the second string, and to adjust at least one of the plurality of keys of the virtual keyboard based on the counter satisfying a threshold.
[0014] In another embodiment, a method includes receiving a set of touch data and generating a user keyboard profile based on the set of touch data. In a particular embodiment, the user keyboard profile includes a configuration of a virtual keyboard. In a particular implementation, the method also includes receiving a set of biometric data and generating a user biometric profile based on the set of biometric data, the user biometric profile being associated with the user keyboard profile.
[0015] In other embodiments, the method also includes receiving a set of biometric data and recognizing the user based on the set of biometric data. In certain embodiments, the method also includes adjusting at least one key of the plurality of keys of the virtual keyboard based on the recognition.
[0016] 1 is a schematic diagram illustrating an electronic device 100 incorporating a virtual keyboard 104 on an electronic display 102, according to an embodiment of the present disclosure. In some embodiments, the electronic device 100 may be a mobile device, a laptop, a personal computer, a tablet, an eReader, an eWriter, a personal digital assistant, a watch, or any other suitable electronic device that may incorporate the virtual keyboard 104.
[0017] Electronic display 102 may include any suitable display technology for displaying virtual keyboard 104, such as a liquid crystal display (LCD), a light-emitting diode (LED) display, or an organic LED display. In particular embodiments, electronic display 102 may be a touchscreen display. For example, electronic display 102 may include one or more sensors, such as capacitive or pressure sensors, to detect and indicate where touch and / or pressure of a fingertip and / or writing implement is applied to electronic display 102. In particular embodiments, electronic display 102 may display virtual keyboard 104 having a set of keys, each key of the set of keys in virtual keyboard 104 may include one of one or more sensors that sense when the respective key is selected. In response to receiving an indication from the one or more sensors that a key has been selected, virtual keyboard 104 may identify a character on virtual keyboard 104 that corresponds to the selected key. Alternatively, the virtual keyboard 104 may be optically projected onto a surface and / or displayed in a virtual reality, mixed reality, or augmented reality environment, and optical detection and analysis of hand and finger movements may be interpreted as input to the virtual keyboard.
[0018] 2 is a block diagram of a dynamically reconfigurable virtual keyboard system 200, as described herein, according to an embodiment of the present disclosure. In a particular embodiment, the virtual keyboard system 200 includes a controller 202, a storage device 218, and an electronic display 208, which may generate a virtual keyboard 214, such as the electronic display 102 of FIG. 1. The controller 202 may control the operation of the display 208, process touch data acquired by the touch sensor 210, and process biometric data acquired by the biometric sensor 212. The controller 202 may be coupled to the display 208 by any suitable technique for communicating sensor data and control signals between the controller 202 and the display 208, such as a wireless, optical, coaxial, wired, or other suitable connection.
[0019] The display 208 may be similar to the electronic display 102 of FIG. 1. The display 208 may include any suitable number of touch sensors 210 and may include any suitable number of biometric sensors 212. In particular embodiments, the display 208 may be a touchscreen display. For example, the touch sensor(s) 210 may detect touch data indicating where touch and / or pressure of a fingertip and / or writing implement is applied to the display 208. The touch sensor(s) 210 may then transmit the touch data to the controller 202 for processing.
[0020] The biometric sensor 212 may sense or detect biometric data (e.g., fingerprint, facial recognition information, iris recognition information, heart rate, electrocardiogram (ECG) information, body temperature, photoplethysmogram (PPG) information, galvanic skin activity (EDA)) from the user 226. For example, the biometric sensor 212 may detect biometric data from the fingerprint of the user 226. The biometric sensor 212 may then transmit the biometric data to the controller 202 for processing.
[0021] As will be appreciated, the controller 202 may include many elements that control the operation of the display 208 and facilitate the generation and / or interpretation of touch data and / or biometric data. For example, as shown, the controller 202 may include a processor 204 and a memory 206. The processor 204 may instruct the biometric sensor 212 and / or the touch sensor 210 to initiate or terminate a sensing period. Additionally, the processor 204 may process the acquired touch data and / or biometric data to generate a user keyboard profile 220 and / or a user biometric profile 222. The user keyboard profile 220 may include a configuration of the keys 216 for the virtual keyboard 214. For example, the configuration may include the size, shape, and arrangement (i.e., location) for each key 216. Additionally, the processor 204 may include one or more general-purpose microprocessors, one or more application-specific processors (ASICs), one or more field-programmable logic arrays (FPGAs), or any other processing circuitry that facilitates management of the virtual keyboard system 200.
[0022] The processor 204 may determine keys 216 of the virtual keyboard 214 that were intended to be selected by the user 226 but were inadvertently missed due to the placement of the keys 216. Moreover, the processor 204 may dynamically reconfigure the virtual keyboard 214 to place the keys 216 intended to be selected by the user 226 where the user expected them to be. Thus, the processor 204 may include receiving and converting circuitry. Specifically, the processor 204 may receive touch data from the touch sensor(s) 210 representing touch and / or pressure indications from the user 226 and process the touch data by, for example, identifying a set of character strings corresponding to the indications. In particular embodiments, one or more of the character strings may be a set of erased characters. Additionally or alternatively, one or more of the character strings may be a set of replacement characters.
[0023] In some embodiments, the processor 204 may compare the sets of strings to determine differences in one or more character locations of the sets of strings. For example, the processor 204 may receive touch data from the touch sensor(s) 210 and process the touch data to identify a first string of erased characters and a second string of replacement characters. Additionally, the processor 204 may determine that the first string and the second string were entered within a threshold duration of less than five minutes (e.g., three minutes, one minute, thirty seconds, five seconds, etc.), which may indicate that the user 226 erroneously selected a key 216 (corresponding to an incorrect character in the first string) and corrected the error by deleting the incorrect key 216 and selecting a correct key 216 (corresponding to a correct character in the second string). In particular embodiments, the threshold duration may be less than five seconds.
[0024] In particular, processor 204 may parse the first string and the second string to identify similarities and / or differences between the first string and the second string. For example, the first string may be "macket" and the second string may be "jacket." As a result, processor 204 may identify the first character (i.e., m) in the first column and the second character (i.e., j) in the second column as a key pair corresponding to the difference between the first string and the second string. In particular embodiments, processor 204 may determine that the first string and the second string differ only in a single position, such as the first position in the example above. Additionally, processor 204 may determine that the characters in the key pair are located adjacent to each other on virtual keyboard 214 generated by display 208. As a result, processor 204 may determine that user 226 mistakenly entered the letter "m" instead of the desired letter "j." In particular embodiments, characters that are adjacently positioned on the virtual keyboard 214 may share at least a portion of a common boundary. Additionally or alternatively, characters that are adjacently positioned on the virtual keyboard 214 may not have intervening characters positioned between them.
[0025] The processor 204 may monitor the touch data for repetitive occurrences of the same mistyped character. For example, the processor 204 may count each instance of the mistyped character for a key pair. In some embodiments, the processor 204 may increment a counter 224 for a key pair including a first character in a first column and a second character in a second column and store the counter 224 for the key pair in the storage device 218. In particular embodiments, the counter 224 may be stored in the user keyboard profile 220. The processor 204 may compare the value of the counter 224 to a threshold and adjust the display 208 for the virtual keyboard 214 when the counter meets or exceeds the threshold. As a result, the processor 204 may dynamically reconfigure the virtual keyboard 214 after multiple repetitive errors rather than after a single instance of a mistyped character.
[0026] The processor 204 may continue to receive touch data from the touch sensor(s) 210 corresponding to the set of character strings. Additionally, the processor 204 may continue to increment a set of counters 224 for each identified key pair and store the set of counters 224 in the storage device 218. In particular embodiments, the processor 204 may monitor the set of counters 224 and compare the value of at least one counter in the set of counters 224 to a threshold value of at least 10 (e.g., 50, 100, 1000, etc.). In some embodiments, the threshold value may be a dynamic threshold value that starts at 10, for example, and increments after the counter 224 reaches the dynamic threshold value. Alternatively, the processor 204 may reset the counter 224 once the threshold value is reached and begin incrementing the counter 224 from zero again. Additionally or alternatively, the processor 204 may reset the counter 224 after a threshold duration. For example, processor 204 may reset counter 224 after a threshold time period of at least one day (e.g., two days, one week, one month, etc.). As a result, counter 224 may be reset periodically to prevent unintentional reconfiguration of virtual keyboard 214 due to a small number of errors accumulating over a long period of time into a larger number of errors that exceed the threshold for counter 224. After the counter meets the threshold, processor 204 may adjust display 208, which generates virtual keyboard 214.
[0027] For example, processor 204 may adjust the size, shape, and / or arrangement of at least one key 216 on virtual keyboard 214 that corresponds to one of the characters in the key pair. Additionally or alternatively, processor 204 may adjust the size, shape, and / or arrangement of at least one key 216 on virtual keyboard 214 that corresponds to an adjacent key 216 of at least one of the characters in the key pair. After adjusting display 208 that generates virtual keyboard 214, processor 204 may store the adjusted display in user keyboard profile 220 for user 226. For example, processor 204 may store the adjusted display as a configuration of number of keys 216 of virtual keyboard 214 (e.g., keys 216 reconfigured from a default key configuration of virtual keyboard 214, or each key 216 of virtual keyboard 214). In particular, the configuration may include the size, shape, and arrangement of number of keys 216 of virtual keyboard 214.
[0028] The processor 204 may associate a user biometric profile 220 with a user keyboard profile 220 to tailor the virtual keyboard 214 for multiple users. For example, the processor 204 may receive biometric data from the biometric sensor 212 representing a set of fingerprints of the user 226 and process the biometric data, for example, by identifying friction ridges on at least one finger of the user 226. In particular embodiments, the processor 204 may generate a user biometric profile 222 for the user 226 based on the biometric data and / or the processed biometric data and store the user biometric profile 222 in the storage device 218. Additionally or alternatively, the processor 204 may associate the user biometric profile 222 for the user 226 with the user keyboard profile 220 for the user 226.
[0029] The processor 204 may determine when a change in the user 226 of the virtual keyboard system 200 occurs based on the biometric data received from the biometric sensor 212. Additionally, the processor 204 may retrieve a stored user keyboard profile 220 for the user 226 and adjust the display 208 that generates the virtual keyboard 214 in response to the change in the user 226. In some embodiments, the processor 204 may receive subsequent biometric data from the biometric sensor 212 and compare the subsequent biometric data with a set of previously received biometric data stored in the set of user biometric profiles 222. Additionally or alternatively, the processor 204 may process the subsequent biometric data and compare the processed subsequent biometric data with a set of previously processed biometric data stored in the set of user biometric profiles 222. In certain embodiments, the processor 204 may recognize the user of the virtual keyboard 214 based on the comparison. For example, the subsequent biometric data may match or correlate with one of the previously received biometric data in the corresponding user biometric profile 222. As a result, processor 204 may receive user keyboard profile 220 associated with user biometric profile 222 and adjust virtual keyboard 214 generated by display 208 according to user keyboard profile 220. Additionally or alternatively, user 226 may enter login information. For example, processor 204 may recognize user 226 based on the login information received by processor 204. Processor 204 may determine that the login information corresponds to user keyboard profile 220 and adjust virtual keyboard 214 generated by display 208 according to user keyboard profile 220.
[0030] Memory 206 may include one or more tangible, non-transitory computer-readable media that store instructions executable by processor 204 and / or data to be processed by processor 204. For example, memory 206 may include random access memory (RAM), read-only memory (ROM), rewritable non-volatile memory such as a flash memory, a hard drive, an optical disk, and / or the like. Memory 206 may store any suitable instructions that facilitate management of virtual keyboard system 200. For example, memory 206 may store touch data obtained via touch sensor 210 and / or biometric data obtained via biometric sensor 212 and / or algorithms utilized by processor 204 to generate user keyboard profile(s) 220 and user biometric profile(s) 222. In some embodiments, memory 206 may store a set of instructions and / or signal processing algorithms executed by processor 204. In particular, processor 204 may execute signal processing algorithms on biometric data to generate user biometric profile 222. For example, the processor 204 may execute a signal processing algorithm to identify friction ridges in the fingerprint of at least one finger of the user 226 .
[0031] Storage device 218 may include one or more tangible, non-transitory computer-readable media that store instructions executable by processor 204 and / or data to be processed by processor 204. For example, storage device 218 may include random access memory (RAM), read-only memory (ROM), one or more hard drives, flash memory, or the like. Storage device 218 may store any suitable information that facilitates management of virtual keyboard system 200. For example, storage device 218 may store touch data and / or biometric data to be processed by controller 202, or may store processed touch data and processed biometric data. In certain embodiments, virtual keyboard system 200 may include additional elements not shown in FIG. 2 , such as additional data acquisition and processing controls, a display panel, a user interface, etc.
[0032] With the foregoing in mind, FIG. 3 illustrates a virtual keyboard 300 prior to reconfiguration, according to an embodiment of the present disclosure. The virtual keyboard 300 may include any suitable number of keys 302, such as alphanumeric keys, punctuation keys, navigation keys, computer function keys, and command keys. Each of the keys 302 may include or be coupled to a touch sensor, such as touch sensor(s) 210 of FIG. 2 , to generate touch data based on the touch and / or pressure applied to the key 302. In particular embodiments, prior to reconfiguration, each alphanumeric key of the keys 302 may have a similar size and / or shape. A center key may be surrounded by adjacent keys. For example, the center key 304 may be surrounded by adjacent keys 306, 308, 310, 312, 314, and 316. Adjacent keys may be said to share a common boundary (e.g., the center key 304). Specifically, there may be no intervening keys between each adjacent key and the center key.
[0033] With the foregoing in mind, FIG. 4 illustrates a portion 400 of a virtual keyboard before reconfiguration, according to an embodiment of the present disclosure. The virtual keyboard portion 400 may include a center key 402 and an adjacent key 404. As illustrated, the center key 402 and the adjacent key 404 may be alphanumeric keys. In particular embodiments, the center key 402 and the adjacent key 404 may have a similar size and / or shape before reconfiguration. The center key 402 and the adjacent key 404 may be grouped into key pairs by the processor 204. In particular, each key pair may be a pair of keys that are commonly selected incorrectly instead of each other. For example, two adjacent keys (e.g., 402, 404) may form a key pair. A processor, such as the processor 204 of FIG. 2, stores a counter for the key pair corresponding to the center key 402 and the adjacent key 404 and increments the counter for the key pair each time an adjacent key 404 is incorrectly entered on the center key 402, as described herein.
[0034] With the foregoing in mind, FIG. 5 illustrates a virtual keyboard 500 after a single instance of reconfiguration in accordance with an embodiment of the present disclosure. The virtual keyboard 500 includes a center key 502 and adjacent keys 504 and 506. As illustrated, the center key and adjacent keys 504 and 506 are alphanumeric keys. In particular embodiments, a processor, such as the processor 204 of FIG. 2 , may adjust and / or reconfigure the display of the virtual keyboard 500 based on a counter for a key pair including the center key 502 and an adjacent key (e.g., 504 and 506) that meets a threshold. For example, each time the user 226 mistakenly enters an adjacent key (e.g., 504 and 506) instead of the center key 502, replaces the adjacent key character in a first string of erased characters, and replaces the adjacent key character with the center key character in a second string of replacement characters, a counter associated with the corresponding key pair may be incremented. As a result of the counters associated with the key pairs meeting their respective thresholds, the processor may increase the size (i.e., surface area) of the central key 502 and decrease the sizes of the adjacent keys 504, 506, as shown in Figure 5. Illustratively, the processor may extend the surface area of the central key 502 in the direction of the adjacent keys 504, 506. Additionally or alternatively, the processor may decrease the size (i.e., surface area) of only the adjacent keys corresponding to the letters in the incremented key pair and / or increase the size of the central key.
[0035] With the foregoing in mind, FIG. 6 illustrates a virtual keyboard 600 after multiple instances of reconfiguration, according to an embodiment of the present disclosure. The virtual keyboard 600 includes any number of keys, such as keys 602, 604, 606, and 608. As shown, the keys 602, 604, 606, and 608 differ in size, shape, and / or arrangement from a standard configuration, such as the virtual keyboard 300 of FIG. 3. As shown in FIG. 6, the virtual keyboard 600 has undergone multiple instances of reconfiguration due to multiple counters associated with multiple key pairs that meet respective thresholds. Each instance of reconfiguration may adjust the size, shape, and arrangement of one or more keys of the virtual keyboard 600. As a result, a user of the virtual keyboard 600 selects fewer and fewer incorrect keys due to the reconfiguration of the keys of the virtual keyboard 600 to meet the user's physical characteristics.
[0036] With the foregoing in mind, FIG. 7 is a flow diagram of a process 700 for dynamic reconfiguration of a virtual keyboard, such as virtual keyboard 104 of FIG. 1, in accordance with an embodiment of the present disclosure. While process 700 is described as being performed by processor 204, it should be understood that process 700 may be performed by any suitable device that may control and / or communicate with components of virtual keyboard system 200. Furthermore, while process 700 is described using steps in a particular sequence, it should be understood that the present disclosure contemplates that the described steps may be performed in a sequence different from the illustrated sequence, and that certain described steps may be performed by executing instructions stored on a tangible, non-transitory computer-readable medium, such as memory 206, using any suitable processing circuitry, such as processor 204.
[0037] In this process 700, a user, such as user 226 of FIG. 2, may type into a virtual keyboard, such as virtual keyboard 214, incorrectly input a character into a string of characters, and then replace the incorrect character with a correct character by erasing the string or a portion of the string. As a result of typing and interacting with the virtual keyboard, touch data is generated and transmitted, for example, by touch sensor(s) 210 of FIG. 2. In some embodiments, a set of touch data is received by a processor, such as processor 204 of FIG. 2. Additionally, processor 204 may process the set of touch data to generate a set of strings. In particular embodiments, the set of strings may include a first string of erased characters associated with the incorrectly input string. The first string of erased characters is received (step 702), for example, by processor 204 of FIG. 2.
[0038] After mistyping the first string, the user may delete the first string and enter a second, corrected string. In some embodiments, processor 204 may process the second set of touch data to generate a second set of strings that includes the second string. Additionally or alternatively, the first set of strings may include a second string of replacement characters. The second string of character replacements may be generated and transmitted, for example, by touch sensor(s) 210 of display 208 of FIG. 2. The second string of replacement characters may be received (step 704) by processor 204 of FIG. 2, for example.
[0039] The processor 204 may then determine the mistyped characters and the intended characters by comparing the first and second strings. The first and second strings are compared (step 706), for example, in and / or by the processor 204 of FIG. 2, to determine the mistyped characters. In particular, the processor 204 identifies characters at each location in the first and second strings. In particular embodiments, the processor 204 may group characters that are in the same position in the first and second strings. For example, the processor 204 may group characters that are in a first position in a first group, characters that are in a second position in a second group, and so on. Additionally, the processor 204 may analyze the character groupings to determine whether there are any differences between the characters within the groups. For example, the processor 204 may determine that a first character from the first string in the first group and a second character in the second string in the first group are different. In particular embodiments, processor 204 may determine whether different characters in the group are located adjacent to one another on a virtual keyboard, such as virtual keyboard 300 of Figure 3. For example, processor 204 may determine that the different characters are adjacent characters on the virtual keyboard and may determine that the different characters correspond to an incorrectly typed character (i.e., a deleted character) and an intended character (i.e., a replaced character).
[0040] To verify that the mistyped character is an error associated with the mistyped character and not a user selection to completely replace the character string, the processor determines whether there is only a single difference between the first string and the second string based on the comparison (step 708). For example, the processor 204 may determine that only a single difference exists within a group of characters formed from the first string and the second string. As a result, the processor may increment a counter corresponding to the key pair for the first character and the second character (step 710). Additionally, the processor may store the counter for the key pair in a user keyboard profile for the user.
[0041] The processor determines whether the counter for the key pair meets a threshold (step 712). In particular embodiments, the threshold may be a dynamic threshold that increases each time the dynamic threshold is met. For example, the value for the dynamic threshold may start with an initial value of 10 and continue to increase to a value of 100 after the counter reaches the initial value. In particular cases, the dynamic threshold may increase exponentially. As a result, the processor 204 may adjust the virtual keyboard more frequently toward the beginning of the user's use of the virtual keyboard.
[0042] The processor may then adjust the configuration of the keys on the virtual keyboard to better accommodate the user's frequent mistakes with a particular key pair. The processor adjusts or instructs the display to adjust at least one key of the virtual keyboard (step 714). In some embodiments, the processor may adjust the size, shape, placement, or any combination thereof, of at least one key. Additionally or alternatively, the processor may adjust the size, shape, placement, or any combination thereof, of one or more adjacent keys of the central key in the key pair. The electronic display generating the virtual keyboard may correspondingly adjust the other keys of the virtual keyboard to display the adjusted size, shape, and / or placement of the keys of the virtual keyboard.
[0043] In certain embodiments, process 700 may include additional steps. In certain embodiments, the processor may generate a user biometric profile to identify a user of the virtual keyboard and store the virtual keyboard configuration in a user keyboard profile associated with the user biometric profile. For example, a biometric sensor, such as biometric sensor 212 of FIG. 2, may generate and transmit a set of biometric data for the user. In some embodiments, a processor, such as processor 204 of FIG. 2, may receive the set of biometric data and process the biometric data. The processor may compare the set of biometric data with a set of biometric data stored in a user biometric profile, such as user biometric profile 222 of FIG. 2, and recognize the user of the virtual keyboard based on the comparison. Additionally, the processor may adjust at least one key of the virtual keyboard based on the recognition. For example, the processor may adjust at least one key of the virtual keyboard to match or correlate with a configuration included in a user keyboard profile associated with the recognized user biometric profile. Additionally or alternatively, the processor may process the set of biometric data received from the biometric sensor, generate a new user biometric profile, and store the new user biometric profile in a storage device, such as storage device 218 of FIG. 2.
[0044] While only particular configurations of the present disclosure have been illustrated and described herein, many modifications and variations will occur to those skilled in the art. For example, while the embodiments described herein involve the reconfiguration of a virtual keyboard system, substantially similar advantages provided by the present invention may be provided to similar virtual display systems for other types of control devices. For example, virtual control systems for audio engineering, virtual instrument manipulation, graphic design, augmented reality, virtual reality, and any other suitable virtual display system may be reconfigured using the systems and methods described herein.
[0045] The techniques presented and claimed herein are drawn to and applied to material objects and specific examples of a practical nature that clearly improve the art, and are therefore not abstract, intangible, or purely theoretical. Furthermore, if the claims appended at the end of this specification contain one or more elements designated as "means for [performing] [function]" or "steps for [performing] [function]," such elements are intended to be construed under 35 U.S.C. §112(f). However, for any claim containing elements designated in any other manner, such elements are not intended to be construed under 35 U.S.C. §112(f).
[0046] Exemplary embodiments of the disclosure The following numbered clauses define certain exemplary embodiments of the present disclosure.
[0047] Clause 1 an electronic display configured to display a virtual keyboard; a processor communicatively coupled to the electronic display; The virtual keyboard includes a plurality of keys, The processor receiving a first string of erase characters; Receive a second sequence of replacement characters; comparing the first string to the second string to determine differences at corresponding character locations in the first string and the second string; incrementing a counter based on the difference, and adjusting at least one key of the plurality of keys of the virtual keyboard based on the counter satisfying a threshold; It is configured as follows: The counter corresponds to a first character in the first column and a second character in the second column. system.
[0048] Clause 2 a biometric sensor configured to generate a set of biometric data; The processor receiving a set of biometric data; Identifying a user based on a set of biometric data; and adjusting at least one key of the plurality of keys of the virtual keyboard based on the user; It is configured as follows: 1. The system described in clause 1.
[0049] Clause 3 10. The system of claim 1, wherein adjusting at least one key of the plurality of keys of the virtual keyboard includes changing the size of at least one key of the plurality of keys, the shape of at least one key of the plurality of keys, or both.
[0050] Clause 4 10. The system of claim 1, wherein the processor is configured to determine that a second character is located adjacent to a first character on a virtual keyboard.
[0051] Clause 5 10. The system of claim 1, wherein the corresponding character locations include a single location in the first column and a single location in the second column.
[0052] Clause 6 10. The system of claim 1, wherein adjusting at least one key of the plurality of keys of the virtual keyboard includes changing a placement of one or more keys of the plurality of keys on the virtual keyboard.
[0053] Clause 7 10. The system of claim 1, wherein the threshold is a dynamic threshold.
[0054] Article 8 8. The system of clause 7, wherein the dynamic threshold is increased in response to the counter satisfying the dynamic threshold.
[0055] Article 9 receiving a set of touch data; generating a user keyboard profile based on the set of touch data, the user keyboard profile including a configuration of a virtual keyboard; receiving a set of biometric data; generating a user biometric profile based on the set of biometric data, the user biometric profile being associated with the user keyboard profile; method.
[0056] Article 10 The set of touch data includes a first string of erasure characters and a second string of replacement characters, and the method comprises: comparing the first string to the second string to determine differences at corresponding character locations in the first string and the second string; and adjusting the configuration of the virtual keyboard based on the comparison. The method described in clause 9.
[0057] Article 11 11. The method of claim 10, wherein adjusting the configuration of the virtual keyboard includes changing the size of a first key of the virtual keyboard.
[0058] Article 12 12. The method of claim 11, wherein changing the size of the first key includes increasing the size of the first key.
[0059] Article 13 12. The method of claim 11, wherein adjusting the configuration of the virtual keyboard includes changing the size of a second key of the virtual keyboard.
[0060] Article 14 14. The method of claim 13, wherein changing the size of the second key includes decreasing the size of the second key.
[0061] Article 15 12. The method of claim 11, wherein adjusting the configuration of the virtual keyboard includes changing the shape of a first key of the virtual keyboard.
[0062] Article 16 12. The method of claim 11, wherein adjusting the configuration of the virtual keyboard includes changing the placement of a first key of the virtual keyboard.
[0063] Article 17 receiving a set of biometric data; Identifying a user based on a set of biometric data; and adjusting at least one key of the plurality of keys of the virtual keyboard based on the identification. method.
[0064] Article 18 18. The method of claim 17, comprising generating a user keyboard profile, the user keyboard profile comprising a configuration of a plurality of keys of a virtual keyboard.
[0065] Article 19 19. The method of clause 18, wherein adjusting at least one key of the plurality of keys includes adjusting at least one key of the plurality of keys to correlate with the configuration.
[0066] Article 20 receiving a second set of biometric data; generating a user biometric profile based on the second set of biometric data; The method described in clause 17.
Claims
1. an electronic display configured to display a virtual keyboard; a processor communicatively coupled to the electronic display; the virtual keyboard includes a plurality of keys; The processor: receiving a first string of erase characters; receiving a second sequence of replacement characters; comparing the first string with the second string to determine differences at corresponding character locations in the first string and the second string; incrementing a counter based on the difference; adjusting at least one key of the plurality of keys of the virtual keyboard based on the counter satisfying a threshold number of times; resetting the counter after a threshold duration based on the counter meeting the threshold number of times; It is configured as follows: the counter corresponds to a first character in the first string and a second character in the second string; system.
2. a biometric sensor configured to generate a set of biometric data; The processor: receiving the set of biometric data; identifying a user based on the set of biometric data; and adjusting at least one key of the plurality of keys of the virtual keyboard based on the user; It is configured as follows: The system of claim 1 .
3. 2. The system of claim 1, wherein adjusting at least one key of the plurality of keys of the virtual keyboard comprises changing a size of at least one key of the plurality of keys, a shape of at least one key of the plurality of keys, or both.
4. The system of claim 1 , wherein the processor is configured to determine that the second character is located adjacent to the first character on the virtual keyboard.
5. The system of claim 1 , wherein the corresponding character locations include a single location in the first column and a single location in the second column.
6. The system of claim 1 , wherein adjusting at least one key of the plurality of keys of the virtual keyboard comprises changing a placement of one or more keys of the plurality of keys on the virtual keyboard.
7. The system of claim 1 , wherein the threshold number is a dynamic threshold.
8. The system of claim 7 , wherein the dynamic threshold is increased in response to the counter meeting the dynamic threshold.
9. receiving a set of touch data; generating a user keyboard profile based on the set of touch data, the user keyboard profile including a configuration of a virtual keyboard; receiving a first string of erase characters via the virtual keyboard; receiving a second sequence of replacement characters via the virtual keyboard; comparing the first string to the second string to determine differences at corresponding character locations in the first string and the second string; incrementing a counter based on the difference, the counter corresponding to a first character in the first string and a second character in the second string; adjusting at least one key of the plurality of keys of the virtual keyboard based on the counter meeting a threshold number of times; resetting the counter after a threshold duration based on the counter meeting the threshold number of times. method.
10. receiving a set of biometric data; generating a user biometric profile based on the set of biometric data, the user biometric profile being associated with the user keyboard profile; 10. The method of claim 9.
11. The method of claim 10 , wherein adjusting the configuration of the virtual keyboard includes changing a size of a first key of the virtual keyboard.
12. The method of claim 11 , wherein changing the size of the first key comprises increasing the size of the first key.
13. The method of claim 11 , wherein adjusting the configuration of the virtual keyboard includes changing a size of a second key of the virtual keyboard.
14. The method of claim 13 , wherein changing the size of the second key comprises decreasing the size of the second key.
15. The method of claim 11 , wherein adjusting the configuration of the virtual keyboard includes changing a shape of the first key of the virtual keyboard.
16. The method of claim 11 , wherein adjusting the configuration of the virtual keyboard includes changing a location of the first key of the virtual keyboard.
17. receiving a first string of erase characters via a virtual keyboard; receiving a second sequence of replacement characters via the virtual keyboard; comparing the first string to the second string to determine differences at corresponding character locations in the first string and the second string; incrementing a counter based on the difference, the counter corresponding to a first character in the first string and a second character in the second string; adjusting at least one key of the plurality of keys of the virtual keyboard based on the counter meeting a threshold number of times; resetting the counter after a threshold duration based on the counter meeting the threshold number of times. method.
18. 20. The method of claim 17, comprising generating a user keyboard profile, the user keyboard profile including a configuration of the plurality of keys of the virtual keyboard.
19. 20. The method of claim 18, wherein adjusting at least one key of the plurality of keys comprises adjusting at least one key of the plurality of keys to correlate with the configuration.
20. receiving a set of biometric data; generating a user biometric profile based on the set of biometric data; 18. The method of claim 17.
Citation Information
Patent Citations
Data input device, information processor, data input method and data input program
JP2005267424A
A virtual keypad generator with learning capabilities.
JP2012523611A
Electronic apparatus having software keyboard function and method for controlling electronic apparatus having software keyboard function
JP2014170427A
Image processing system, operation section, control method, and program
JP2014192687A
Information terminal device, key correction method, and key correction program
JP2014235722A