Soft keyboard with keypress markers

Disclosed herein are technologies that improve user interaction when using a soft keyboard of a touchscreen device (e.g., a smartphone or tablet computer). More particularly, the technologies described herein provide feedback to a user regarding keypress accuracy on a soft keyboard of a touchscreen device. In accordance with one aspect of the technologies, a keypress marker is presented to indicate the location of touch on the soft keyboard.

TECHNICAL FIELD

The present disclosure relates generally to a user interface technology.

BACKGROUND

A soft keyboard is a system that replaces a mechanical or hardware keyboard on a computing device with an on-screen image map of a keyboard. A soft keyboard may also be called an onscreen keyboard, touchscreen keyboard, virtual keyboard, or software keyboard. Soft keyboards are typically used to enable input on a handheld device (such as a smartphone) so that the device does not need to have a mechanical keyboard.

BRIEF SUMMARY

Disclosed herein are technologies that improve user interaction when using a soft keyboard of a touchscreen device (e.g., a smartphone or tablet computer). More particularly, the technologies described herein provide feedback to a user regarding keypress accuracy on a soft keyboard of a touchscreen device.

This Summary is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

The Detailed Description references the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and components.

DETAILED DESCRIPTION

Disclosed herein are technologies that improve user interaction when using a soft keyboard of a touchscreen device (e.g., a smartphone or tablet computer). More particularly, the technologies described herein provide feedback to a user regarding keypress accuracy on a soft keyboard of a touchscreen device.

FIG. 1shows an example touchscreen100of a device (not shown). Displayed on the example touchscreen100is user interface (UI) called a soft keyboard110. Several keys, such as keys X, J, and T are part of the soft keyboard110.

With a soft keyboard, a user enters data by tapping a keyboard portion of the touchscreen of a device. The user taps a portion of the screen real estate that corresponds to where a graphic of a key is displayed. This may be done with a stylus, but more commonly, a user uses his or her fingers to tap the screen.

FIG. 2shows a user's finger210interacting with the soft keyboard110of the example touchscreen100. As depicted, the user is touching the key X. However, the user's finger210(and even just the tip) typically covers all or most of a key. Consequently, as shown, the key X is not visible inFIG. 2to illustrate the user's inability to see how close to the center of the key X that the user is touching.

With a mechanical key, a user receives tactile feedback of an accurate keypress. An accurate keypress is rewarded with a satisfying feeling of a keypress depression and snapback. The tactile feedback for an inaccurate keypress may result in a less than fully satisfying keypress depression and snapback and/or the feeling of insufficiently pressing multiple keys.

No such tactile feedback exists in conventional soft keyboards. Some soft keyboard approaches use audible or haptic feedback. However, this feedback confirms that some keys have been selected, but fails to give feedback on the accuracy of keypresses.

Accuracy depends upon hitting the right key. Often, the aim of the user's finger is imprecise while typing. Consequently, with conventional approaches, the user may inadvertently touch the area of key neighboring the one that he or she intended. Thus, the user selected a different key than intended. For example, the user may have meant to press the F key, but inaccurately pressed the G or D key. With conventional approaches, the only way that the user knows that his or her attempt was inaccurate is by seeing which key appears on the screen. However, that information alone does not explain why and how his or her keypress attempt went awry.

When the finger touches a key (e.g., X key) of the soft keyboard110of the touchscreen100(as shown inFIG. 2), the computing device senses and determines the center point of the touch of the fingertip of the user. That is, the location on the touchscreen that is the center of the area contacted by the user's finger is specified. This location may be specified by means of an X, Y coordinate system (e.g., Cartesian) corresponding to the real estate of the touchscreen surface area.

FIG. 3shows the soft keyboard110of the example touchscreen100after the keypress depicted inFIG. 2and described above. The letter “x” appears in the text entry area320of the UI. Upon determining the screen location of the keypress touch, the device generates a “keypress marker”310or symbol centered about that determined screen location of the keypress touch. This keypress marker310may be emphasized by color (e.g., red) or dynamics (e.g., blinking) to increase its visibility to the user.

