50. Почему в Linux повторяются клавиши: автоповтор, драйвер или железо?

Иногда при работе в Linux возникает странная проблема:
нажимаешь одну клавишу — а в тексте появляется сразу 5–10 символов.
Выглядит как «залипание», но физически клавиша может быть полностью исправна.

Разберёмся, почему это происходит, и что с этим делать.


Как вообще работает ввод клавиатуры в Linux

В Linux нет отдельного “драйвера клавиатуры”, как в Windows.
Обработка нажатий идёт по цепочке:

Клавиатура → контроллер (ACPI / i8042 / HID)
→ ядро Linux → libinput → Xorg / Wayland → программа

Поэтому проблема может возникнуть на любом из этих этапов.


Самая частая причина — автоповтор клавиш

В Linux по умолчанию включён автоповтор:

  • нажал клавишу,
  • подержал чуть дольше,
  • символ начинает повторяться.

Если:

  • задержка слишком маленькая,
  • скорость слишком высокая,

то даже короткое нажатие выглядит как «пулемёт».

Быстрая проверка

Отключить автоповтор временно:

xset r off

Если повторы исчезли — проблема именно в автоповторе.

Настройка нормального поведения

xset r rate 300 30

Где:

  • 300 — задержка (мс),
  • 30 — скорость повтора.

Проверка: не определяется ли клавиатура дважды

Иногда система видит одно и то же устройство как два разных
(часто на дешёвых ноутбуках и планшетах).

Проверка:

xinput list

Если в списке:

  • две одинаковые клавиатуры — это причина повторов;
  • одна (обычно AT Translated Set 2 keyboard) — всё нормально.

BIOS и GRUB работают нормально — и что?

Многие думают:

«В BIOS и GRUB всё нормально, значит железо исправно»

Это не совсем так.

BIOS и GRUB:

  • используют упрощённый режим клавиатуры;
  • не задействуют ACPI, libinput и энергосбережение.

Linux использует полный стек, поэтому баг может проявляться только в системе.


Роль ядра Linux

На некоторых ноутбуках (особенно бюджетных):

  • нестандартный контроллер клавиатуры,
  • кривые ACPI-таблицы,
  • ошибки i8042.

В таких случаях помогают параметры загрузки ядра (не зависит от терминала):

i8042.nomux i8042.reset

Если с ними повторы исчезают — проблема была в обработке контроллера.


Виртуальная клавиатура как тест

Хороший диагностический приём — виртуальная клавиатура.

Если:

  • физическая клавиатура печатает по 5–10 символов,
  • виртуальная — строго по одному,

значит:

  • система работает корректно,
  • проблема в физической клавиатуре или её контроллере.

Итог

Повтор клавиш в Linux — это:

  • ❌ не «сломанный Linux»,
  • ❌ не отдельный драйвер,
  • ✔ сочетание автоповтора, ядра и конкретного железа.

Чаще всего проблема решается:

  • настройкой автоповтора,
  • обновлением ядра,
  • параметрами i8042.

Linux просто не маскирует кривое железо, а показывает его честно.

Эксперимент с установкой Линукс

Оставьте комментарий