Keyboard-Shortcuts

點擊時使用 ISO_Level3_Shift 作為 Escape

  • June 23, 2019

我使用了另一種鍵盤佈局,它使用 CapsLock 和 # 作為ISO_Level3_Shift修飾符。

setxkbmap de koy

我也喜歡在點擊時使用 CapsLock 作為附加的 Escape 鍵。這可以通過以下方式輕鬆實現:

xcape -e "ISO_Level3_Shift=Escape"

但這使得兩個 Level3 修飾符都充當 Escape。如何僅將 xcape 應用於左修飾鍵(標記為 CapsLock)?

在github上的 xcape 頁面上閱讀後,我找到了簡單的解決方案。去年合併了一個拉取請求,允許將鍵碼而不是鍵符傳遞給 xcape。

解決方案是:

xcape -e "#66=Escape"

如何獲得正確的密鑰程式碼?

xev -event keyboard

按下要修改的鍵。然後你應該看到類似的東西:

KeyPress event, serial 29, synthetic NO, window 0x4c00001,
   root 0x190, subw 0x0, time 771139, (110,626), root:(204,711),
   state 0x0, keycode 66 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
   XKeysymToKeycode returns keycode: 51
   XLookupString gives 0 bytes: 
   XmbLookupString gives 0 bytes: 
   XFilterEvent returns: False

在那裡您可以找到您的密鑰程式碼(在本例中為 66)。

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