使用 CapsLock 作為滑鼠左鍵;大部分都有效,但在一些事情上失敗了
Linux System Info: OS: GNU/Linux x86_64 Kernel: 3.13.0-24-generic Distro: Linux Mint 17 Qiana, Cinnamon 64-bit 2.2.16 [Based On: Ubuntu 14.04.5 LTS, Trusty Tahr]
由於包括手指損傷在內的殘疾(脊髓損傷),我進行了一些更改,以便可以將鍵盤的 CapsLock 鍵用作滑鼠左鍵。NumLock 被重新映射以用作 CapsLock。
將 CapsLock 用作左鍵點擊和左鍵點兩下時,幾乎所有操作都可以正常工作,但下面列出的一些操作並不…
編輯 2019-01-10
長篇文章的其餘部分已被刪除 - 請參閱下面的答案,了解如何將 CapsLock 鍵設置為滑鼠左鍵,並將 NumLock 重新映射為 CapsLock。
回答我自己的問題…
事實證明,將 CapsLock 設置為滑鼠左鍵比預期的要簡單得多。
$$ Note: The physical mouse left mouse button continues to behave as normal. $$ 1)將CapsLock映射到滑鼠左鍵(66是CapsLock鍵碼):
$ xmodmap -e "keycode 66 = Pointer_Button1"
- 將 NumLock 映射到 CapsLock(77 是 NumLock 鍵碼):
$ xmodmap -e "keycode 77 = Caps_Lock"
注意:這意味著 NumLock 將充當 CapsLock 替換鍵,NumLock 的功能將失去(我從不使用它,但如果您使用 NumLock,請使用不同的鍵,例如 Pause、ScollLock 等)。
- 啟用滑鼠鍵:
$ xkbset mousekeys
注意:在某些發行版上預設不安裝 xkbset,這與在系統設置的輔助功能部分啟用滑鼠鍵不同。
就是這樣——一切都完成了。
但是,使用者可能希望在啟動時自動完成這些任務。這是我所做的:
創建正常文件
/home/user/.Xmodmap
並插入以下行。! 77 is the NumLock key code, 66 is the CapsLock key code. ! Map CapsLock to the left mouse button and map NumLock to ! CapsLock, i.e. NumLock acts as the CapsLock key used to. keycode 77 = Caps_Lock keycode 66 = Pointer_Button1
.Xmodmap
注意:文件中的註釋以!
.事實證明,在啟動時執行 xmodmap 來載入
~/.Xmodmap
文件比預期的要困難 - 問題是它必須在啟動序列的後期完成,否則 XKB 將不會被啟動,並且 XKB 將在載入時覆蓋 xmodmap 更改。放置線…
/usr/bin/xmodmap /home/user/.Xmodmap /usr/bin/xkbset mousekeys
…在
~/.profile
,~/.xinitrc
,中~/.xsessionrc
都失敗了。創建文件
/etc/X11/Xsession.d/80_xmodmap_user_added
以執行上述命令,如如何在 Ubuntu 16.04 中持久地重新映射鍵?對我不起作用。我不情願地使用了圖形啟動工具,在 Linux Mint 上如下(您的發行版可能會有所不同):
Mint Menu --> Preferences --> Startup Applications
我創建了 2 個條目,一個用於呼叫以下每個命令:
/usr/bin/xmodmap /home/user/.Xmodmap /usr/bin/xkbset mousekeys
作為記錄,我不需要在我的啟動應用程序條目中自動啟動延遲,但如果這對您不起作用,請嘗試添加延遲。XKB 需要在命令執行之前啟動,否則您的更改將被它覆蓋。
這一切對我來說都很完美;在啟動時 CapsLock 用作滑鼠左鍵(點擊和點兩下均可)。