Primeiro post. Aqui vai:
Eu tenho o Ubuntu 10.10, o maverick.
Alguns dias atrás, eu estava tentando converter minha tecla 'command' no meu computador apple para uma tecla 'ctrl' e, depois de pesquisar on-line, corri para o xmodmap. Deixe-me primeiro ir em frente e dizer que descobri no final como remapear minha chave (vá para System- > preferences- > keyboard, layouts, win / alt key e mapeie-a para controlá-la). Mas antes disso, eu estava tentando usar o xmodmap para fazer o remapeamento. No processo, percebi que o xmodmap simplesmente não funciona para mim, e não há nada que eu possa encontrar online relatando um problema similar.
Mesmo antes de criar qualquer tipo de arquivo .Xmodmap a ser executado toda vez no login, o comando simplesmente parece não funcionar no terminal. Se eu executar xev, a saída da minha chave de comando esquerda é:
KeyPress event, serial 33, synthetic NO, window 0x4600001,
root 0xc9, subw 0x0, time 2747931, (120,-383), root:(123,436),
state 0x0, keycode 133 (keysym 0x85, (no name)), same_screen YES,
XLookupString gives 2 bytes: (c2 85) ""
XmbLookupString gives 2 bytes: (c2 85) ""
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4600001,
root 0xc9, subw 0x0, time 2748059, (120,-383), root:(123,436),
state 0x4, keycode 133 (keysym 0x85, (no name)), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
O que significa que o código de tecla do meu caractere de comando é 133. Fazer o mesmo com a tecla ctrl me diz que o código de tecla da minha tecla de controle esquerda é 37.
Mas fazendo este comando:
xmodmap -e "keycode 133 = Control_L"
não faria a minha função de tecla de comando como um caractere de controle. Além disso, eu sei que o xmodmap fez o mapeamento, porque digitar o caractere de comando no xev agora fornece:
KeyPress event, serial 33, synthetic NO, window 0x4600001,
root 0xc9, subw 0x0, time 3016638, (293,-389), root:(296,430),
state 0x0, keycode 133 (keysym 0xffe3, Control_L), same_screen YES,
XKeysymToKeycode returns keycode: 37
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4600001,
root 0xc9, subw 0x0, time 3016750, (293,-389), root:(296,430),
state 0x4, keycode 133 (keysym 0xffe3, Control_L), same_screen YES,
XKeysymToKeycode returns keycode: 37
XLookupString gives 0 bytes:
XFilterEvent returns: False
E a entrada do keycode 133 da saída xmodmap -pke também parece correta:
keycode 133 = Control_L NoSymbol Control_L
Neste ponto, a chave de comando ainda agiria como uma tecla de comando. A minha pergunta é, é algo que sobrepõe os mapeamentos de chaves do xmodmap e, em caso afirmativo, onde e como?