IP Library Granted Patent US 10,048,862
Granted Patent B2
US 10,048,862 · App. 14/479,992 · Granted Aug 14, 2018

Managing an on-screen keyboard

Inventors: Aaron Michael Stewart (Raleigh, NC); Lance Warren Cassidy (Raleigh, NC); Jeffrey E. Skinner (Raleigh, NC); Jonathan Jen-Wei Yu (Raleigh, NC)
Assignee: Lenovo (Singapore) PTE. LTD.
G06F3/04886G06F3/0488G06F3/0489
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,048,862
App. No.
14/479,992
Granted
Aug 14, 2018
Kind
B2
Abstract

An apparatus, method, and program product is disclosed for on-screen keyboard management. A touch screen displays an on-screen keyboard, a processor is operatively coupled to the touch screen, and a memory stores code executable by the processor. The code determines a duration associated with a key event in response to a key press on the on-screen keyboard, and ignores the key press in response to determining that the duration associated with the key event satisfies a predetermined threshold.

Claims (30)

1. An apparatus comprising:

a touch screen that displays an on-screen keyboard;

a processor operatively coupled to the touch screen;

a memory that stores code executable by the processor, the code comprising:

code that detects a key press and one or more subsequent key presses on the on-screen keyboard in response to a user resting a hand on the touch screen;

code that determines a duration associated with a key event in response to the key press on the on-screen keyboard, the key event comprising a key down event and the duration associated with the key down event comprising an amount of time between the key down event for the key press and a key down event for each of the one or more subsequent key presses, the key press and the one or more subsequent key presses maintained on the on-screen keyboard while the duration is determined; and

code that ignores the key press and the one or more subsequent key presses in response to determining that the duration between the key down event for the key press and the key down events for each of the one or more subsequent key presses while both the key press and the one or more subsequent key presses are maintained on the on-screen keyboard is less than a predetermined threshold.

2. The apparatus of claim 1 , wherein the key event comprises a key down event and the duration associated with the key down event comprises an amount of time that the key press is performed, the key press being ignored in response to the duration exceeding the predetermined threshold.

3. The apparatus of claim 1 , wherein the key event comprises a key up event and the duration associated with the key up event comprises an amount of time between the key up event for the key press and a key down event for a subsequent key press, the subsequent key press being ignored in response to the duration being below the predetermined threshold.

4. The apparatus of claim 1 , further comprising code that maintains an arrival order of the key press and a subsequent key press, wherein input received from the key press is recognized before input received from the subsequent key press in response to a key up event for the subsequent key press occurring before a key up event for the key press.

5. The apparatus of claim 1 , further comprising code that adjusts the predetermined threshold to correspond to a user's keystroke timing patterns, wherein the predetermined threshold is adjusted in response to tracking the keystroke timing patterns of the user for a predetermined period of time.

6. The apparatus of claim 1 , further comprising code that suggests at least one word comprising a character associated with an ignored key press in response to the key press being ignored.

7. The apparatus of claim 1 , further comprising code that delays the key event as a function of a key associated with the key event being at a predefined resting location, the key event comprising a key down event.

8. The apparatus of claim 1 , further comprising code that disables a dwell function associated with the key press in response to determining that the duration associated with the key event exceeds the predetermined threshold, the key event comprising a key down event.

9. The apparatus of claim 1 , further comprising code that disables a dwell function associated with the key press as a function of a key associated with the key press being at a predefined keyboard resting location.

10. A method comprising:

detecting, by use of a processor, a key press and one or more subsequent key presses on the on-screen keyboard in response to a user resting a hand on the touch screen

determining a duration associated with a key event in response to the key press on the on-screen keyboard, the key event comprising a key down event and the duration associated with the key down event comprising an amount of time between the key down event for the key press and a key down event for each of the one or more subsequent key presses, the key press and the one or more subsequent key presses maintained on the on-screen keyboard while the duration is determined; and

ignoring the key press and the one or more subsequent key presses in response to determining that the duration between the key down event for the key press and the key down events for each of the one or more subsequent key presses while both the key press and the one or more subsequent key presses are maintained on the on-screen keyboard is less than a predetermined threshold.

11. The method of claim 10 , wherein the key event comprises a key down event and the duration associated with the key down event comprises an amount of time that the key press is performed, the key press being ignored in response to the duration exceeding the predetermined threshold.

12. The method of claim 10 , wherein the key event comprises a key up event and the duration associated with the key press comprises an amount of time between the key up event for the key press and a key down event for a subsequent key press, the subsequent key press being ignored in response to the duration being below the predetermined threshold.

13. The method of claim 10 , further comprising maintaining an arrival order of the key press and a subsequent key press, wherein input received from the key press is recognized before input received from the subsequent key press in response to a key up event for the subsequent key press occurring before a key up event for the key press.

14. The method of claim 10 , further comprising adjusting the predetermined threshold to match a user's keystroke timing patterns, wherein the predetermined threshold is adjusted in response to tracking the keystroke timing patterns of the user for a predetermined period of time.

15. The method of claim 10 , further comprising delaying the key event as a function of a key associated with the key event being at a predefined resting location, the key event comprising a key down event.

16. The method of claim 10 , further comprising disabling a dwell function associated with the key press in response to determining that the duration associated with the key event exceeds the predetermined threshold, the key event comprising a key down event.

17. The method of claim 10 , further comprising disabling a dwell function associated with the key press as a function of a key associated with the key press being at a predefined keyboard resting location.

18. A program product comprising a non-transitory computer readable storage medium that stores code executable by a processor, the executable code comprising code to perform:

detecting a key press and one or more subsequent key presses on the on-screen keyboard in response to a user resting a hand on the touch screen;

determining a duration associated with a key event in response to the key press on the on-screen keyboard, the key event comprising a key down event and the duration associated with the key down event comprising an amount of time between the key down event for the key press and a key down event for each of the one or more subsequent key presses, the key press and the one or more subsequent key presses maintained on the on-screen keyboard while the duration is determined; and

ignoring the key press and the one or more subsequent key presses in response to determining that the duration between the key down event for the key press and the key down events for each of the one or more subsequent key presses while both the key press and the one or more subsequent key presses are maintained on the on-screen keyboard is less than a predetermined threshold.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2019
From: LENOVO (SINGAPORE) PTE. LTD.
To: LENOVO PC INTERNATIONAL LIMITED
Reel/Frame 049690/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2014
From: STEWART, AARON MICHAEL; CASSIDY, LANCE WARREN; SKINNER, JEFFREY E.; YU, JONATHAN JEN-WEI
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 033691/0333 →
Continuity (1)
Related Publication 20160070465A1 · Mar 10, 2016