定義涉及 Fn 鍵的鍵盤快速鍵

定義涉及 Fn 鍵的鍵盤快速鍵

我習慣按Fn+Left來模擬Home按鍵,按Fn+Right來模擬End

Home在具有實體和按鍵的鍵盤上End,使用這些Fn鍵盤快捷鍵不起作用。

如何映射自訂Fn鍵盤快捷鍵烏班圖Linux?

答案1

與 Alt 和 Ctrl 等修飾符不同,按下 Fn 鍵永遠不會傳達給作業系統。此鍵僅修改其他鍵的掃描碼,因此按Fn+Right會模擬 End 鍵,即使它實際上可能不存在,但作業系統無法區分它們。這種行為僅由鍵盤電子設備控制,因此在不擾亂電路或微控制器的情況下無法改變。

答案2

在大多數系統上,不可能檢測Fn密鑰本身,但您可以嘗試使用:

$ xev | grep --line-buffered keysym

找出哪些密鑰Fn-LeftFn-Right發送。 (這grep只是降低噪音。)

如果幸運的話,這些按鍵會將不重要的按鍵傳送到機器,然後您可以重新映射。

例如,在我的系統上,xev顯示我的Fn-Left按鍵實際上發送了一個XF86AudioPrev事件:

state 0x0, keycode 173 (keysym 0x1008ff16, XF86AudioPrev), same_screen YES,

我可以輕鬆地將其重新映射為Home關鍵事件:

$ xmodmap -e 'keysym XF86AudioPrev = Home'

希望您能夠對 End、PageUp 和 PageDown 執行相同的操作。

不幸的是,如果 xev 在您按下時沒有收到任何獨特的訊息,Fn-Left那麼您就不走運了。

令人遺憾的是,Fn按鍵沒有像其他修飾鍵那樣直接發送。如果是的話,我們將有更多的能力透過軟體配置它們的含義。

答案3

xev在終端機打開。當我按下ShiftCtrlAltWin( Super) 時,它會被偵測到,但當我按下該Fn鍵時,它不會被偵測到。

所以軟體與密鑰無關Fn;由硬體決定將什麼金鑰傳送到軟體(例如HomeEnd金鑰)。

因此,您的鍵盤必須已經具備該功能才能執行此操作。

相關內容