Os atalhos personalizados do KDE não funcionam com teclas XF86 especiais

1

Eu quero usar um teclado numérico externo como um 'teclado de macro' com cada tecla sendo capaz de realizar uma ação específica. Eu já criei um xkb_keymap personalizado para mapear chaves para XF86 símbolos.

$ cat ~/.xinitrc
...
# Active macro keyboard
macrokb=$( xinput list | sed -n 's|.*MOSART.*2\.4G.*id=\([0-9]*\).*keyboard.*||p' | head -n1 )
if [ "$macrokb" ]; then
  cat ~/.xkb/macros.xkb | xkbcomp -i $macrokb - $DISPLAY
fi

$ cat ~/.xkb/macros.xkb 
xkb_keymap "macros" {

xkb_keycodes {
    // 0 - Chrome
    <WEB> = 90;
    // / - Windows
    <WIN> = 106;
    // * - Win attach
    <ATCH> = 63;
    // BS - Win detach
    <DTCH> = 22;
    // enter - Terminal
    <TERM> = 104;
    // numlock - Settings
    <SETT> = 77;
};

xkb_types {
    include "basic"                                                                                                 
    include "numpad"                                                                                                
};                                                                                                                  

xkb_compat { include "basic" };                                                                                     

xkb_symbols {                                                                                                       
    key.type = "ONE_LEVEL";                                                                                         
    key <WEB> { [ XF86WWW ] };                                                                                      
    key <WIN> { [ XF86Launch0 ] };                                                                                  
    key <ATCH> { [ XF86Launch1 ] };                                                                                 
    key <DTCH> { [ XF86Launch2 ] };                                                                                 
    key <TERM> { [ XF86Terminal ] };                                                                                
    key <SETT> { [ XF86Tools ] };                                                                                   
};                                                                                                                  

};

O mapa do teclado personalizado é carregado com sucesso e é detectado por xev . Exemplo:

KeyPress event, serial 41, synthetic NO, window 0x5800001,
    root 0x4f7, subw 0x0, time 5314499, (1656,414), root:(1656,443),
    state 0x10, keycode 106 (keysym 0x1008ff40, XF86Launch0), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Agora vem a parte problemática: quando eu crio um atalho de teclado personalizado no KDE, ele reconhece com sucesso o XF86 keysym , por exemplo. WWW ou Terminal mas o script que eu forneci não é executado (então o atalho não é detectado pelo KDE).

Este não é o caso, no entanto, para algumas outras chaves (embutidas no meu teclado principal), por exemplo XF86AudioPlay .

Como posso resolver este problema?

    
por apilat 01.06.2018 / 23:12

0 respostas