Я хотел бы поменять местами некоторые клавиши, например Home и End на моей клавиатуре. Я сделал это с помощью xmodmap, но это откатывается каждый раз, когда мой компьютер переходит в спящий режим, и некоторые приложения, например VSCode, не уважают это.
Есть ли способ навсегда поменять ключи местами и заставить каждое приложение определять их правильно?
Я использую Ubuntu 20.04.
решение1
Оказывается, в ядре Linux можно переназначить клавиши.
- Обозначитьскан-кодклавиши, которую вы хотите переназначить на какую-то другую клавишу. Это будет шестнадцатеричное число, и вы можете увидеть его в
sudo showkey -s
. Будьте осторожны, программа выдаст как коды для события нажатия клавиши, так и для ее отпускания. Допустим, я хочу изменить поведение клавиши 0xe021 (калькулятор на моей клавиатуре.) - Обозначитьключевой кодклавиши, которую вы хотите, чтобы ваша клавиша вела себя как. Это будет десятичное число, и вы можете получить его с помощью
sudo showkey -k
. Будьте осторожны, программа выдаст как коды для события нажатия клавиши, так и для ее отпускания. Допустим, я хочу иметь еще одну клавишу '107' (End на моей клавиатуре.) - Проблема
sudo setkeycodes e021 107
, с вашими кодами. - Чтобы сделать его постоянным, вам нужно запускать его после каждой загрузки как root. Вы можете решить это с помощью crontab. Запустите
sudo crontab -e
и поместите вашу команду выше в конец файла (без sudo, но с абсолютным путем):/usr/bin/setkeycodes e021 107