Рейтинг:1

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

флаг us

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

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

Я использую Убунту 20.04.

Рейтинг:1
флаг us

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

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.