Once the finger is removed, the user can see the keypress marker310superimposed over the soft keyboard110. In this way, the user can gauge his or her keypress accuracy.

FIG. 4shows the soft keyboard110of the example touchscreen100after another keypress (not shown). In this example, the user pressed the J key. The letters “x” and “j” appears in the text entry area320of the UI. Upon determining the screen location of the J-key keypress touch, a keypress-accuracy indicator updates the keypress marker310or symbol centered about that determined screen location of the J-key keypress touch.

Once there is a new keypress, then the marker over the previously pressed key (which was keypress marker310over the X key as shown inFIG. 3) changes to a previous keypress marker410. As depicted inFIG. 4, the previous keypress marker410differs from the symbol used for the keypress marker310(e.g., just-pressed keypress marker). That difference may be expressed by using a different shaped symbol, a different colored symbol, a greyed-out symbol, or some combination thereof. Furthermore, the previous keypress marker410may appear to dissolve as additional keys are pressed. Alternatively, the previous keypress marker410may progressively enlarge as additional keys are pressed.

FIG. 5shows the soft keyboard110of the example touchscreen100after still another keypress (not shown). In this example, the user pressed the N key. The letters “x,” “j,” and “n” appear in the text entry area320of the UI. Upon determining the screen location of the N-key keypress touch, the keypress-accuracy indicator updates the keypress marker310or symbol centered about that determined screen location of the N-key keypress touch.

Once there is a new keypress, then the markers over the previously pressed keys (e.g., marker over the X key as shown inFIGS. 3 and 4and the marker over the J key as shown inFIG. 4) changes to indicate previously pressed keypress markers410and510, respectively. As depicted inFIG. 5, the just-previously pressed keypress marker410differs from the symbol used for the keypress marker310, and the marker510that was pressed previously to the just-previously pressed keypress marker410is different still from the other displayed markers.

The difference between the various markers alters as each subsequent key is pressed. That difference may be expressed by using a sequence of different shaped symbols, a series of different but ordered colored symbols, a progressively greyed-out symbols, or some combination thereof. Furthermore, the differences may be demonstrated by an apparent dissolve of the symbols as additional keys are pressed. Alternatively, the differences in symbols may be demonstrated by the symbols progressively enlarging or shrinking as additional keys are pressed.

FIG. 6illustrates example system600for implementing the technology described herein. The system600includes a mobile device604.

The mobile device604includes a memory610, one or more processor(s)612, a display system614, a UI manager616, a touch sensor618, a touch-location determiner620, a keypress-accuracy indicator622, a keypress calibrator624, and local database626. These functional components can be separate or some combination of hardware units. Alternatively, the components can be implemented, at least in part, in software and thus be stored in the memory610and executed by the processors612.

The display system614includes the display itself (such as the touchscreen100) and the graphics system to drive that display. The UI manager616manages the UI of the mobile device. The UI manager616generates the graphics for the soft keyboard (such as soft keyboard110).

The touch sensor618detects a touch on the touchscreen (such as touchscreen100). Typically, capacitive sensing is used. The touch sensor may determine which key is pressed based upon the portion of the screen real estate used by a given key.

The touch-location determiner620determines where exactly (using, for example, Cartesian coordinates) the user's finger touched the touchscreen. More particularly, the touch-location determiner620determines the approximate center point of the area touched by the user's finger.

The keypress-accuracy indicator622superimposes a keypress marker (e.g., marker310) over the soft keyboard and it centers that marker over the center point determined by the touch-location determiner620. The keypress-accuracy indicator622also updates the displayed marker once subsequent keys are pressed. The updates change the appearance of the displayed marker to indicate that it marks a previously pressed key and not the currently pressed key. Of course, the marker (current and previous) can be collected on and about the same key if the user presses the same key repeatedly.

Using machine-learning techniques, the keypress calibrator624may calibrate the repeatedly and consistently inaccurate keypresses for each given key to raise the confidence that the user intended to press that given key. The local database626may store historical information about keypress calibration.

