键盘键“s”未触发

键盘键“s”未触发

我最近在我的 arch 上安装了 XFCE - 之前使用过 gnome。使用 XFCE 一段时间后,我发现我的按键“s”无法按预期工作(首先在 XFCE 中工作没有问题)。

如果我按“s” ,输出xev如下:

FocusOut event, serial 37, synthetic NO, window 0x4c00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 37, synthetic NO, window 0x4c00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys:  70  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

如果我按“Shift”+“s”,输出xev应该是这样的:

KeyPress event, serial 37, synthetic NO, window 0x4c00001,
    root 0x1ec, subw 0x0, time 1860946, (-385,-70), root:(2406,438),
    state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 37, synthetic NO, window 0x4c00001,
    root 0x1ec, subw 0x0, time 1861443, (-385,-70), root:(2406,438),
    state 0x11, keycode 39 (keysym 0x53, S), same_screen YES,
    XLookupString gives 1 bytes: (53) "S"
    XmbLookupString gives 1 bytes: (53) "S"
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x4c00001,
    root 0x1ec, subw 0x0, time 1861535, (-385,-70), root:(2406,438),
    state 0x11, keycode 39 (keysym 0x53, S), same_screen YES,
    XLookupString gives 1 bytes: (53) "S"
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x4c00001,
    root 0x1ec, subw 0x0, time 1862401, (-385,-70), root:(2406,438),
    state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

一旦我更改为 gnome 或启动到 Windows,“s”就会像以前一样工作。

  • 键盘为 Razor Ultimate 2016 - de-CH 布局
  • XFCE 设置中的键盘布局(德语(瑞士))正确
  • 键盘型号为“Generic 105 key PC (intl)”
  • 没有应用程序快捷方式绑定到“s”

我会说按键“s”我现在绑定到另一件事 - 但如何发现或在哪里改变这种行为?

也许这是一个需要的提示:如果我尝试将键盘快捷键(xfce4-keyboard-settings)设置为“s”键 - 这是无法完成的! “s”按下将被识别(按下时闪烁),但按键无法绑定。

另外:如果我尝试设置窗口管理器的键盘快捷键 - 键“s”将被识别并可以绑定 - 但不会触发执行。

答案1

自己查出来的:

问题是我xfce4-terminal --drop-down在键上添加了一个自定义键盘快捷键§(在我们的布局上它是键“波形符”),它保存在配置中<property name="section" type="string" value="xfce4-terminal --drop-down"/>

如果我删除此快捷方式(或将其编辑为Super + §),一切都会按预期进行。

答案2

  1. 实际上,您确实有一个绑定到 "s" 的快捷方式,我敢打赌它恰好没有绑定任何东西。

您可以通过进入 ~/.config/xfce4 并运行以下命令来找到这一点:

find . -type f -exec sh -c 'strings -f {} | grep "value=\"\""' \;

这将打印出所有包含空的 xfconf 行value=""。如果您没有找到它,~/.config/xfce4您应该尝试:

sudo find . -iname '*keyboard*' -exec sh -c 'strings -f {} | grep "value=\"\""' \;

找到它,以防它不是基于用户而是在 /etc 中“硬编码”

相关内容