Поменяйте местами некоторые клавиши на клавиатуре

Поменяйте местами некоторые клавиши на клавиатуре

Я хотел бы поменять местами некоторые клавиши, например Home и End на моей клавиатуре. Я сделал это с помощью xmodmap, но это откатывается каждый раз, когда мой компьютер переходит в спящий режим, и некоторые приложения, например VSCode, не уважают это.

Есть ли способ навсегда поменять ключи местами и заставить каждое приложение определять их правильно?

Я использую Ubuntu 20.04.

решение1

Оказывается, в ядре Linux можно переназначить клавиши.

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

Связанный контент