In this example, the mobile device604is depicted and described as a smartphone. Of course, other options exist for other implementations. Instead of a smartphone, the mobile device604may be a tablet computer, a desktop computer, a laptop computer, a phablet, a personal digital assistant (PDA), a navigational device, or any other devices that uses a soft keyboard.

FIG. 7illustrates an exemplary process700for implementing, at least in part, the technology described herein. In particular, process700depicts an operation of the example system600. The process700is performed by, for example, the mobile device604, the system600, or some other suitable computing system.

At701, the device presents a UI on a touchscreen of the computing device. The UI has a soft keyboard that uses all or a portion of the touchscreen.

Block702represents input from a user touching a soft keyboard of a touchscreen (such as touchscreen100) of a mobile device (such as device604).

At704, the device detects the touch on the touchscreen (such as touchscreen100). Alternatively, this can be described as the device detecting a sequence of touches on the soft-keyboard portion of the touchscreen.

At706, the device determines where exactly (using, for example, Cartesian coordinates) the user's finger touched the touchscreen. More particularly, the device determines the approximate center point of the area touched by the user's finger. Alternatively, this can be described as the device determining locations on the touchscreen of each touch of the sequence.

At708, the device determines which key is pressed based upon the corresponding portion of the screen real estate used by a given key.

At710, the device superimposes a keypress marker (e.g., marker310) over the soft keyboard and it centers that marker over the center point determined by the touch-location determiner620. The device also updates the displayed marker once subsequent keys are pressed. The updates change the appearance of the displayed marker to indicate that it marks a previously pressed key and not the currently pressed key. Of course, the marker (current and previous) can be collected on and about the same key if the user presses the same key repeatedly.

Alternatively, block710can be described as the device presenting keypress markers on the touchscreen, wherein the keypress markers indicate the location of each touch of the sequence on the touchscreen, and the device includes adjusting appearance of the keypress markers to indicate that they represent previous touches.

The device may be designed to show only a limited or defined number of previously pressed keypress markers. For example, it might only show two or three of the previously pressed keypress markers.

At712, using machine-learning techniques, the device calibrates the repeatedly and consistently inaccurate keypresses for each given key to raise the confidence that the user intended to press that given key.

FIG. 8illustrates an exemplary system800that may implement, at least in part, the technologies described herein. The computer system800includes one or more processors, such as processor804. Processor804can be a special-purpose processor or a general-purpose processor. Processor804is connected to a communication infrastructure802(for example, a bus or a network). Depending upon the context, the computer system800may also be called a client device.

Computer system800also includes a main memory806, preferably Random Access Memory (RAM), containing possibly inter alia computer software and/or data808.

Computer system800may also include a secondary memory810. Secondary memory810may include, for example, a hard disk drive812, a removable storage drive814, a memory stick, etc. A removable storage drive814may include a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, or the like. The removable storage drive814reads from and/or writes to a removable storage unit816in a well-known manner. A removable storage unit816may include a floppy disk, a magnetic tape, an optical disk, etc. which is read by and written to by removable storage drive814. As will be appreciated by persons skilled in the relevant art(s), removable storage unit816includes a computer usable storage medium818having stored therein possibly inter alia computer software and/or data820.

In alternative implementations, secondary memory810may include other similar means for allowing computer-program products or other instructions to be loaded into computer system800. Such means may include, for example, a removable storage unit824and an interface822. Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an Erasable Programmable Read-Only Memory (EPROM), or Programmable Read-Only Memory (PROM)) and associated socket, and other removable storage units824and interfaces822which allow software and data to be transferred from the removable storage unit824to computer system800.

Computer system800may also include an input interface826and a range of input devices828such as, possibly inter alia, a keyboard, a mouse, etc.

Computer system800may also include an output interface830and a range of output devices832such as, possibly inter alia, a display, one or more speakers, etc.

