Tôi có một con chuột tôi chỉ sử dụng cho các nút. Tôi muốn chỉ vô hiệu hóa đầu vào chuyển động của chuột. Vật lý che cảm biến không hoạt động.
Tôi có một con chuột tôi chỉ sử dụng cho các nút. Tôi muốn chỉ vô hiệu hóa đầu vào chuyển động của chuột. Vật lý che cảm biến không hoạt động.
Câu trả lời:
Bạn có thể sử dụng xinput
.
>xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Mouse0 id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Keyboard0
Ở đó bạn có được tên của con chuột trong trường hợp này là Mouse0.
Với lệnh sau, bạn làm chậm tốc độ chuột của mình theo hệ số 100000, về cơ bản là bằng không.
xinput --set-prop 6 'Device Accel Constant Deceleration' 100000
hoặc là
xinput --set-prop Mouse0 'Device Accel Constant Deceleration' 100000
Để hoàn nguyên, bạn có thể sử dụng tương tự
xinput --set-prop Mouse0 'Device Accel Constant Deceleration' 1
Chuột của tôi không có thuộc tính 'Thiết bị giảm tốc liên tục'. Tôi vẫn có thể tắt chuyển động với
xinput set-prop 9 266 -1
xinput set-prop 9 269 0 1
và kích hoạt nó với
xinput set-prop 9 269 1 0
input set-prop 9 266 0.0
Tôi cũng đã tắt các nút của mình với
xinput set-button-map 9 0 0 0
Thiết bị 9 là chuột USB quang Mitsumi Electric Apple của tôi .
Danh sách thiết bị
Device 'Mitsumi Electric Apple Optical USB Mouse':
Device Enabled (132): 1
Coordinate Transformation Matrix (134): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Accel Speed (266): -1.000000
libinput Accel Speed Default (267): 0.000000
libinput Accel Profiles Available (268): 0, 0
libinput Accel Profile Enabled (269): 0, 1
libinput Accel Profile Enabled Default (270): 1, 0
libinput Natural Scrolling Enabled (271): 0
libinput Natural Scrolling Enabled Default (272): 0
libinput Send Events Modes Available (250): 1, 0
libinput Send Events Mode Enabled (251): 0, 0
libinput Send Events Mode Enabled Default (252): 0, 0
libinput Left Handed Enabled (273): 0
libinput Left Handed Enabled Default (274): 0
libinput Scroll Methods Available (275): 0, 0, 1
libinput Scroll Method Enabled (276): 0, 0, 0
libinput Scroll Method Enabled Default (277): 0, 0, 0
libinput Button Scrolling Button (278): 2
libinput Button Scrolling Button Default (279): 274
libinput Middle Emulation Enabled (280): 0
libinput Middle Emulation Enabled Default (281): 0
Device Node (253): "/dev/input/event4"
Device Product ID (254): 1452, 772
libinput Drag Lock Buttons (282): <no items>
libinput Horizonal Scroll Enabled (255): 1
Nếu tôi đọc man 4 mousedrv
chính xác, bạn có thể đặt, trong phần CorePulum của xorg.conf của bạn,
Option "EmulateWheel" true
Option "EmulateWheelButton" 0
Option "EmulateWheelInertia" 10000
sẽ chuyển đổi các chuyển động thành các sự kiện nút bánh xe chuột, nhưng cài đặt quán tính sẽ khiến nó quá nhạy cảm khi đăng ký. Trên các hệ thống hiện đại, nó là evdev thay vì mousedrv. Điều này cũng có thể được đặt trong thời gian chạy bằng cách sử dụng xinput, ví dụ:
xinput --set-prop 17 'Evdev Wheel Emulation' 1
xinput --set-prop 17 'Evdev Wheel Emulation Button' 0
xinput --set-prop 17 'Evdev Wheel Emulation Inertia' 10000
Trong đó 17 nên là số thiết bị của riêng bạn. Tôi sử dụng một hàm để lấy số này theo tên thiết bị và lưu nó trong $ device-id trong tập lệnh khởi động.
set_device_id() {
device_id=$(xinput --list | grep -m 1 "$1")
device_id=${device_id##*id=}
device_id=${device_id%%[[:space:]]*}
}
Điều này không may có tác dụng phụ là vô hiệu hóa đầu vào bánh xe cuộn của thiết bị.
xinput list 6
(6
thiết bị ở đâu). Tài liệu về các thuộc tính có thể được tìm thấy ở đây: x.org/wiki/Development/Documentation/PulumAccelutions