Generating modified keyboard data received from a client device to reduce unintended key repetition

US10838510B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10838510-B2
Application numberUS-201615767882-A
CountryUS
Kind codeB2
Filing dateFeb 12, 2016
Priority dateFeb 12, 2016
Publication dateNov 17, 2020
Grant dateNov 17, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Various implementations relate to keyboard data communicated from a client device to a remote access manager. For example, the remote access manager may receive the keyboard data via a communication channel. The keyboard data may include key down states. The remote access manager may insert a key up state after each key down state in the received keyboard data to generate modified keyboard data.

First claim

Opening claim text (preview).

The invention claimed is: 1. An apparatus of a host comprising: a communication interface; and a hardware-based remote access manager coupled to the communication interface, the remote access manager including: a keyboard data receiver that receives keyboard data arriving at the communication interface from a client device via a communication channel, wherein the client device receives sequential key input reports that include key down states followed by respective key up states from a keyboard external to the client device, and a console application executing on the client device formats the sequential keyboard input reports to generate the keyboard data and transmits the keyboard data to the communication interface via the communication channel, and a modified keyboard data generator that inserts a key up state after each key down state that is not associated with modifier key codes in the received keyboard data to generate modified keyboard data, wherein the client device and the host are separate computing systems, the remote access manager is included in a baseboard management controller of the host, and the baseboard management controller operates independently of the host and includes a capability to cooperate with the console application to manage the host, including when the host has failed, is powered off, or is not running. 2. The apparatus of claim 1 , wherein the remote access manager is to forward the modified keyboard data to a host system of the host. 3. The apparatus of claim 2 , wherein a duration in the modified keyboard data between the key down state and the key up state inserted after the key down state is less than a key repeat delay of the host system. 4. The apparatus of claim 1 , wherein the remote access manager includes a modifier key handler that: detects if a key down state in the received keyboard data is associated with a modifier key code, and excepts the key down state associated with the modifier key code from insertion of a subsequent key up state by the modifier keyboard data generator. 5. The apparatus of claim 1 , wherein the remote access manager includes a key repetition handler that: detects, in the received keyboard data, a repeat-start indicator inserted by the console application for a particular key code during formatting of the sequential keyboard input reports to generate the keyboard data, and in response to the detected repeat-start indicator, triggers a key repeat of the particular key code at a host system of the host. 6. The apparatus of claim 5 , wherein the key repetition handler is to: detect, in the received keyboard data, a repeat-stop indicator inserted by the console application occurring after the repeat-start indicator, and in response to the repeat-stop indicator, cause the key repeat of the particular key code at the host system to stop. 7. The apparatus of claim 1 , wherein the received keyboard data includes repeated key down states for a same key code, and the modified keyboard data generator is to insert a key up state after each of the repeated key down states for the same key code. 8. The apparatus of claim 1 , wherein the received keyboard data are out-of-band communications by which the client device remotely manages the host or a host system of the host, and the communication channel includes an out-of-band communication path by which the client device communicates the keyboard data to the remote access manager. 9. The apparatus of claim 1 , wherein to generate the keyboard data, the console application formats the sequential keyboard input reports by retaining key down states in an order received from the keyboard and discarding key up states except key up states associated with modifier key codes. 10. A method comprising: receiving, by a baseboard management controller of a host, keyboard data from a client device via an out-of-band communication channel, wherein the client device receives sequential key input reports that include key down states followed by respective key up states from a keyboard external to the client device, and a console application executing on the client device formats the sequential keyboard input reports to generate the keyboard data and transmits the keyboard data via the communication channel to a communication interface coupled to the baseboard management controller; and inserting, by the baseboard management controller, a key up state after each key down state in the received keyboard data that is not associated with a modifier key code to generate modified keyboard data, wherein the baseboard management controller operates independently of the host, the client device and the host are separate computing systems, and the baseboard management controller includes a capability to cooperate with the console application to manage the host, including when the host has failed, is powered off, or is not running. 11. The method of claim 10 , comprising forwarding, by the baseboard management controller, the modified keyboard data to a host system of the host via keyboard emulation. 12. The method of claim 10 , comprising detecting in the received keyboard data, by the baseboard management controller, a repeat-start indicator inserted by the console application during formatting of the sequential keyboard input reports to generate the keyboard data, the repeat-start indicator signifying intentional key repetition of a particular key code. 13. The method of claim 12 , wherein the repeat-start indicator includes consecutive key down states for the particular key code. 14. The method of claim 12 , comprising: triggering, by the baseboard management controller, a key repeat of the particular key code at a host system of the host in response to detection of the repeat-start indicator; and causing, by the baseboard management controller, the key repeat of the particular key code at the host system to stop in response to detecting in the received keyboard data a repeat-stop indicator inserted by the console application for the particular key code. 15. The method of claim 10 , wherein to generate the keyboard data, the console application formats the sequential keyboard input reports by retaining key down states in an order received from the keyboard and discarding key up states except key up states associated with modifier key codes. 16. A non-transitory machine readable medium storing instructions executable by a processing resource of a baseboard management controller of a host, the non-transitory machine readable medium comprising: instructions to receive keyboard data transmitted by a console application of a client device via a communication channel, wherein the client device receives sequential key input reports that include key down states followed by respective key up states from a keyboard external to the client device, and a console application executing on the client device generates the keyboard data by formatting the sequential keyboard input reports; instructions to insert a key up state after each key down state that is not associated with modifier key codes in the received keyboard data to generate modified keyboard data; and instructions to forward the modified keyboard data to the host, wherein the client device and the host are separate computing systems, the baseboard management controller operates independently of the host, and the baseboard management controller includes a capability to cooperate with the console application to manage the host, including when the host has failed, is powered off, or is not running. 17. The non-transitory machine

Assignees

Inventors

Classifications

  • Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys (keyboard switch arrangements, structural association of coders and keyboards H01H13/70, H03K17/94) · CPC title

  • Input arrangements using manually operated switches, e.g. using keyboards or dials · CPC title

  • G06F3/023Primary

    Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes · CPC title

  • Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131) · CPC title

  • Phantom keys detection and prevention · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10838510B2 cover?
Various implementations relate to keyboard data communicated from a client device to a remote access manager. For example, the remote access manager may receive the keyboard data via a communication channel. The keyboard data may include key down states. The remote access manager may insert a key up state after each key down state in the received keyboard data to generate modified keyboard data.
Who is the assignee on this patent?
Hewlett Packard Entpr Dev Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/023. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 17 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).