Estou tentando usar o Xmodmap para adicionar alguns diareses / umlauts alemães ao meu teclado, mas o Xmodmap não está trabalhando com eles (mas com outros remapings).
Estou seguindo este guia: alemão Umlauts no teclado dos EUA no X (Ubuntu 10.04) .
Xmodmap
Eu adicionei isso ao meu ~/.Xmodmap
:
keysym a = a A adiaeresis Adiaeresis
keysym o = o O odiaeresis Odiaeresis
keysym u = u U udiaeresis Udiaeresis
keysym s = s S ssharp ssharp
xev
No entanto, isso não funciona. Aqui está a saída de xev
quando eu pressionar o , mantenha pressionado AltGr , pressione o , pressione x :
KeyPress event, serial 34, synthetic NO, window 0x4e00001,
root 0x8e, subw 0x0, time 642618, (108,138), root:(173,190),
state 0x10, keycode 32 (keysym 0x6f, o), same_screen YES,
XLookupString gives 1 bytes: (6f) "o"
XmbLookupString gives 1 bytes: (6f) "o"
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4e00001,
root 0x8e, subw 0x0, time 642644, (108,138), root:(173,190),
state 0x10, keycode 32 (keysym 0x6f, o), same_screen YES,
XLookupString gives 1 bytes: (6f) "o"
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x4e00001,
root 0x8e, subw 0x0, time 643792, (108,138), root:(173,190),
state 0x10, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x4e00001,
root 0x8e, subw 0x0, time 645365, (108,138), root:(173,190),
state 0x90, keycode 32 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4e00001,
root 0x8e, subw 0x0, time 645409, (108,138), root:(173,190),
state 0x90, keycode 32 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x4e00001,
root 0x8e, subw 0x0, time 647660, (108,138), root:(173,190),
state 0x90, keycode 53 (keysym 0xd7, multiply), same_screen YES,
XLookupString gives 2 bytes: (c3 97) "×"
XmbLookupString gives 2 bytes: (c3 97) "×"
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4e00001,
root 0x8e, subw 0x0, time 647722, (108,138), root:(173,190),
state 0x90, keycode 53 (keysym 0xd7, multiply), same_screen YES,
XLookupString gives 2 bytes: (c3 97) "×"
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4e00001,
root 0x8e, subw 0x0, time 650223, (108,138), root:(173,190),
state 0x90, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XFilterEvent returns: False
Você notará que pressionar AltGr é interpretado como ISO_Level3_Shift
, e quando isso e x é pressionado, recebo keysym 0xd7, multiply
, ou seja, ×
, que é definido como o meu terceiro nível para x . Então AltGr funciona.
$ xmodmap -pke | grep 53
keycode 53 = x X x X multiply approximate
No entanto, quando pressiono o , recebo keysym 0x0, NoSymbol
, apesar do meu terceiro nível configurado:
$ xmodmap -pke | grep 32
keycode 32 = o O odiaeresis Odiaeresis
A mesma coisa acontece quando tento usar AltGr + ( a | u | s ). / p>
Xmodmap funciona para outros remapeamentos
Como minha chave PgUp no meu laptop é pequena, eu remapeei o teclado numérico + para Page Up no meu ~/.Xmodmap
, e isso funciona bem. Então meu arquivo XModmap está sendo lido (parcialmente).
Por que minhas reatribuições para o / a / u não funcionam?
Estou usando o Ubuntu 14.0.1 confiável com o Ubuntu Unity.