Como alterar um código de tecla usando setkeycodes

4

Eu tenho um Thinkpad Edge E130 rodando o Sabayon (uma distro baseada no Gentoo), e eu estou lutando contra o bem conhecido bug Xorg 255 keycodes limit .

Meu laptop tem a tecla de atalho Fn + F4 para Mic Mute / Unmute . Esse é o problema:

  • showkey -k mostra o código 248 na tecla Fn + F4
  • showkey -s não mostra nada no pressionamento de tecla
  • xev não mostra nada no pressionamento de tecla (porque 248 + 8 [adicionado pelo kernel] é maior que 255)

Se uma chave tiver um código de acesso, ela também deverá ter um código de acesso. Com o programa getscancodes , eu consegui 26 como scancode:

# ./Sabayon/getscancodes/getscancodes /dev/input/event6 
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x17aa product 0x5054 version 0x4101
Input device name: "ThinkPad Extra Buttons"
26 (0x1a)
26 (0x1a)

De acordo com o este tópico, meu palpite é simplesmente alterar o código de tecla da tecla de atalho com um menor, não utilizado. Por exemplo, 120 parece não ser usado de acordo com meu $ xmodmap -pke

Eu tentei com

# setkeycodes 0x1a 120

mas sem sucesso, o código de acesso é sempre 248 com showkey .

Como é a maneira correta de alterar códigos de teclas?

    
por eang 15.12.2012 / 16:17

2 respostas

3

  1. Use showkey para saber seu código de escala:

    $ sudo showkey -s
    0xe0 0xXX
    
  2. O kernel adicionará 8 ao seu código, use 112 em vez de 120 :

    $ sudo setkeycodes e0XX 112
    
  3. Use xmodmap para tornar seu relatório principal XF86AudioMute keysym:

    $ xmodmap -e "keycode 120 = XF86AudioMute"
    
  4. Opcional . Pressione a tecla quando criar atalho para o que você deseja nas configurações do seu DE.

por 24.09.2014 / 23:39
-1

etapa 1: xmodmap -pke listará seus códigos de teclas

etapa 2: xmodmap -e 'keycode 51 = backslash bar' mudará esse código para a barra invertida

espero que isso ajude

    
por 02.10.2016 / 13:43