Anti-ghosting Keyboard Diode Integration for Membrane Circuit Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computer keyboards with membrane-based designs often experience 'ghosting' or 'phantom key' issues due to limited microcontroller inputs, where simultaneous key presses can lead to incorrect input detection, resulting in lost user input and errors, especially in applications requiring quick typing or multiple key combinations.
Innovation Solution
Incorporating one-way diodes into the membrane circuit design to increase the number of supported key combinations, allowing microcontrollers with limited inputs to accurately detect multiple key presses without errors, while maintaining existing keyboard construction methods and economies of scale.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a membrane-based keyboard design with limited microcontroller inputs is used, then cost is reduced, but ghosting errors occur during simultaneous key presses
Solution Approach 1:
The circuit is segmented into multiple independent rows and columns with dedicated input lines. Each row has its own input connection, allowing the microcontroller to scan and detect key presses row by row, thereby eliminating ghosting while maintaining cost-effectiveness
Solution Approach 2:
A scanning mechanism is introduced as an intermediary between the membrane switches and the microcontroller. The scanner sequentially activates row lines and reads column responses, mediating the interaction between limited microcontroller inputs and the full keyboard matrix
2Ease of manufacture
If a keyboard matrix with limited inputs is used, then manufacturing cost is reduced, but the number of supported key combinations is limited
Solution Approach 1:
The keyboard matrix is organized into a two-dimensional grid of rows and columns. By scanning through rows and detecting column responses, the system effectively adds a temporal dimension to the detection process, enabling full keyboard coverage with limited simultaneous inputs
Solution Approach 2:
The microcontroller performs periodic scanning of the keyboard matrix, sequentially activating each row and reading the column responses. This periodic scanning enables the system to detect any key combination over time, greatly expanding the effective key combination capability
3Device complexity
If simple conducting lines are used in the membrane circuit, then device complexity is reduced, but ghosting errors occur
Solution Approach 1:
The circuit is segmented into distinct row lines and column lines that are scanned sequentially. This segmentation allows the simple conducting lines to function reliably by isolating active scan lines from inactive ones, preventing ghosting without adding complex circuitry
Solution Approach 2:
The scanning mechanism uses the existing simple conducting lines of the membrane circuit to perform the detection function. By sequentially activating rows and reading column responses through the same conducting lines, the system achieves reliable detection without requiring additional dedicated signal lines for each key
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
The use of one-way diodes effectively reduces or eliminates ghosting, enabling accurate detection of multiple key presses and maintaining cost-effectiveness by integrating with existing microcontroller designs and construction methods, enhancing user input reliability in keyboards.
Implementation Method 1
an embodiment of the invention also includes one-way diodes
Data Source
AI summary
A computer keyboard is disclosed to remediate the phantom key or ghosting problem. Diodes are added to the PCB or contact-receptive membrane to eliminate reverse current, which is responsible for phantom key strikes. These one-way diodes increase the number of possible concurrent combinations that a microcontroller with limited inputs can support.


