Mapeie F2 para substituir a tecla 2 - também com a combinação Shift e Alt - em Lubuntu 14.04.3

1

Eu corro um layout de teclado dinamarquês no Lubuntu 14.04.3. A tecla 2 está com defeito (problema de hardware). Desejo substituir seu uso pela chave F2 . O valor da chave F2 (isto é, o evento de pressionamento de tecla F2 ) deixará de estar disponível.

Dessa forma, o resultado que eu preciso será o seguinte:

Pressed key(s) -> Resulting character

F2             ->          2
Shift + F2     ->          "
Alt + F2       ->          @

Eu não sou adequadamente proficiente no Ubuntu, Lubuntu e Linux em geral, e apesar de aprender uma quantidade moderada, mas não suficiente, de xmodmap , xkb , obkey e openbox , ao longo do caminho, eu não foi capaz de remapear F2 como um substituto para a tecla 2 no Lubuntu para o meu teclado. Como posso fazer isso?

    
por Frank 16.01.2016 / 15:50

1 resposta

1

Há mais de uma maneira de modificar mapas de teclado, mas provavelmente o mais fácil é usar o utilitário xmodmap . Primeiro você precisa de um keycode da tecla F2 . Para obtê-lo, execute xev , pressione F2 e procure por keycode xx line. O exemplo de saída ( 68 é importante aqui):

KeyPress event, serial 34, synthetic NO, window 0x2c00001,
    root 0x7e, subw 0x0, time 373092759, (154,220), root:(162,228),
    state 0x0, keycode 68 (keysym 0xffbf, F2), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x2c00001,
    root 0x7e, subw 0x0, time 373092866, (154,220), root:(162,228),
    state 0x0, keycode 68 (keysym 0xffbf, F2), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Agora você está pronto para modificar o comportamento dessa chave com xmodmap , a sintaxe é a seguinte:

keycode [num] = [bare key] [shift] [Mode_switch] [Mode_switch+shift] [ISO_Level3_Shift] [ISO_Level3_Shift+shift] [Mode_switch+ISO_Level3_Shift] [Mode_switch+ISO_Level3_Shift+shift]

Essa é a teoria, na prática o último grupo muitas vezes não faz o que se esperaria. Sua demanda não parece muito difícil, então o seguinte deve funcionar:

keycode 68 = 2 quotedbl at F2 at F2 F2 F2
    
por 16.01.2016 / 17:37