Multi-touch Driver Event Routing for Legacy Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current multi-touch systems default to treating a first touch as a mouse event, which can disable regions of the GUI associated with non-multi-touch aware UI components until the first touch is released, leading to incomplete user input handling and interaction issues, especially when integrated with legacy software or applications.
Innovation Solution
A touch handling method that determines the target application or UI component for a touch based on location and application mode, allowing the touch to be processed as a touch event or mouse event depending on the component's capabilities, and managing the touch-to-mouse conversion adapter to ensure concurrent interaction with both multi-touch and non-multi-touch aware regions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the first touch is treated as a mouse event, then legacy applications can receive input, but subsequent touches are blocked until the first touch is released
Solution Approach 1:
The system segments the touch handling logic by creating separate event queues for touch events and mouse events. The multi-touch driver divides incoming touch inputs into distinct event types based on the target UI component's capabilities, allowing independent processing of multiple concurrent touches without blocking.
Solution Approach 2:
The patent introduces an intermediary layer (the multi-touch driver with event translation logic) that sits between the touch-sensitive display and the application layer. This intermediary translates touches to either touch events or mouse events based on the target component's capabilities, mediating between the physical touch input and the application-specific event handling requirements.
2Ease of operation
If all touches are processed as touch events, then multi-touch aware components work well, but legacy components that require mouse events cannot receive input
Solution Approach 1:
The system dynamically changes the event type parameter based on the target UI component. The multi-touch driver determines whether to translate a touch as a touch event or a mouse event by examining the target component's event handling capabilities, transforming the same physical touch into different logical event types as needed.
Solution Approach 2:
The multi-touch driver provides universal touch handling that adapts to both multi-touch aware and legacy applications. It implements multiple functions: direct touch event passing for modern components and automatic translation to mouse events for legacy components, making the system universally compatible with different application types.
3Reliability
If touch-to-mouse conversion is reserved for the first touch only, then mouse event availability is controlled, but concurrent mouse events for multiple touches are prevented
Solution Approach 1:
The system implements dynamic mouse adapter allocation where the availability of touch-to-mouse conversion is not fixed but changes based on the state of each touch and the capabilities of the target UI component. Each touch can independently trigger mouse event conversion if the target component supports it, creating a flexible and adaptive event handling system.
Solution Approach 2:
The multi-touch driver performs preliminary determination of the target UI component and its event handling capabilities before translating touches to mouse events. This preliminary action allows the system to prepare and allocate mouse adapters appropriately for each touch based on predetermined component requirements, enabling efficient concurrent processing.
Data Source
AI summary
A multi-touch driver handling user inputs or touches on a multi-touch input device. The method includes receiving touch data associated with a touch detected by the multi touch input device. The multi-touch driver determines a target user interface (UI) component for the touch by processing the touch data and then determines whether the target handles touch events. If so, the driver sends the touch data to the target for handling as a touch event, thereby saving a touch-to-mouse conversion for later touches. The touch may be a first touch received in a particular input region of a GUI displayed on a touch surface. The driver receives touch data for a second touch input later than the first touch but while the first touch is still active. The driver determines a target UI component for the second touch and passes the second touch data to the second target as a mouse event.


