Как сопоставить клавиши [Alt] + [hjkl] клавишам со стрелками?

Я знаю, как сопоставить клавиши [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.

Заранее благодарим за помощь!

3
задан 17 April 2018 в 16:23

1 ответ

Я в настоящее время использую xubuntu 16.0.4 и встретился с подобной проблемой прежде. Мое решение состояло в том, чтобы работать ниже сначала перед любым xmodmap команды:

setxkbmap -layout us -variant altgr-intl -option nodeadkeys

Вы, возможно, должны скорректировать параметры для установки раскладке клавиатуры.

1
ответ дан 1 December 2019 в 17:28

Другие вопросы по тегам:

Похожие вопросы: