Linux

滑鼠喚醒後保持 xinput 設置

  • December 14, 2020

我找到了一種提高藍牙滑鼠速度的方法,但我很難讓它持久。在一段時間未使用滑鼠後喚醒滑鼠後,xinput 設置重置為“預設值”。

這些是我希望滑鼠在其上執行的 xinput 設置:

Device 'ThinkPad X1 Mouse':
   Device Enabled (177):   1
   Coordinate Transformation Matrix (179): 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000
   libinput Natural Scrolling Enabled (315):   0
   libinput Natural Scrolling Enabled Default (316):   0
   libinput Scroll Methods Available (317):    0, 0, 1
   libinput Scroll Method Enabled (318):   0, 0, 0
   libinput Scroll Method Enabled Default (319):   0, 0, 0
   libinput Button Scrolling Button (320): 2
   libinput Button Scrolling Button Default (321): 2
   libinput Button Scrolling Button Lock Enabled (322):    0
   libinput Button Scrolling Button Lock Enabled Default (323):    0
   libinput Middle Emulation Enabled (368):    0
   libinput Middle Emulation Enabled Default (369):    0
   libinput Accel Speed (324): 0.000000
   libinput Accel Speed Default (325): 0.000000
   libinput Accel Profiles Available (326):    1, 1
   libinput Accel Profile Enabled (327):   1, 0
   libinput Accel Profile Enabled Default (328):   1, 0
   libinput Left Handed Enabled (329): 0
   libinput Left Handed Enabled Default (330): 0
   libinput Send Events Modes Available (300): 1, 0
   libinput Send Events Mode Enabled (301):    0, 0
   libinput Send Events Mode Enabled Default (302):    0, 0
   Device Node (303):  "/dev/input/event18"
   Device Product ID (304):    6127, 24712
   libinput Drag Lock Buttons (331):   <no items>
   libinput Horizontal Scroll Enabled (332):   1

我用這個命令改變了滑鼠的速度xinput --set-prop 'ThinkPad X1 Mouse' 'Coordinate Transformation Matrix' 2.4 0 0 0 2.4 0 0 0 1在這種情況下,此處提出的解決方案/usr/share/X11/xorg.conf.d/40-libinput.conf通過添加Option "Coordinate Transformation Matrix" "2.4 0 0 0 2.4 0 0 0 1"或將 xinput 命令添加到其中來添加設置.xsessionrc並沒有幫助。每次喚醒滑鼠後,Coordinate Transformation Matrix重置為1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000.

不幸的是,大多數(如果不是全部)選項的名稱在和libinput之間有所不同。“座標變換矩陣”的等價物是“TransformationMatrix”。因此,將以下內容放入應該可以解決問題:xinput``xorg.conf``/etc/X11/xorg.conf.d/50-bt-mouse.conf

Section "InputClass
   Identifier "My BT Mouse"
   MatchProduct "ThinkPad X1 Mouse"
   Option "TransformationMatrix" "2.4 0 0 0 2.4 0 0 0 1"
EndSection

Identifier可以自由選擇,MatchProduct但必須與產品名稱相匹配,如 所示xinput。如果您想將此轉換應用於所有指針設備,您還可以將MatchProduct指令替換為MatchIsPointer "on". 另請注意,應將您自己的 X.org 配置放在 中,/etc/X11/xorg.conf.d而不是對 中的文件進行配置/usr/share/X11/xorg.conf.d,因為後者可能會在系統更新時被覆蓋(沒有備份)。

對配置進行更改後,您至少需要重新啟動 X.org 以使其生效(或重新啟動系統以確保)。之後,X.org 將在每次發現匹配設備時自動應用這些選項,無論是在首次啟動時,還是在滑鼠處於省電模式後重新連接時。

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