Computer system800may also include a communications interface834. Communications interface834allows software and/or data838to be transferred between computer system800and external devices. Communications interface834may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, or the like. Software and/or data838transferred via communications interface834are in the form of signals836which may be electronic, electromagnetic, optical, or other signals capable of being received by communications interface834. These signals836are provided to communications interface834via a communications path840. Communications path840carries signals and may be implemented using a wire or cable, fiber optics, a phone line, a cellular phone link, a Radio Frequency (RF) link or other communication channels.

As used in this document, the terms “computer-program medium,” “computer-usable medium,” and “computer-readable medium” generally refer to media such as removable storage unit816, removable storage unit824, and a hard disk installed in hard disk drive812. Computer-program medium and computer-usable medium can also refer to memories, such as main memory806and secondary memory810, which can be memory semiconductors (e.g. Dynamic Random Access Memory (DRAM) elements, etc.). These computer program products are means for providing software to computer system800.

Computer programs (also called computer control logic) are stored in main memory806and/or secondary memory810. Such computer programs, when executed, enable computer system800to implement the present technology described herein. In particular, the computer programs, when executed, enable processor804to implement the processes of aspects of the above. Accordingly, such computer programs represent controllers of the computer system800. Where the technology described herein is implemented, at least in part, using software, the software may be stored in a computer program product and loaded into computer system800using removable storage drive814, interface822, hard disk drive812or communications interface834.

The technology described herein may be implemented as computer program products comprising software stored on any computer-useable medium. Such software, when executed in one or more data processing devices, causes data processing device(s) to operate as described herein. Embodiments of the technology described herein may employ any computer useable or readable medium, known now or in the future. Examples of computer-useable mediums include, but are not limited to, primary storage devices (e.g., any type of random access memory), secondary storage devices (e.g., hard drives, floppy disks, Compact Disc Read-Only Memory (CD-ROM) disks, Zip disks, tapes, magnetic storage devices, optical storage devices, Microelectromechanical Systems (MEMS), and nanotechnological storage device, etc.).

A computing system may take the form of any combination of one or more of inter alia a wired device, a wireless device, a mobile phone, a feature phone, a smartphone, a tablet computer (such as for example an iPad™), a mobile computer, a handheld computer, a desktop computer, a laptop computer, a server computer, an in-vehicle (e.g., audio, navigation, etc.) device, an in-appliance device, a Personal Digital Assistant (PDA), a game console, a Digital Video Recorder (DVR) or Personal Video Recorder (PVR), a cable system or other set-top-box, an entertainment system component such as a television set, etc.

In the above description of exemplary implementations, for purposes of explanation, specific numbers, materials configurations, and other details are set forth in order to better explain the present invention, as claimed. However, it will be apparent to one skilled in the art that the claimed invention may be practiced using different details than the exemplary ones described herein. In other instances, well-known features are omitted or simplified to clarify the description of the exemplary implementations.

The inventor intends the described exemplary implementations to be primarily examples. The inventor does not intend these exemplary implementations to limit the scope of the appended claims. Rather, the inventor has contemplated that the claimed invention might also be embodied and implemented in other ways, in conjunction with other present or future technologies.

Moreover, the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as exemplary is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word “exemplary” is intended to present concepts and techniques in a concrete fashion. The term “technology,” for instance, may refer to one or more devices, apparatuses, systems, methods, articles of manufacture, and/or computer-executable instructions as indicated by the context described herein.

Note that the order in which the processes are described is not intended to be construed as a limitation, and any number of the described process blocks can be combined in any order to implement the processes or an alternate process. Additionally, individual blocks may be deleted from the processes without departing from the spirit and scope of the subject matter described herein.

One or more embodiments described herein may be implemented fully or partially in software and/or firmware. This software and/or firmware may take the form of processor-executable instructions contained in or on a non-transitory computer-readable storage medium. Those processor-executable instructions may then be read and executed by one or more processors to enable performance of the operations described herein. The processor-executable instructions may be in any suitable form, such as but not limited to source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. Such a computer-readable medium may include any tangible non-transitory medium for storing information in a form readable by one or more computers, such as but not limited to read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; a flash memory, etc. Processor-executable instructions may also be called computer-executable instructions herein. A computer-program product, as used herein, include one or more computer-readable media of program-executable instructions.