Dual-Mode Keyboard Output for NKRO and OS Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional keyboards with USB interfaces often fail to support true N-key rollover due to limitations in the Human Interface Device (HID) specification, which restricts the output to only six non-auxiliary keys, and this issue is exacerbated by compatibility problems with certain operating systems like LINUX and MAC OS.
Innovation Solution
A keyboard design featuring a first key data output module that simulates multiple keyboards to output an unlimited number of key data via the USB interface for specific operating systems like Windows, and a second module that outputs a limited number of key data compatible with LINUX and MAC OS, along with a switch unit to automatically select the appropriate output method based on the operating system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the keyboard uses a single output module following HID specification, then compatibility with all operating systems is maintained, but N-key rollover functionality is limited to maximum 6 keys
Solution Approach 1:
The keyboard controller is divided into two separate key data output modules: a first output module that outputs unlimited key data for specific operating systems (Windows), and a second output module that outputs limited key data for other operating systems (Linux, Mac OS). This segmentation allows each module to be optimized for its target OS, resolving the contradiction between compatibility and N-key rollover capability.
Solution Approach 2:
The keyboard dynamically switches between the first and second output modules based on the detected operating system. The switching unit automatically selects which module to activate, enabling the keyboard to adapt its output mode in real-time. This dynamic behavior allows the keyboard to achieve unlimited N-key rollover when connected to Windows while maintaining compatibility when connected to other operating systems.
2Quantity of substance
If the keyboard outputs unlimited key data for Windows OS, then true N-key rollover is achieved, but compatibility with LINUX and MAC OS is compromised
Solution Approach 1:
The switching unit detects the connected operating system and dynamically activates the appropriate output module. When Windows is detected, the first output module is activated to provide unlimited N-key rollover. When Linux or Mac OS is detected, the second output module is activated to maintain compatibility. This dynamic switching resolves the contradiction by allowing the keyboard to optimize performance for Windows while preserving compatibility for other systems.
Solution Approach 2:
The switching unit acts as an intermediary between the two output modules and the operating system. It mediates the interaction by selecting which module should communicate with the connected OS, enabling the keyboard to present different capabilities depending on the host system without requiring separate physical keyboards for different operating systems.
3Reliability
If the keyboard uses traditional two-key rollover method, then ghost key phenomenon is prevented, but word processing and game playing performance is degraded
Solution Approach 1:
The keyboard segments the key detection and output functionality into two modes: a reliable two-key rollover mode that prevents ghost keys for general compatibility, and an advanced N-key rollover mode that enables unlimited simultaneous key detection for performance-critical applications. This segmentation allows the keyboard to maintain reliability in standard mode while providing high productivity when needed.
Solution Approach 2:
The keyboard changes the parameter of key data output capacity based on the operating system. For Windows, it changes to unlimited N-key rollover mode to maximize productivity in gaming and word processing. For other operating systems, it maintains the conservative two-key rollover setting to ensure stability and prevent ghost key issues. This parameter change resolves the contradiction between reliability and productivity.
Data Source
AI summary
A keyboard supporting N-key rollover (NKRO) is provided. The keyboard includes a first key data output module, which is coupled to a keyboard matrix for outputting an unlimited number of key data to a particular OS via a universal serial bus (USB) interface, and a second key data output module, which is coupled to the keyboard matrix for outputting a particular number of key data to any type of OS via the USB interface, synchronously.


