我想交換一些按鍵,例如鍵盤上的 Home 和 End。我使用 xmodmap 做到了這一點,但是每次我的電腦進入睡眠狀態時,它都會恢復,並且某些應用程式(例如 VSCode)不尊重它。
有沒有辦法永久交換密鑰並使每個應用程式正確檢測到它?
我使用的是 Ubuntu 20.04。
答案1
事實證明,您可以在 Linux 核心中重新映射鍵。
- 確定掃碼您想要將其重新映射為其他鍵的鍵。這將是一個十六進制數,您可以在 中看到它
sudo showkey -s
。請注意,程式將發出按鍵事件和釋放事件的程式碼。假設我想更改 0xe021 鍵(鍵盤上的計算器)的行為。 - 確定關鍵程式碼您希望密鑰發揮作用的密鑰。這將是一個十進制數,您可以使用 來獲得它
sudo showkey -k
。請注意,程式將發出按鍵事件和釋放事件的程式碼。假設我想要另一個“107”鍵(鍵盤上的 End。) - 使用您的程式碼發出問題
sudo setkeycodes e021 107
。 - 要使其永久生效,您必須在每次啟動後以 root 身分執行它。可以用crontab來解決。運行
sudo crontab -e
並將上面的命令放在文件末尾(不帶 sudo 但使用絕對路徑):/usr/bin/setkeycodes e021 107