Algumas combinações de teclas não estão disponíveis para aplicativos do usuário

1

Estou usando o editor de texto GUI SciTE e quero usar as seguintes combinações de teclas para selecionar regiões retangulares de texto no SciTE: Alt Deslocamento Acima e Alt Desloca para baixo .

Parece que posso fazê-lo no Linux Mint, mas não consigo fazê-lo funcionar no Debian.
O Debian bloqueia essas chaves.
Eu quero saber como disponibilizar essas chaves para aplicativos de usuário.

Meus sistemas:

  • Linux Mint 18, MATE 1.14.1
  • Debian 8.7 (jessie), MATE 1.8.1

Eu uso Alt Shift para alternar o layout do teclado (inglês-russo) em ambos os meus sistemas. E eu gostaria que ficasse desse jeito (por causa da minha "memória do dedo").

O que eu tentei:
Eu abri dconf-editor e mudei em todos os lugares mouse-button-modifier de <Alt> para <Super> , e desativei todas as combinações de teclas, então reiniciei o Linux.
Isso não resolveu meu problema.

Detalhe interessante:
Quando eu uso o VirtualBox (host = Debian, guest = Linux Mint), combinações de teclas Alt-Shift-Up/Down funcionam dentro do sistema guest!

xev output para Alt Deslocamento Acima no Linux Mint:

KeyPress event, serial 38, synthetic NO, window 0x3c00001,
    root 0x26b, subw 0x3c00002, time 1272551, (42,42), root:(465,335),
    state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 38, synthetic NO, window 0x3c00001,
    root 0x26b, subw 0x3c00002, time 1273025, (42,42), root:(465,335),
    state 0x18, keycode 50 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 38, synthetic NO, window 0x3c00001,
    root 0x26b, subw 0x3c00002, time 1273538, (42,42), root:(465,335),
    state 0x19, keycode 111 (keysym 0xff52, Up), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x3c00001,
    root 0x26b, subw 0x3c00002, time 1273605, (42,42), root:(465,335),
    state 0x19, keycode 111 (keysym 0xff52, Up), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x3c00001,
    root 0x26b, subw 0x3c00002, time 1274384, (42,42), root:(465,335),
    state 0x19, keycode 50 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x3c00001,
    root 0x26b, subw 0x3c00002, time 1274824, (42,42), root:(465,335),
    state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

xev output para Alt Deslocamento Acima no Debian:

KeyPress event, serial 38, synthetic NO, window 0x4000001,
    root 0x296, subw 0x4000002, time 13862445, (48,45), root:(85,108),
    state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 38, synthetic NO, window 0x4000001,
    root 0x296, subw 0x4000002, time 13862855, (48,45), root:(85,108),
    state 0x18, keycode 50 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

PropertyNotify event, serial 38, synthetic NO, window 0x4000001,
    atom 0x1c0 (XKLAVIER_STATE), time 13862856, state PropertyNewValue

PropertyNotify event, serial 38, synthetic NO, window 0x4000001,
    atom 0x1c0 (XKLAVIER_STATE), time 13862857, state PropertyNewValue

PropertyNotify event, serial 38, synthetic NO, window 0x4000001,
    atom 0x1c0 (XKLAVIER_STATE), time 13862857, state PropertyNewValue

PropertyNotify event, serial 38, synthetic NO, window 0x4000001,
    atom 0x1c0 (XKLAVIER_STATE), time 13862858, state PropertyNewValue

KeyPress event, serial 38, synthetic NO, window 0x4000001,
    root 0x296, subw 0x4000002, time 13863422, (48,45), root:(85,108),
    state 0x2018, keycode 111 (keysym 0xff52, Up), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x4000001,
    root 0x296, subw 0x4000002, time 13863489, (48,45), root:(85,108),
    state 0x2018, keycode 111 (keysym 0xff52, Up), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x4000001,
    root 0x296, subw 0x4000002, time 13864456, (48,45), root:(85,108),
    state 0x2018, keycode 50 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x4000001,
    root 0x296, subw 0x4000002, time 13864793, (48,45), root:(85,108),
    state 0x2018, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

xev output para Alt Deslocamento no Linux Mint:

KeyPress event, serial 38, synthetic NO, window 0x3c00001,
    root 0x26b, subw 0x3c00002, time 3118153, (47,39), root:(78,133),
    state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 38, synthetic NO, window 0x3c00001,
    root 0x26b, subw 0x3c00002, time 3118245, (47,39), root:(78,133),
    state 0x18, keycode 50 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x3c00001,
    root 0x26b, subw 0x3c00002, time 3118377, (47,39), root:(78,133),
    state 0x19, keycode 50 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

PropertyNotify event, serial 38, synthetic NO, window 0x3c00001,
    atom 0x1c4 (XKLAVIER_STATE), time 3118380, state PropertyNewValue

PropertyNotify event, serial 38, synthetic NO, window 0x3c00001,
    atom 0x1c4 (XKLAVIER_STATE), time 3118382, state PropertyNewValue

PropertyNotify event, serial 38, synthetic NO, window 0x3c00001,
    atom 0x1c4 (XKLAVIER_STATE), time 3118383, state PropertyNewValue

PropertyNotify event, serial 38, synthetic NO, window 0x3c00001,
    atom 0x1c4 (XKLAVIER_STATE), time 3118385, state PropertyNewValue

KeyRelease event, serial 38, synthetic NO, window 0x3c00001,
    root 0x26b, subw 0x3c00002, time 3118535, (47,39), root:(78,133),
    state 0x2018, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

xev output para Alt Deslocamento no Debian:

KeyPress event, serial 38, synthetic NO, window 0x4000001,
    root 0x296, subw 0x4000002, time 16284126, (36,50), root:(76,134),
    state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 38, synthetic NO, window 0x4000001,
    root 0x296, subw 0x4000002, time 16284503, (36,50), root:(76,134),
    state 0x18, keycode 50 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

PropertyNotify event, serial 38, synthetic NO, window 0x4000001,
    atom 0x1c0 (XKLAVIER_STATE), time 16284506, state PropertyNewValue

PropertyNotify event, serial 38, synthetic NO, window 0x4000001,
    atom 0x1c0 (XKLAVIER_STATE), time 16284506, state PropertyNewValue

PropertyNotify event, serial 38, synthetic NO, window 0x4000001,
    atom 0x1c0 (XKLAVIER_STATE), time 16284507, state PropertyNewValue

PropertyNotify event, serial 38, synthetic NO, window 0x4000001,
    atom 0x1c0 (XKLAVIER_STATE), time 16284507, state PropertyNewValue

KeyRelease event, serial 38, synthetic NO, window 0x4000001,
    root 0x296, subw 0x4000002, time 16284786, (36,50), root:(76,134),
    state 0x2018, keycode 50 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x4000001,
    root 0x296, subw 0x4000002, time 16285071, (36,50), root:(76,134),
    state 0x2018, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Como você pode ver, a combinação de teclas Alt Shift é processada de forma diferente:

  • no layout do teclado do Debian é ativado PRESSIONE,
  • no layout de teclado do Linux Mint é ativado na chave RELEASE.

Sequência:

ALT pressed
SHIFT pressed
(at this moment Debian switches layout)
SHIFT released
(at this moment Linux Mint switches layout)
ALT released

Provavelmente, esta é a razão pela qual o Alt Deslocamento Acima não funciona no Debian.

Como eu posso fazer Alt Deslocar Acima coexistir com Alt Deslocamento no Debian?

    
por Egor Skriptunoff 03.04.2017 / 15:36

0 respostas