Keyboard Matrix Multi-Key Mapping for High-Density Input

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional keyboard matrices are limited in the number of keys they can support due to their fixed size, requiring larger matrices for more than 128 keys, which increases design and manufacturing costs.

Innovation Solution

The keyboard system allows one matrix position to correspond to multiple keys by using a combination of first type keys, which correspond to individual scan codes, and second type keys, which correspond to multiple scan codes, enabling the use of existing keyboard matrices to support more keys without increasing their size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the keyboard matrix size is increased to support more than 128 keys, then the number of supported keys is improved, but the design and manufacturing costs increase

Engineering Contradiction:
Improvenumber of supported keysVSAvoiddesign and manufacturing costs
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

The patent applies multi-functionality by enabling each matrix position to serve multiple purposes: it can represent multiple different keys depending on the key combination state. A single matrix position (row-column intersection) can correspond to multiple keys by detecting different patterns of activated keys, allowing the same hardware structure to support more than 128 keys without increasing matrix size.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a temporal dimension to the traditional spatial keyboard matrix detection. Instead of only detecting which matrix positions are activated at a single moment, the system detects the sequence and combination of key presses over time. By analyzing key press patterns across multiple time points, the system can distinguish between multiple keys that share the same matrix position, effectively adding a time-based dimension to the detection process.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If a larger keyboard matrix is used to support more keys, then the number of supported keys is improved, but the device complexity increases

Engineering Contradiction:
Improvenumber of supported keysVSAvoidmatrix size
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Each matrix position is designed to be multi-functional, representing multiple keys through different activation patterns. This allows the same physical matrix structure to encode information for more than 128 keys, reducing the need for a larger matrix while maintaining high key capacity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent uses software-based key identification that creates virtual representations of keys beyond the physical matrix positions. By detecting key press patterns and mapping them to multiple logical keys, the system effectively creates copied or virtual key identities that extend the functional capacity of the physical matrix without adding physical rows or columns.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7345598B2Electronic device with keyboard system and method of detecting key conditions thereof
Publication Date: 2008.03.18 WISTRON CORP
  • US7345598B2 patent drawing
  • US7345598B2 patent drawing
  • US7345598B2 patent drawing

AI summary

The present invention provides an electronic device and its keyboard system that includes a plurality of keys, a keyboard matrix and a program. The keys include a plurality of first type keys and a plurality of second type keys; the keyboard matrix includes a plurality of keyboard positions. By scanning the keyboard positions, a character or a command typed by a user can be obtained; the program includes a first program code for setting the keyboard matrix to cause a portion of the matrix positions to correspond to the plurality of first type keys, wherein each matrix position corresponding to one first type key, and a second program code for setting another portion of the matrix positions corresponding to the plurality of second type keys, wherein each matrix position corresponding to more than one second type keys.