Keyboard issues

Key Matrix

The Librem 14 key matrix layout is usually relevant for troubleshooting issues like:

  • Pressing one key triggers other keys.

  • Pressing some individual keys does not work.

  • Pressing some combination of two keys triggers a third key.

  • Pressing some combinations of three keys does not register the third key.

Note

Generated by preprocessing the default keymap which evaluates the LAYOUT macro.

___

K_RIGHT

___

K_PRINT_SCREEN

K_DEL

___

___

___

K_QUOTE

K_ENTER

___

___

K_EQUALS

K_BKSP

K_BRACE_CLOSE

K_BACKSLASH

K_SLASH

K_UP

K_MINUS

K_F12

K_0

K_P

K_BRACE_OPEN

K_SEMICOLON

___

K_LEFT_CTRL

___

___

K_RIGHT_CTRL

___

___

___

___

___

K_F8

K_F9

___

___

___

K_LEFT

K_COMMA

___

K_F7

K_F6

K_F5

K_8

K_I

K_K

K_RIGHT_SHIFT

K_LEFT_SHIFT

___

___

___

___

___

___

K_PERIOD

K_DOWN

___

K_F11

K_F10

K_9

K_O

K_L

K_M

K_N

K_H

K_Y

K_6

K_7

K_U

K_J

K_V

K_B

K_G

K_T

K_5

K_4

K_R

K_F

K_X

K_Z

K_F2

K_F1

K_ESC

K_2

K_W

K_S

K_C

K_SPACE

K_F3

K_F4

K_CAPS

K_3

K_E

K_D

K_RIGHT_ALT

K_LEFT_ALT

___

___

___

___

___

___

___

___

KT_FN

K_TAB

K_TICK

K_1

K_Q

K_A

___

K_LEFT_SUPER

___

___

___

___

___

___

___

___

___

___

___

___

___

___

Pressing One Key Triggers Others

If pressing one key triggers others, and those keys share a row or column, then there is a short among rows or columns.

For example, if pressing N also triggers B, then the rows containing N and B are shorted, so pressing M will trigger V, etc.

Shorts are most likely on the mainboard, probably near the keyboard ribbon connector, but they can also occur near the EC pins or on the keyboard itself.

Pressing Some Individual Keys Does Not Work

If pressing a single key does not register anything, then there is probably a broken connection to the keyboard.

This could be a poorly seated keyboard ribbon connector, damage to the mainboard, or damage to the keyboard itself.

Pressing Some Combinations of Two Keys Triggers a Third Key

If there is a short in the keyboard matrix at a position that does not contain a key, then pressing keys in that row and column at the same time may cause a third key press to register.

For example, if pressing Left Shift + U triggers N as well, there is a short between the row containing Left Shift and the column containing U. (Left Shift, U, N, and the empty cell form a rectangle.)

This happens because the shorted position is normally impossible to press (there is no key there), but it causes a “ghost” with the extra triggered key.

The EC knows there is no key at this position, so it registers the third key press.

Pressing some combinations of three keys does not work

Pressing three keys that form the corners of a rectangle causes a “ghost” press with the fourth corner of the rectangle. If all four of those positions contain keys, it is impossible for the EC to determine which three keys are pressed. It cannot register the third key press.

This behavior is normal. This happens because the three pressed keys complete a circuit between the fourth key’s row/column.

The key matrix is optimized so that this is uncommon — for example, modifier keys have their own rows, so you can press modifier keys with any two other keys without causing a ghost.