Linux

鍵盤鍵“s”未觸發

  • August 18, 2019

我最近在我的拱門上安裝了 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”將被辨識並可以綁定 - 但不會觸發執行。

自己發現的:

問題是我在鍵上添加了一個自定義鍵盤快捷xfce4-terminal --drop-down§(在我們的佈局中,它是鍵“波浪號”),它保存在配置中<property name="section" type="string" value="xfce4-terminal --drop-down"/>

如果我刪除此快捷方式(或將其編輯為Super + §),一切都會按預期工作。

  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 中“硬編碼”

引用自:https://unix.stackexchange.com/questions/533754