mirror of
https://github.com/hamishcoleman/thinkpad-ec
synced 2024-11-04 06:00:12 +00:00
Add live/dead description
This commit is contained in:
parent
b4a5c4dca3
commit
282d7b1a90
@ -18,7 +18,10 @@ with the second half of each row being unused (except for one anomaly)
|
||||
This corresponds to the physical hardware, which uses 16 "drive" lines
|
||||
and 8 "sense" lines - with one extra row, probably for some software keys.
|
||||
|
||||
0 1 2 3 4 5 6 7
|
||||
The hardware "drive" line forms the row number and the "sense" line forms
|
||||
the column number.
|
||||
|
||||
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
|
||||
|
||||
matrix[ 0]: 01 02 11 10 1f 6e 2e 83 ` 1 Q TAB A Esc Z ??
|
||||
matrix[ 1]: 70 03 12 1e 20 2d 2f 00 F1 2 W CpLk S (|) X
|
||||
@ -52,7 +55,8 @@ with updating the live/dead key table.
|
||||
|
||||
(source: x230 EC firmware version 8DHT34WW, offset 0x218d8)
|
||||
|
||||
0 1 2 3 4 5 6 7
|
||||
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
|
||||
|
||||
matrix[ 0]: 01 02 11 10 1f 6e 2e 83 ` 1 Q TAB A Esc Z ??
|
||||
matrix[ 1]: 70 03 12 1e 20 2d 2f 00 F1 2 W CpLk S (|) X
|
||||
matrix[ 2]: 71 04 13 72 21 73 30 00 F2 3 E F3 D F4 C
|
||||
@ -74,14 +78,20 @@ matrix[15][15] = 0x96 ??
|
||||
matrix[16]: 00 9d 00 9e 9f 4a 3a 9c WinR? Pwr? Slp? Wak? CtlL Menu
|
||||
matrix[16][8] 7d 7e 00 00 00 00 00 00 ScLk Paus
|
||||
|
||||
ThinkPad x230 live/dead table:
|
||||
------------------------------
|
||||
ThinkPad x230 live/dead bitmap:
|
||||
-------------------------------
|
||||
|
||||
Again, this table is shared with all of the xx30 series laptops. There is
|
||||
a similar table in the x220 EC firmware, but with a different endianess (as
|
||||
a result of the different embedded controller used in the x220)
|
||||
|
||||
TODO: add description
|
||||
The live/dead bitmap is an array of 16 words, each word being 16 bits long.
|
||||
Each detected keypress is looked up in this array - the "drive" line is used
|
||||
as the index into the array and the "sense" line is the bit number in that
|
||||
word. If the bit at that location is set, then the keypress is considered
|
||||
a "live" key and the value from the matrix table is used as the embedded
|
||||
controller scancode of the key pressed (Note that this scancode is internal
|
||||
to the EC - it is not the same as the BIOS scancode)
|
||||
|
||||
(source: x230 EC firmware version 8DHT34WW, offset 0x219e8)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user