Stuck Key Recovery via Mock Key-Up Messages
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Electronic device keyboards can become stuck, causing continuous input to the processor, leading to battery drain and preventing the device from entering a low power mode, as the device continuously scans for pressed keys and sends unintended messages.
Innovation Solution
A method involving a processor and keyboard controller that detects stuck keys by monitoring key press messages and sends a mock key-up message to interrupt the processing of stuck key inputs, allowing the keyboard controller to operate at a reduced scan rate, thereby reducing battery consumption and conserving power.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the device continuously scans the keyboard for pressed keys, then key input detection is reliable, but battery power is consumed continuously preventing low power mode
Solution Approach 1:
The keyboard controller dynamically adjusts its scan rate based on the operational state. When a key is detected as pressed, the controller increases the scan rate to ensure reliable detection. When no keys are pressed, the controller reduces the scan rate to a lower power mode, thereby reducing battery consumption while maintaining the ability to detect key inputs when needed.
Solution Approach 2:
The system changes the scanning parameter (scan rate) based on the detected state of the keyboard. By monitoring whether keys are pressed or released, the controller adjusts the scanning frequency accordingly, transitioning between high and low power consumption states to optimize energy usage while preserving detection reliability.
2Reliability
If a stuck key continuously sends inputs to the processor, then key press detection remains active, but processor resources are wasted and battery drains
Solution Approach 1:
The keyboard controller performs preliminary detection of key states before sending inputs to the processor. By detecting whether a key is genuinely pressed or stuck at the controller level, the system can prevent continuous transmission of spurious key inputs to the processor, thereby conserving processor resources and reducing battery drain while maintaining accurate key press detection.
Solution Approach 2:
The keyboard controller acts as an intermediary between the physical keyboard and the processor. It filters and validates key inputs before forwarding them to the processor, preventing stuck keys from generating continuous unwanted inputs. This intermediary function preserves reliable key detection while eliminating the harmful effect of stuck keys on processor resources and battery life.
3Ease of operation
If the device cannot enter sleep mode due to stuck key, then key input responsiveness is maintained, but power consumption increases
Solution Approach 1:
The keyboard controller dynamically adapts its operational mode based on the detected key state. When no keys are pressed (or stuck keys are detected and handled), the controller transitions to a low power mode that allows the device to enter sleep state. When keys are actively pressed, the controller increases responsiveness, ensuring ease of operation while optimizing power consumption based on actual usage conditions.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of detecting and recovering from stuck keys on an electronic device keyboard comprises receiving one or more messages by a processor based upon a predetermined periodic scan rate and each message corresponding to a pressed key, determining one of the pressed keys is a stuck key based upon the received one or more messages corresponding to a pressed key, sending a mock key-up message from the processor to a keyboard controller in response to the determined stuck key, operating the keyboard controller at a changed scan rate in response to the mock key-up message, detecting the electronic device keyboard is in a released key state by the processor; and operating the keyboard controller at the predetermined periodic scan rate in response to the detected released key state. The processor can include two components, such as a keyboard processor and a keyboard controller.