Сопоставить стрелки клавиатуры с ярлыками

9

Я печатаю со всеми десятью пальцами , так что я буду использовать Alt+ H( J, K, L) ярлыки в Vim в режиме вставки для перемещения курсора и это очень круто :) Я хотел бы переназначить стрелки ключи в X (Gnome) , чтобы использовать эти ярлыки во всех X Приложения

Поэтому, если я нажму Alt+, Kэто должно работать как стрелка вверх.

Для пытки самому себе :) вы можете включить эти строки в свой .gvimrc

inoremap <Left>  <NOP>
inoremap <Right> <NOP>
inoremap <Up>    <NOP>
inoremap <Down>  <NOP>
inoremap <A-h> <Left>
inoremap <A-j> <Down>
inoremap <A-k> <Up>
inoremap <A-l> <Right>
ivan73
источник

Ответы:

2

Не совсем то, что вы просите, но почти ...

Вы можете переназначить настройки клавиатуры X, используя xmodmapкоманду. Вы можете увидеть текущие настройки, запустивxmodmap -pke

Каждый код клавиши (значение, связанное с каждой клавишей на клавиатуре) может иметь до 8 символов клавиш (которые по сути являются выходными данными). Они заключаются в следующем:

  1. Когда нажата сама
  2. При нажатии со смещением
  3. При нажатии с включенным переключателем режима (кажется устаревшим)
  4. При нажатии с переключателем режима и переключения (кажется, устарели)
  5. При нажатии с Alt-Gr (иначе ISO_Level3_Shift в терминах xmodmap)
  6. При нажатии с Alt-Gr и Shift

Так что в настоящее время мой ключ "h" выглядит так:

h H h H hstroke Hstroke

где Hstroke KeySym производит Ħ.

Если вы не используете Alt-Gr для ввода не-ascii символов, вы можете переназначить h, j, k и l с помощью Alt-Gr, чтобы сделать то, что вы хотите. Это было бы:

xmodmap -e 'keycode 43 = h H h H Left Hstroke'
xmodmap -e 'keycode 44 = j J j J Up J'
xmodmap -e 'keycode 45 = k K k K Down ampersand'
xmodmap -e 'keycode 46 = l L l L Right Lstroke'

Конечно, Alt-Gr со сдвигами не является строго необходимым, я просто сохраняю значения, которые уже существуют. Вы можете найти значения кода ключа, выполнив xevкоманду из терминала. xevотображает X событий, так что вы можете нажать клавишу и узнать информацию о ней.

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

keycode 43 = h H h H Left Hstroke
keycode 44 = j J j J Up J
keycode 45 = k K k K Down ampersand
keycode 46 = l L l L Right Lstroke

Нажатие Alt-Gr, конечно, не так приятно, как нажатие Alt при использовании hjkl, но вы, я думаю, вы можете столкнуться с трудностями при использовании только Alt, потому что он используется для доступа к меню. Вы можете использовать информацию в этом ответе вместе с инструментами, упомянутыми Fraekkert для привязки, например, Alt-Shift-h, что может вам подойти лучше.

Также возможно стоит отметить, что вы можете установить режим vi в bash (или какую оболочку вы используете) с помощью set -o vi. Это дает вам как поведение при редактировании командных строк и истории. Я не верю, что это смотрит на ваш .vimrc, хотя, поэтому не ожидайте, что ваши ключевые переназначения будут работать.

Роджер Лайт
источник
0

Я бы использовал комбинацию панели настроек сочетаний клавиш и xvkbd.

xvkbd позволяет отправлять события клавиатуры через командную строку, а сочетания клавиш позволяют привязывать командные строки к ключевым событиям.

LasseValentini
источник