Я знаю, как сопоставить клавиши [AltGr] + [h | j | k | l] клавишам со стрелками, например:
[AltGr]+[h] ... [Left]
[AltGr]+[j] ... [Down]
[AltGr]+[k] ... [Up]
[AltGr]+[l] ... [Right]
[AltGr]+[ö] ... [Home]
[AltGr]+[ä] ... [End]
Это возможно в два этапа:
Шаг 1) Найдите коды клавиш:
$ xmodmap -pke | grep "h H h H"
keycode 43 = h H h H hstroke Hstroke hstroke
$ xmodmap -pke | grep "j J j J"
keycode 44 = j J j J dead_belowdot dead_abovedot dead_belowdot
$ xmodmap -pke | grep "k K k K"
keycode 45 = k K k K kra ampersand kra
$ xmodmap -pke | grep "l L l L"
keycode 46 = l L l L lstroke Lstroke lstroke
$
$ xmodmap -pke | grep "odiaeresis" ## search for the diaresis 'ö'
keycode 47 = odiaeresis Odiaeresis odiaeresis Odiaeresis dead_doubleacute dead_belowdot dead_doubleacute
$ xmodmap -pke | grep "adiaeresis" ## search for the diaresis 'ä'
keycode 48 = adiaeresis Adiaeresis adiaeresis Adiaeresis dead_circumflex dead_caron dead_circumflex
$ ## as we can see the keycodes are: h=43, j=44, k=45, l=46, ö=47, ä=48
Согласно ubuntuusers.de/Xmodmap/ синтаксис для переназначить ключи следующим образом:
$ xmodmap -e "keycode
<key1> ... <Key>
<key2> ... <Shift-Key>
<key3> ... <Alt-Key>
<key4> ... <Shift-Alt-Key>
<key5> ... <AltGr-Key> (at least by Unity)
<key6> ... <Shift-AltGr-Key> (at least by Unity)
Шаг 2) Сопоставьте ключи к вашему желанию:
$ ## 1 2 3 4 5 6
$ xmodmap -e "keycode 43 = h H NoSymbol NoSymbol Left NoSymbol"
$ xmodmap -e "keycode 44 = j J NoSymbol NoSymbol Down NoSymbol"
$ xmodmap -e "keycode 45 = k K NoSymbol NoSymbol Up NoSymbol"
$ xmodmap -e "keycode 46 = l L NoSymbol NoSymbol Right NoSymbol"
$ ## 1 2 3 4 5
$ xmodmap -e "keycode 47 = odiaeresis Odiaeresis NoSymbol NoSymbol Home"
$ xmodmap -e "keycode 48 = adiaeresis Adiaeresis NoSymbol NoSymbol End"
Проблема: Однако, когда я пытаюсь сопоставить его с [Alt] вместо [AltGr], ничего не происходит, т.е. ни мой курсор не перемещается в соответствии с моим желаемым направлением, ни какие-либо символы не печатаются.
$ ## 1 2 3 4 5 6
$ xmodmap -e "keycode 43 = h H Left NoSymbol NoSymbol NoSymbol"
$ xmodmap -e "keycode 44 = j J Down NoSymbol NoSymbol NoSymbol"
$ xmodmap -e "keycode 45 = k K Up NoSymbol NoSymbol NoSymbol"
$ xmodmap -e "keycode 46 = l L Right NoSymbol NoSymbol NoSymbol"
Основная причина переназначения этих клавиш состоит в том, чтобы не перемещать мою правую руку всегда к клавишам со стрелками во время работы в текстовом редакторе ATOM. Итак, я хочу иметь возможность перемещаться в атоме, как в vim, или в рейнджере с помощью hjkl.
Заранее благодарим за помощь!
Я в настоящее время использую xubuntu 16.0.4 и встретился с подобной проблемой прежде. Мое решение состояло в том, чтобы работать ниже сначала перед любым xmodmap
команды:
setxkbmap -layout us -variant altgr-intl -option nodeadkeys
Вы, возможно, должны скорректировать параметры для установки раскладке клавиатуры.