Method and system for reducing multiple keystroke output
View Patent ↗A method for reducing the erroneous display of multiple keystrokes on a target computer, that occur when depressing a key a single time on a Universal Serial Bus (USB) based keyboard from a remote computer. The invention eliminates the time lapse between the key press and key released events to produce single keystrokes on the target computer, instead of erroneous multiple keystrokes.
1. A method of preventing multiple keystroke entries from being displayed on a target computer, wherein a virtual Universal Serial Bus (USB) keyboard is connected to said target computer in a network system, the method comprising the steps of:
receiving an indication of a key depressed by a user on said USB keyboard;
delaying processing of said depressed key until another event is received;
receiving a next event and determining whether said received event is a key press event or a key released event; and
processing said depressed key to display a single keystroke on the target computer.
2. The method of claim 1 , wherein said received event is a key released event, further comprising the steps of:
processing a pending key press event; and
processing the key released event.
3. The method of claim 1 , wherein said received event is determined to be a key press event, further comprising the steps of:
processing a pending key press event if one exists; and
marking the current key press event as a pending key event.
4. The method of claim 1 , wherein the method is performed in a server.
5. The method of claim 4 , wherein the server is a blade-based server.
6. The method of claim 1 , wherein the method is performed in a rack interface pod.
7. The method of claim 1 , wherein if a key is depressed continuously, the key is processed until a key released event is received.
8. The method of claim 1 , wherein if a modifier key is depressed, the modifier key is not delayed in processing.
9. A rack interface pod comprising:
(A) a housing;
(B) a Universal Serial Bus (USB) connection; and
(C) circuitry constructed and adapted to:
(a) receive a keystroke press event from a remote computer connected to the network;
(b) delay processing of said depressed key until another event is received by said circuitry;
(c) determine whether said received event is a key press event or a key released event; and
(d) process key released events for display of a single keystroke on said target computer.
10. The rack interface pod of claim 9 , wherein if said circuitry first determines said received event is a key released event, said circuitry is further constructed and adapted to:
(A) first process a pending key press event; and
(B) secondly process the key released event.
11. The rack interface pod of claim 9 , wherein if said circuitry first determines said received event is a key press event, said circuitry is further constructed and adapted to:
(A) first process a pending key event if one exists; and
(B) mark the current key press event as a pending key event.
12. The rack interface pod of claim 9 , wherein if a key is depressed continuously, said circuitry is further constructed and adapted to process the key until a key released event is received.
13. The rack interface pod of claim 9 , wherein if a modifier key is depressed, said circuitry is further constructed and adapted to not delay in processing said modifier key.
14. A server comprising:
(A) a housing;
(B) a Universal Serial Bus (USB) connection; and
(C) circuitry constructed and adapted to:
(a) receive a keystroke press event from a remote computer connected to the network;
(b) delay processing of said depressed key until another event is received by said circuitry;
(c) determine whether said received event is a key press event or a key released event; and
(d) process key released events for display of a single keystroke on said target computer.
15. The server of claim 14 , wherein if said circuitry first determines said received event is a key released event, said circuitry is further constructed and adapted to:
(A) first process a pending key press event; and
(B) secondly process the key released event.
16. The server of claim 14 , wherein if said circuitry first determines said received event is a key press event, said circuitry is further constructed and adapted to:
(A) first process a pending key event if one exists; and
(B) mark the current key press event as a pending key event.
17. The server of claim 14 , wherein if a key is depressed continuously, said circuitry is further constructed and adapted to process the key until a key released event is received.
18. The server of claim 14 , wherein if a modifier key is depressed, said circuitry is further constructed and adapted to not delay in processing said modifier key.
19. The server of claim 14 , wherein the server is a blade-based server.