Intereting Posts
Где я могу найти драйвер Linux для наушников в дереве ядра? Как вы переименовываете файлы в списке, который будет использовать wget? Как «имитировать» клавишу Fn Как правильно (безопасно) подключиться к VPN с OpenVPN в Debian? Запустите x11vnc перед входом пользователя Один сетевой адаптер имеет несколько IP-адресов. Можно ли дросселировать скорость на каждый IP-адрес? Какой светлый дистрибутив Linux позволяет подключаться через RDP с экрана входа в систему Как отключить обнаружение USB-pendrive при загрузке в Linux (Ubuntu 18.04) Завершить каждый фоновый процесс Отключить повторную сборку IP-фрагмента в пересылаемых датаграммах Ошибка шины PCIe при заполнении журналов FAST Как grep для алфавитов, за которыми следует пробел и знак препинания? Создайте временный скрипт с помощью sed (или любой другой утилиты) для немедленного создания сценария для запуска на месте Не удалось получить библиотеку Open Library Art Library RSS find -exec не работает в рыбе

Работа с ошибкой клавиатуры / взлом входного потока?

Когда я быстро oun последовательность oun , последовательность oun<F12> испускается моей клавиатурой.

(Обновление: на самом деле вы должны нажать и удерживать каждую клавишу в последовательности, чтобы вызвать проблему. Если «o» высвобождается до нажатия «u», проблема не срабатывает).

Я впервые заметил проблему при вводе на веб-сайт с помощью Google Chrome и заметил, что консоль разработчика случайно появляется во время ввода. Я не определил специфику, пока не набрал vim, и вдруг в моем тексте появился <F12> .

Несколько минут экспериментов дали следующее:

  • Это на 100% воспроизводимо, каждый раз
  • Он запускается специально с помощью последовательности клавиш «oun»,
  • Первый ключ все равно должен быть нажат на момент нажатия на третий ключ. Освобождение каждой клавиши перед нажатием следующего не вызывает проблемы (именно поэтому вы столкнулись с проблемой при быстром наборе текста).

Как разработчик, это кажется прямой проблемой для решения (если вы видите эти четыре входа последовательно, отбросьте четвертый). Тем не менее, я понятия не имею, с чего начать: какая низкоуровневая фильтрация входных потоков доступна в Linux, или как идти о взломе драйверов устройств и т. Д.

Мой вопрос в том, где я бы сделал такое изменение? В ядре? Это там механизм ввода клавиатуры, который принимает фильтры?

Дополнительные детали:

Это на HP ProBook 4530s (бизнес-ноутбук с 2011 года). Я запускаю Debian 8 в виртуальной виртуальной машине на хосте Windows 7. Я еще не загрузился в Knoppix, чтобы проверить, что проблема все еще существует в 100% чистой среде Linux, но я уверен, что это проблема, которая происходит ниже уровня ОС.

Кто-то еще сообщил о той же самой проблеме (той же последовательности ключей) еще в 2012 году с совершенно новыми 4530-ыми: http://www.tomsguide.com/forum/75276-35-keys-activate-typing-help

ОБНОВИТЬ:

Я загрузил 4530-е годы с помощью Knoppix и запустил xev, чтобы подтвердить, что это проблема с оборудованием. Вот выдержка из выхода, где вы можете увидеть последовательность oun<F12> : https://gist.github.com/cellularmitosis/018d822e5ccc5c1a64e6

ОБНОВЛЕНИЕ 2:

Ну, мне повезло, и обновления BIOS было достаточно, чтобы решить проблему. См. Http://h20564.www2.hp.com/hpsc/swd/public/detail?sp4ts.oid=5060881&swItemId=ob_146941_1&swEnvOid=4059.

Я принимаю ответ Дмитрия, потому что это то, что я бы попробовал, если бы обновление BIOS не решило проблему.

В GitHub есть проект, называемый inputty, который делает то, что вы пытаетесь достичь – он считывает события evdev с реальных HID-устройств и создает uinput-устройства для эмуляции виртуального HID-оборудования. Например, вот qml-скрипт добавляет виртуальную клавиатуру, которая выдает дополнительное нажатие клавиши x после нажатия клавиши f на реальной клавиатуре.

Вы должны иметь возможность реализовать свой алгоритм с этим или просто отбросить ключ F12, если сможете без него жить.