Remote Keyboard Input Handling for Latency-Induced Key Repeats

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network latency between a client device and a server can cause unintended key repetition when typing on a keyboard, leading to erroneous key presses due to delayed key down and key up packets, which existing solutions like lengthening key repeat delay or disabling key repeats may not effectively address, especially in environments without configuration utilities.

Innovation Solution

A remote access manager modifies keyboard data by inserting a key up state after each key down state to generate modified keyboard data, which is then passed to the host system, reducing unintended key repetition by minimizing the delay between key down and key up states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If network communication is used between client device and server, then remote access capability is improved, but network latency causes unintended key repetition

Engineering Contradiction:
Improveremote access capabilityVSAvoidkey press accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The remote access manager proactively inserts key up states into the keyboard data stream before the delayed key up packets arrive at the host system. This preliminary action prevents the operating system from misinterpreting the delayed key down packets as intentional key repeats, thereby maintaining key press accuracy despite network latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The remote access manager acts as an intermediary component between the client device and the host system's operating system. It intercepts keyboard data, modifies it by inserting key up states, and forwards the corrected data to the host, thereby resolving the key repetition issue without requiring changes to the client device or the operating system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If key repeat delay is lengthened to compensate for latency, then unintended key repetition is reduced, but legitimate key repeat functionality is impaired

Engineering Contradiction:
Improvekey press accuracyVSAvoidkey repeat functionality
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The remote access manager autonomously analyzes the keyboard data stream and intelligently inserts key up states only where needed to prevent unintended repetition. It self-manages the correction process without requiring user configuration or intervention, maintaining both accuracy and legitimate key repeat functionality.

Inventive Principle:
Principle #25Self-service

3Reliability

If key repeats are disabled at the server to prevent erroneous presses, then key press accuracy is improved, but intentional key repetition is lost

Engineering Contradiction:
Improvekey press accuracyVSAvoidkey repeat support
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The remote access manager serves as an intermediary that preserves intentional key repeats while blocking unintended ones. By analyzing the timing and pattern of key events, it allows legitimate key repetition sequences to pass through to the host system while preventing erroneous repeats caused by network latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3286624B1Keyboard data
Publication Date: 2022.01.12 HEWLETT PACKARD ENTERPRISE DEV LP
  • EP3286624B1 patent drawingFigure 1A~1B
  • EP3286624B1 patent drawingFigure 2
  • EP3286624B1 patent drawingFigure 3

AI summary

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.