Software Input Mapping Layer for Cross-Platform Controller Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software applications face challenges in effectively mapping inputs from various controllers or user interfaces, especially across different operating systems, leading to inefficiencies and unavailability of controls when executed in virtual machine environments.

Innovation Solution

A method and system for mapping inputs from controllers to instructions recognizable by software applications, utilizing a keymapping layer that translates inputs using lookup tables and adaptive keymapping based on predefined states or parameters, with visual overlays for user guidance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a software application is executed in a virtual machine environment across different operating systems, then the application can achieve broader platform compatibility, but input control mapping becomes unavailable or inefficient

Engineering Contradiction:
Improveplatform compatibilityVSAvoidinput control mapping
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a keymapping layer as an intermediary component between the virtual machine environment and the input devices. This layer translates inputs from various controllers into instructions that the software application can recognize, effectively mediating the communication gap created by cross-platform execution in virtual machine environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The keymapping layer is designed to handle multiple types of input devices and controllers universally, providing a single solution that works across different operating systems and virtual machine configurations. This multi-functional approach allows the same layer to adapt to various input sources and platform combinations.

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

2Device complexity

If fixed input mappings are used in software applications, then the system structure remains simple, but the application cannot adapt to different user preferences or diverse input devices

Engineering Contradiction:
Improvesystem structureVSAvoidinput device compatibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic keymapping that can be adjusted at runtime based on user preferences and the specific input device being used. Rather than fixed mappings, the system allows configurations to be changed adaptively, enabling the same software application to work with different controllers and user setups without requiring structural changes to the core application.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If comprehensive input mapping support is implemented across all controllers, then user customization options increase, but the complexity of managing and synchronizing keymaps across virtual machine and host systems increases

Engineering Contradiction:
Improveinput customizationVSAvoidkeymap management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the complex keymapping management functionality into a separate, dedicated layer that operates independently from the core software application. This extraction allows the application to remain simple while the keymapping layer handles the complexity of managing multiple controllers, configurations, and synchronizations between virtual machine and host systems.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3811188B1Methods, systems and computer program products for mapping inputs to a software application
Publication Date: 2025.07.30 NOW GG INC
  • EP3811188B1 patent drawingFigure 1
  • EP3811188B1 patent drawingFigure 2
  • EP3811188B1 patent drawingFigure 3

AI summary

The invention enables mapping inputs to a software application. The invention comprises (i) receiving a keymap that correlates a first set of input events capable of being generated through an input device, with a second set of input events recognized by the software application, (ii) receiving from an input device within the first set of input devices, a first data signal associated with a first input event within the first set of input events, (iii) identifying based on the received keymap, a second input event within the second set of input events, wherein the second input event is mapped to the first input event by the received keymap, (iv) generating a second data signal, wherein the second data signal is recognizable by the software application as corresponding to the second input event, and (v) implementing a state change in the software application based on the second data signal.