Remapear Esc para Caps Lock depois de mapear Caps Lock para Ctrl e Esc com xcape

0

Eu tenho atualmente Caps Lock mapeado para Ctrl quando pressionado e Esc quando tocado (para vim) através destes comandos em .xinitrc

setxkbmap -option 'caps:ctrl_modifier'
xcape -e 'Caps_Lock=Escape'

Isso funciona, mas deixa-me sem Caps Lock então quero remapear Esc para Caps Lock . Eu tentei defini-lo com xmodmap -e 'keycode 9 = Caps_Lock' , mas isso também substitui o mapeamento na tecla Caps Lock . Existe alguma maneira de alcançar esses mapeamentos?

Caps Lock -> Ctrl and Esc
Esc -> Caps Lock
    
por hopibel 15.02.2017 / 06:42

1 resposta

0

Você pode usar setxkbmap ou xmodmap para trocar o Caps Lock e o Escape. Com xmodmap você poderia ter:

! Remove Caps_Lock modifier from real Caps Lock key
clear Lock
! Set real Caps Lock key to present as (left) control
keycode 66 = Control_L
! Set real Escape key to present as Caps Lock
keycode 9 = Caps_Lock
! Make a fake key to hold the Escape keysym, so xcape can use it
keycode 255 = Escape
! Make Caps_Lock and Control_L work as one would expect
add Lock = Caps_Lock
add Control = Control_L

(As linhas que começam com ! são comentários.)

Coloque isso em ~/.xmodmaprc e execute xmodmap ~/.xmodmaprc , em seguida, execute xcape -e '#66=Escape' para adicionar a funcionalidade Escape à tecla real Caps Lock.

    
por 15.02.2017 / 10:32