某些组合键不适用于用户应用程序

某些组合键不适用于用户应用程序

我正在使用 GUI 文本编辑器 SciTE,并且我想使用以下组合键来选择 SciTE 中的矩形文本区域:AltShiftUpAltShiftDown

看来我可以在 Linux Mint 中做到这一点,但我无法让它在 Debian 中工作。
Debian 阻止了这些密钥。
我想知道如何使这些密钥可供用户应用程序使用。

我的系统:

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

我用于AltShift在我的两个系统上切换键盘布局(英语-俄语)。
我希望它保持这种状态(因为我的“手指记忆”)。

我尝试过的:
我打开dconf-editor并更改了mouse-button-modifier<Alt>到 的所有位置<Super>,并禁用了所有组合键,然后重新启动了 Linux。
那并没有解决我的问题。

有趣的细节:
当我使用 VirtualBox(主机 = Debian,来宾 = Linux Mint)时,Alt-Shift-Up/Down组合键在来宾系统内工作!


xevAltShiftUpLinux 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

xevDebian 上的输出AltShiftUp

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

xevAltShiftLinux 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

xevDebian 上的输出AltShift

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

如您所见,AltShift组合键的处理方式有所不同:

  • 在 Debian 键盘布局上,按 PRESS 键打开,
  • 在 Linux Mint 上,键盘布局是通过 RELEASE 键切换的。

顺序:

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

AltShiftUp可能这就是为什么在 Debian 上不起作用的 原因。

我如何才能AltShiftUpAltShiftDebian 共存?

相关内容