web-dev-qa-db-fra.com

Comment déboguer les raccourcis clavier ne fonctionne pas?

Je suis sur XUbuntu 15.10. J'ai remarqué que certains raccourcis clavier n'atteignent pas mon application (Sublime Text).

Ctrl+Alt+p n'est pas visible par l'application, alors que par exemple Ctrl+Alt+i est reconnu correctement.

J'ai essayé de déboguer le problème avec xev, voici ce que je vois.

Ctrl+Alt+i Donne moi:

KeyPress event, serial 28, synthetic NO, window 0x3e00001,
    root 0xf9, subw 0x0, time 473258, (88,-10), root:(4850,512),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 28, synthetic NO, window 0x3e00001,
    root 0xf9, subw 0x0, time 473378, (88,-10), root:(4850,512),
    state 0x4, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 28, synthetic NO, window 0x3e00001,
    root 0xf9, subw 0x0, time 473530, (88,-10), root:(4850,512),
    state 0xc, keycode 31 (keysym 0x69, i), same_screen YES,
    XLookupString gives 1 bytes: (09) " "
    XmbLookupString gives 1 bytes: (09) "       "
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x3e00001,
    root 0xf9, subw 0x0, time 473602, (88,-10), root:(4850,512),
    state 0xc, keycode 31 (keysym 0x69, i), same_screen YES,
    XLookupString gives 1 bytes: (09) " "
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x3e00001,
    root 0xf9, subw 0x0, time 473770, (88,-10), root:(4850,512),
    state 0xc, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x3e00001,
    root 0xf9, subw 0x0, time 473778, (88,-10), root:(4850,512),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

mais Ctrl+Alt+P donne:

KeyPress event, serial 28, synthetic NO, window 0x3e00001,
    root 0xf9, subw 0x0, time 508401, (90,-17), root:(4852,505),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 28, synthetic NO, window 0x3e00001,
    root 0xf9, subw 0x0, time 508497, (90,-17), root:(4852,505),
    state 0x4, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeymapNotify event, serial 28, synthetic NO, window 0x0,
    keys:  4294967289 0   0   0   32  0   0   0   1   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 28, synthetic NO, window 0x3e00001,
    root 0xf9, subw 0x0, time 508785, (90,-17), root:(4852,505),
    state 0xc, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x3e00001,
    root 0xf9, subw 0x0, time 508793, (90,-17), root:(4852,505),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Non KeyPress ou KeyRelease pour p, à la place, il y a un KeymapNotify cryptique.

J'ai regardé xfce4-settings-editor mais n'y a trouvé aucune liaison de clé correspondante.

Où dois-je aller d'ici? Comment puis-je trouver ce qui vole cette combinaison de touches?

1
Kos

J'ai déjà eu un problème similaire. Une autre application utilisait déjà le raccourci clavier, mais il n'apparaissait pas dans Clavier> Raccourcis d'application. Par conséquent, il n'a pas pu être réaffecté.

Dans Terminal, utilisez votre éditeur de texte préféré pour ouvrir les éléments suivants:

gedit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

Je suppose que vous voulez utiliser ctrl+alt+p. Recherchez la ligne avec <Primary><Alt>p et supprimez-le. Essayez maintenant de définir votre raccourci clavier pour Sublime Text.

1
jbrock