US 11,733,864 B1
Smart keyboard
Alexander Grechishkin, Moscow (RU); Nikolay Dobrovolskiy, Moscow (RU); and Serguei M. Beloussov, Singapore (SG)
Assigned to Parallels International GmbH, Schaffhausen (CH)
Filed by PARALLELS INTERNATIONAL GmbH, Schaffhausen (CH)
Filed on Apr. 22, 2021, as Appl. No. 17/237,564.
Application 17/237,564 is a continuation of application No. 16/208,208, filed on Dec. 3, 2018, granted, now 10,990,280.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/0489 (2022.01); H03K 17/967 (2006.01); G06F 3/023 (2006.01); G06F 3/0481 (2022.01)
CPC G06F 3/0489 (2013.01) [G06F 3/023 (2013.01); G06F 3/0481 (2013.01); H03K 17/967 (2013.01)] 4 Claims
OG exemplary drawing
 
1. A method for determining when to send a user selection of a first key on a keyboard to an operating system, the method comprising:
identifying, by a processing device executing a keyboard component associated with a first operating system of a computing device, a first keyboard event corresponding to the user selection of the first key as input for an application rendered to the user within a graphical user interface (GUI) upon a display, wherein the operating system supports a plurality of shortcut key combinations;
determining, by the keyboard component, whether the first key is part of a shortcut key combination of the one or more shortcut key combinations; and
upon a negative determination sending the first key to a second operating system immediately, and if otherwise then executing a process; wherein
the process comprises the steps of:
determining, when the first key was selected, whether the application was in a text inputting mode;
upon a negative determination that the application was in a text inputting mode sending the first key to the second operating system immediately and exiting the process;
determining, when the first key was selected, whether a cursor was visible within the GUI;
upon a negative determination that the cursor was visible within the GUI sending the first key to the second operating system immediately and exiting the process;
determining, by the keyboard component, whether a second keyboard event corresponding to a user selection of another key occurs within a threshold time from the first keyboard event;
upon a negative determination sending the another key to the second operating system and exiting the process otherwise continuing the process;
determining whether the first key and another key are part of a shortcut key combination of the plurality of shortcut key combinations; and
upon a positive determination sending the shortcut key combination of the plurality of shortcut key combinations comprising the first key and the second key to the first operating system, and if otherwise then sending the first key and the second key to the second operating system;
the determinations are made independent of any aspects of a current mode of the application other than that the current mode supports shortcut key combinations; and
either:
the second operating system is an operating system associated with an application in execution upon a virtual machine and the computing device is an electronic device associated with the user comprising the display and upon which the first keyboard event and second keyboard event occur;
or:
the first operating system is an operating system associated with an application in execution upon a virtual machine and the second operating system is associated with an electronic device associated with the user comprising the display and upon which the first keyboard event and second keyboard event occur.