Keyboard Scan Code Tables Loaded from External Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current keyboard technologies require modifying the scan code table in the keyboard controller, necessitating different versions for various customer needs, leading to increased manufacturing time and potential OS errors, especially in portable devices with diverse language and OS requirements.
Innovation Solution
Storing the scan code table in an external memory accessible by the keyboard controller, allowing it to load and update the table post-initialization, enabling key detection and processing without modifying the controller's hardware or requiring multiple versions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the scan code table is built in the keyboard controller in hardware form, then the keyboard controller can detect and process key scan codes, but modification of the scan code table requires modification or change of the program codes of the keyboard, necessitating multiple versions of the keyboard controller for different customer needs
Solution Approach 1:
The patent makes the scan code table dynamic by storing it in external memory (EEPROM, Flash memory, or RAM) rather than hardcoding it in the keyboard controller. This allows the scan code table to be updated and modified without changing the hardware or firmware of the keyboard controller itself. The controller loads the scan code table from external memory during initialization, enabling flexible adaptation to different customer requirements while using a single universal keyboard controller design.
Solution Approach 2:
The patent separates the scan code table from the keyboard controller hardware by placing it in external memory. This segmentation allows the scan code data to be independently updated and customized without affecting the keyboard controller's core functionality. The controller and the scan code table become independent components that can be developed and manufactured separately, reducing the need for multiple controller versions.
2Reliability
If different versions of the keyboard controller are provided for different customer needs, then each customer's specific requirements can be met, but the manufacturing time increases and the likelihood of mistakenly burning wrong version of operating system increases
Solution Approach 1:
The patent makes the keyboard controller universal by enabling it to load different scan code tables from external memory for different operating systems and customer requirements. A single keyboard controller design can support multiple OS versions (Windows, Linux, macOS) and different language layouts by simply loading the appropriate scan code table from EEPROM or Flash memory, eliminating the need to manufacture multiple specialized controller versions.
Solution Approach 2:
The patent performs preliminary configuration by storing multiple scan code tables in advance in the external memory (EEPROM or Flash memory) of the keyboard controller. During system initialization, the appropriate scan code table is automatically loaded based on the detected operating system type. This preliminary preparation eliminates the need for time-consuming manual configuration and reduces the risk of matching errors during manufacturing.
3Adaptability or versatility
If the scan code table is modified to suit specific customers' needs, then the keyboard can be customized for different languages and operating systems, but the programming of the keyboard must be modified which may cause difference in recognition of keyboard
Solution Approach 1:
The patent uses copying by storing multiple complete scan code table configurations in advance in the external memory (EEPROM or Flash memory). Instead of modifying the keyboard controller's internal programming for each customization, the system copies the appropriate pre-configured scan code table from external memory into the controller's working memory during initialization. This ensures consistent and accurate keyboard recognition across different languages and operating systems without introducing modification errors.
Data Source
AI summary
A method for detecting and processing key scan codes of a computer keyboard is disclosed. At least one scan code table is established for a computer device in advance and is stored in a scan code table memory that is accessible by a keyboard controller so that the keyboard controller, after initialization, may load the scan code table from the scan code table memory to a scan code table load-in area within the keyboard controller. The keyboard controller, upon detecting the actuation of any key of the keyboard, generates a interrupt request signal to the south bridge, which in turn retrieves the scan code; or alternatively, the keyboard controller generates an interrupt signal to the south bridge, which in turn retrieves and transmits the interrupt query number of the interrupt signal to the computer operating system, which in turn executes a preset target program corresponding to the interrupt query number.


