Mouse
將額外的滑鼠按鈕配置為 Wayland 下的第二次中鍵
我使用 10 鍵滑鼠 (Logitech M705)。在 X11 下,我可以通過修改
etc/X11/xorg.conf.d
.在 Wayland 下,這不再有效。我的研究表明我需要對
libinput
. 我認為這將是一個常見問題,但在任何地方都找不到答案。有人可以解釋如何重新映射滑鼠按鈕或解釋為什麼不能完成嗎?
現在有一種圖形方式可以做到這一點。所有的命令行解決方案都會受到傷害。我找到的 GUI 程序叫做 Key Mapper,它適用於 X11 和 Wayland。它使用 root 權限並解決了所有問題:
- 從 GitHub 上的發布頁面安裝程序,例如 deb 包(或者如下文所述,還有一個用於基於 Arch 的發行版的 AUR 包,或者您可以使用 pip)。
- 打開鍵映射器
- 選擇你想要的滑鼠。
- 點擊“點擊這裡”
- 點擊您要更改的按鈕(如果它卡在“按鍵”上,首先按照底部彈出視窗中的說明“恢復預設值” - 應用您從任何以前的映射中所做的更改,並且“恢復預設值”按鈕不會刪除它們)。
- 在它接受您的按鈕後,按鈕的名稱將出現在左欄中。然後您可以點擊右列並開始輸入您希望按鈕執行的操作。例如,我希望我在上一步中點擊的 Logitech Marble Mouse 側鍵變成中鍵,所以我開始輸入“middle”,然後選擇“BTN_MIDDLE”。
- 點擊“應用”後立即生效!
我通過搜尋找到了這個:mouse button mapping gui ubuntu
我發現的文章對此進行了更多說明:使用新的鍵映射器 GUI(支持 X11 和 Wayland)在 Linux 上重新映射鍵盤和滑鼠按鈕(支持 X11 和 Wayland) 2021 年 2 月 23 日,關於 Linux 起義
如果您正在執行 Wayland,則重新映射按鈕可以這樣完成:
- 執行
xev | grep button
以記錄滑鼠點擊事件並通過在視窗中點擊來獲取事件的編號。就我而言,中間按鈕是:state 0x10, button 2, same_screen YES
我想把它映射到:
state 0x10, button 13, same_screen YES
- 然後執行
xinput --list
並找到您的指針設備,我的是:Logitech Performance MX id=9 [slave pointer (2)]
xinput get-button-map 9
返回:1 2 3 4 ... 20
- xinput 設置按鈕映射:
$ xinput set-button-map 9 1 13 3 4 .. 12 2 14 .. 20
**注意:**將數字替換
9
為返回的數字id=
如果定義了該鍵的行為,則映射您的事件。如果不是,那是一個有點不同的問題。在 Wayland TBH 下,我還沒有找到一種對事件執行命令的方法(這對於 Xorg 來說很容易
xbindkeys
),因此完全自定義鍵和滑鼠事件的行為。我相信 Wayland 正在努力提高安全性並禁用這種行為.無論如何,您仍然有機會非常輕鬆地切換到 Xorg 並享受其功能。