我的鍵盤損壞了,鍵盤鍵 [é] 總是被按下,這使我無法工作。在 Windows 上,我發現軟體 Sharpkey 可以停用 [é] 按鈕,但在 Ubuntu 上我找不到任何解決方案。在許多論壇上,他們談論 Xmodmap,但我無法在終端上工作,因為 [é] 按鈕經常被按下。請你給我一個解決這個問題的方法。謝謝
答案1
我會嘗試什麼:
連接 USB 鍵盤,或使用 ssh 進入機器。
打開終端,然後運行
xev -event keyboard
.它將在螢幕上顯示一些內容。如果省略參數,您會發現如果您移動滑鼠,它也會顯示更多內容。然後,按您想要停用的組合鍵 [é]。螢幕上的信息會發生變化,您必須查找該
keycode
值。運行類似這樣的操作,更改為您在上一個步驟中
<value>
獲得的值:keycode
xmodmap -e 'keycode <value>='
例如,如果我想停用該
~
鍵( Shift + ` ),我必須運行:xmodmap -e 'keycode 49='
我只嘗試過更多標準鍵,例如大寫鎖定……但我想它也應該適用於此。我希望這有幫助!
答案2
供我個人使用的簡單 bash 腳本已上傳至https://github.com/anitaggu/ikbdop。
若要停用筆記型電腦的內部鍵盤,
./ikbdop.sh detach
再次啟用鍵盤
./ikbdop.sh attach
簡短的操作方法也上傳於Youtube
答案3
上述方法在 Wayland 上都不起作用。我不確定其他桌面環境,但禁用 sway-wm 上特定鍵盤上的特定鍵的最簡單方法是使用 keyd。然而,它需要終端,我建議您在移除實體鍵盤後使用 USB 鍵盤,直到完成為止。
- 從 GitHub 克隆 keyd,建立它並啟動守護程序。
git clone https://github.com/rvaiya/keyd
cd keyd
make && sudo make install
sudo systemctl enable keyd && sudo systemctl start keyd
- 找出有問題的按鍵和鍵盤的名稱。運作
sudo keyd monitor
得到這樣的東西:
device added: 0fac:0ade keyd virtual keyboard (/dev/input/event20)
device added: 03f0:5341 PIXART HP Wireless Keyboard and Mouse Consumer Control (/dev/input/event18)
device added: 03f0:5341 PIXART HP Wireless Keyboard and Mouse (/dev/input/event17)
device added: 03f0:5341 PIXART HP Wireless Keyboard and Mouse (/dev/input/event7)
device added: 06cb:7f13 Synaptics TM3253-001 (/dev/input/event5)
device added: 0001:0001 AT Translated Set 2 keyboard (/dev/input/event0)
keyd virtual keyboard 0fac:0ade enter up
keyd virtual keyboard 0fac:0ade kp5 down
我連接了兩個鍵盤。一個是PIXART HP Wireless
與03f0:5341
,一個 是AT Translated Set 2 keyboard
與0001:0001
。 keyd 使用這些代碼來識別您的鍵盤。因此,請記下下一步的程式碼和金鑰名稱。最後一列給出了鍵名稱。說到這裡,我離開enter
並按下去kp5
。
- 將文件編輯
/etc/keyd/default.conf
為:
[ids]
0001:0001 #code of attached keyboard from earlier
[main]
kp5 = noop #Ignore the key 'kp5'
- 最後,
sudo keyd reload
停用所有鍵盤上的特定鍵。將上面提到的編輯default.conf
為
[ids]
*
[main]
kp5 = noop
答案4
1) 偵測您要停用的鍵盤按鍵的鍵碼:
方法一:
此方法僅在您嘗試停用常規鍵而不是 F1、F2、F3...等時有效
當您閱讀此答案時,請右鍵單擊我的答案上的任意位置 -> 單擊檢查元素或者檢查,將此程式碼貼到安慰選項卡並按 Enter 鍵:
window.addEventListener('keypress', (e) => console.log(e.keyCode) )
用滑鼠左鍵再次點擊我的答案,然後按您要停用的鍵,您會注意到列印在安慰瀏覽器的。
複製該號碼並執行下一步。
方法B:
此方法應該適用於鍵盤上的每個鍵
打開終端xev
,並如下使用該實用程式:
$ xev -event keyboard
將打開一個小窗口,按下鍵盤上要停用的鍵,然後關閉小窗口,您會注意到終端上的輸出,在這些輸出中,您會看到類似的內容keycode 93
。複製該鍵盤按鍵的鍵碼並執行下一步。
2)停用該鍵:
打開終端xmodmap
,並如下使用該實用程式:
xmodmap -e 'keycode <value>='
- 代替上面的內容
<value>
,將其替換為關鍵程式碼您從步驟 1 中獲得了方法 A 或 B。