Unified Input Handling for Diverse Device Types

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Contemporary user interfaces face complexity in handling diverse types of device input, leading to confusion and inefficiency for UI designers, as various input methods (such as gamepad, keyboard, touch, voice, and mouse) need to be managed separately for different UI elements.

Innovation Solution

A unified input and invoke handling system that normalizes different types of device input by categorizing them into button, pointer, and command inputs, using providers to route input to appropriate UI elements and handle invoke actions consistently, independent of the input device used.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate handling methods are used for different input devices (gamepad, keyboard, touch, voice, mouse), then each input device can be optimized for its specific characteristics, but the UI design complexity increases and becomes confusing for designers

Engineering Contradiction:
Improveinput handling accuracyVSAvoidUI design complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The input handling system is segmented into distinct providers (button provider, pointer provider, command provider) that each handle specific input device types. This segmentation allows optimized handling for each input type while maintaining a clear, modular structure that reduces overall system complexity and makes it easier for designers to understand and implement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An input namespace component acts as an intermediary between the various input devices and the UI elements. This mediator routes input from different devices through appropriate providers to the correct UI elements, abstracting the complexity of multiple input handling mechanisms into a unified interface that simplifies UI design.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple separate handling mechanisms are implemented for different input devices, then comprehensive input support is achieved, but the time required to handle and process input increases

Engineering Contradiction:
Improveinput device compatibilityVSAvoidinput processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The input namespace component serves as a universal handler that can process input from multiple device types (gamepad, keyboard, touch, voice, mouse) through a single unified mechanism. This multi-functionality maintains comprehensive input support while reducing processing time by eliminating the need for separate handling paths for each input device.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

Instead of implementing completely separate handling mechanisms for each input device, the system uses provider classes that copy and adapt the core input handling pattern to suit different device characteristics. This allows comprehensive support while maintaining consistent, efficient processing logic across all input types.

Inventive Principle:
Principle #26Copying

3Measurement precision

If detailed specific handling is provided for each input device type, then input accuracy is maintained, but the extensibility to new input devices becomes difficult

Engineering Contradiction:
Improveinput accuracyVSAvoidextensibility to new devices
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The system uses a dynamic provider selection mechanism where the input namespace component determines which provider to use based on the input device type. This dynamic approach allows new input devices to be added by creating appropriate providers that follow the existing pattern, maintaining input accuracy while enabling easy extensibility without modifying core handling logic.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system handles different input device types by changing parameters such as the provider class selected and the event routing behavior, rather than requiring fundamentally different handling mechanisms. This parameter-based differentiation maintains input accuracy for each device type while making the system highly extensible to new devices through parameter configuration rather than structural changes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10754452B2Unified input and invoke handling
Publication Date: 2020.08.25 HOME BOX OFFICE INC
  • US10754452B2 patent drawing
  • US10754452B2 patent drawing
  • US10754452B2 patent drawing

AI summary

The described technology is directed towards normalizing input received from various types of device types for providing the input to user interface (UI) elements in a unified way that reflects the invoke intent of the user. Input from different device types is classified as button input, pointer input or command input, and routed to a corresponding button provider, pointer provider or command provider. Each provider includes logic for communicating input data (e.g., events) to a UI element or elements. Based upon the input events, a UI element can execute a corresponding invoke handler to take an invoke action for that particular event.