Mouse

將額外的滑鼠按鈕配置為 Wayland 下的第二次中鍵

  • July 30, 2021

我使用 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,則重新映射按鈕可以這樣完成:

  1. 執行xev | grep button以記錄滑鼠點擊事件並通過在視窗中點擊來獲取事件的編號。就我而言,中間按鈕是:
state 0x10, button 2, same_screen YES

我想把它映射到:

state 0x10, button 13, same_screen YES
  1. 然後執行xinput --list並找到您的指針設備,我的是:
Logitech Performance MX  id=9  [slave pointer  (2)]
  1. xinput get-button-map 9返回:
1 2 3 4 ... 20
  1. xinput 設置按鈕映射:
$ xinput set-button-map 9  1 13 3 4 .. 12 2 14 .. 20

**注意:**將數字替換9為返回的數字id=

如果定義了該鍵的行為,則映射您的事件。如果不是,那是一個有點不同的問題。在 Wayland TBH 下,我還沒有找到一種對事件執行命令的方法(這對於 Xorg 來說很容易xbindkeys),因此完全自定義鍵和滑鼠事件的行為。我相信 Wayland 正在努力提高安全性並禁用這種行為.

無論如何,您仍然有機會非常輕鬆地切換到 Xorg 並享受其功能。

引用自:https://unix.stackexchange.com/questions/326373