Я понимаю, что новые клавиатуры можно заказать онлайн, но теперь, когда эта проблема оказалась сложной, я полностью очарован ею.
Многие старые клавиатуры ноутбуков из-за их износа имеют устойчивые шорты, которые заставляют реагировать несколько клавиш при нажатии одной клавиши. Например, на компьютере моей младшей сестры, если вы нажмете «r», система выведет «vr», «i» выведет «i» и т. Д.
Если предположить, что пользователь не является опытным пользователем vim / emacs, клавиатура все еще может быть восстановлена. Похоже, что если бы драйвер клавиатуры был изменен таким образом, чтобы нажатие клавиши «r» приводило к тому, что компьютер принимал «backspace r», то «v» исчезало бы и больше не доставляло хлопот.
Xmodmap XKB и другие системы, похоже, предполагают, что каждое нажатие одной клавиши приведет к одной команде. Кто-нибудь понимает отсутствующую ссылку, где более чем один символ может прийти от одного нажатия клавиши? Кажется, в стеке есть много мест, где это можно осуществить, но ни одно из них не особенно четко задокументировано. Еще одним забавным фактом является то, что вы не можете принудительно вызвать это в редакторе сочетаний клавиш Ubuntu, Ubuntu не позволит вам вводить изменения там, исходя из того, что «это сделает невозможным ввод».
Взлом в xev показывает, что компьютер считает, что когда вы нажимаете и отпускаете «r», он получает событие нажатия клавиши для «v», затем событие нажатия клавиши для «r», затем событие освобождения ключа для «v», а затем событие для 'р'. Если бы вы могли изменить конфигурацию так, чтобы игнорировать первое нажатие клавиши, если до нажатия следующей клавиши не было отпущено соответствующей клавиши, это также сработало бы.