.. include:: /urls.rst .. _l14_troubleshooting_keyboard: Keyboard issues =============== .. _l14_key_matrix: 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 | ___ | ___ | ___ | ___ | ___ | ___ | +---------------+--------------+---------+----------------+--------------+--------+---------------+-------------+ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | +---------------+--------------+---------+----------------+--------------+--------+---------------+-------------+ .. _l14_troubleshooting_keyboard_pressing_one_key_triggers_others: 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. .. raw:: html 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. .. _l14_troubleshooting_keyboard_pressing_some_keys_does_not_work: 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. .. _l14_troubleshooting_keyboard_combination_triggers_third: 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. .. raw:: html 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. .. _l14_troubleshooting_keyboard_combination_does_not_work: 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.