Google Chrome игнорирует сопоставление клавиш XmodMap

На моем ноутбуке нажата клавиша со стрелкой вниз, поэтому я использовал Xmodmap для удаления сопоставления этой клавиши с помощью следующей команды:

xmodmap.Xmodmap

Содержимое моего файла.Xmodmap - всего одна строка:

код 116 =

Все программы в Ubuntu (такие как gnome-терминал, xterm, Firefox, gedit) уважают это отображение.

Однако Google Chrome игнорирует это сопоставление, в результате чего страница постоянно прокручивается вниз или уменьшается громкость при воспроизведении полноэкранного видео.

Посмотрел на:

Оба из которых не имели доступного решения.

Решение из https://github.com/dnschneid/crouton/wiki/Keyboard для отключения управления раскладкой клавиатуры с помощью:

gsettings set org.gnome.settings-daemon.plugins.keyboard active false

не подходит для меня, так как мне нужно вводить японские символы, поэтому мне нужен IME для переключения между английским и японским языками.

3 ответа

Этот ответ решил это для меня:

setxkbmap -option lv3:rwin_switch

А затем снова запустите xmodmap и перезапустите приложение.

В выпуске 394552 один из пользователей отмечает, что если вы установите в качестве ключевой карты ключ, понятный Chromium (например, буквенный ключ), он будет уважать эту карту ключей.

Следовательно, исходя из рекомендации, приведенной здесь, я установил клавишу со стрелкой вниз, чтобы сопоставить ее с клавишей F18 (которая, насколько я вижу, никогда не будет нажата:P). Итак, содержимое моего файла.Xmodmap теперь:

код 116 = F18 F18 F18

Я протестировал эту новую раскладку клавиш, и теперь, похоже, Chrome ведет себя сам, как и другие программы.

Вот как я решил ту же самую проблему, и я помещаю это здесь для любого с этой проблемой.

Я получил ответ отсюда.

Из командной строки:

    sudo su

Теперь вы должны выяснить скан-код застрявшего ключа.

    showkey -s

Затем нажмите клавишу, и она выдаст два кода сканирования: нажмите и отпустите. Запишите их. Или, так как ваш ключ застрял, посмотрите, какой код повторяется. Для меня клавиша "вниз" состоит из двух пар скан-кодов: 0xe0 0x50 (нажмите) и 0xe0 0xd0 (отпустите). Вы должны сократить пару скан-кодов и использовать setkeycodes, чтобы переназначить их на новый код:

    setkeycodes e050 255
    setkeycodes e0d0 255

Это отключит вашу клавишу со стрелкой вниз на уровне ядра, что должно предотвратить проблемы в Chrome. Очевидно, что Chrome обрабатывает ввод с клавиатуры в некоторой степени независимо от xmodmap и xkb. Это было преднамеренное изменение, чтобы приспособиться к тому, как Chrome обрабатывает ввод в ChromeOS. К счастью, отключение застрявшего ключа на уровне ядра останавливает проблему задолго до того, как она достигнет Chrome. Это сработало для меня, чтобы предотвратить зависание застрявшей клавиши на цифровой клавиатуре 9.

Другие вопросы по тегам