Saya punya mouse yang saya gunakan untuk tombol. Saya ingin menonaktifkan hanya input gerakan mouse. Secara fisik menutupi sensor tidak berfungsi.
Saya punya mouse yang saya gunakan untuk tombol. Saya ingin menonaktifkan hanya input gerakan mouse. Secara fisik menutupi sensor tidak berfungsi.
Jawaban:
Anda bisa menggunakannya 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
Di sana Anda mendapatkan nama mouse dalam hal ini Mouse0.
Dengan perintah berikut ini Anda memperlambat kecepatan mouse Anda dengan faktor 100000, yang pada dasarnya nol.
xinput --set-prop 6 'Device Accel Constant Deceleration' 100000
atau
xinput --set-prop Mouse0 'Device Accel Constant Deceleration' 100000
Untuk mengembalikan Anda dapat menggunakan yang sama
xinput --set-prop Mouse0 'Device Accel Constant Deceleration' 1
Mouse saya tidak memiliki properti 'Deselerasi Konstan Perangkat Konstan'. Saya masih bisa menonaktifkan gerakan dengan
xinput set-prop 9 266 -1
xinput set-prop 9 269 0 1
dan mengaktifkannya kembali dengan
xinput set-prop 9 269 1 0
input set-prop 9 266 0.0
Saya juga menonaktifkan tombol saya dengan
xinput set-button-map 9 0 0 0
Perangkat 9 adalah Mitsumi Electric Apple Optical USB Mouse .
Daftar perangkat
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
Jika saya membaca man 4 mousedrv
dengan benar, Anda dapat mengatur, di bagian CorePointer dari xorg.conf Anda,
Option "EmulateWheel" true
Option "EmulateWheelButton" 0
Option "EmulateWheelInertia" 10000
yang akan mengubah gerakan menjadi peristiwa tombol roda mouse, tetapi pengaturan inersia akan membuatnya terlalu tidak sensitif untuk mendaftar. Pada sistem modern, itu evdev bukan mousedrv. Ini juga dapat diatur saat runtime menggunakan xinput, misalnya:
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
Di mana 17 harus menjadi nomor perangkat Anda sendiri. Saya menggunakan fungsi untuk mendapatkan nomor ini dengan nama perangkat, dan menyimpannya dalam $ device-id selama skrip startup.
set_device_id() {
device_id=$(xinput --list | grep -m 1 "$1")
device_id=${device_id##*id=}
device_id=${device_id%%[[:space:]]*}
}
Sayangnya ini memiliki efek samping menonaktifkan input roda gulir perangkat.
xinput list 6
(di mana6
perangkat). Dokumentasi tentang properti dapat ditemukan di sini: x.org/wiki/Development/Documentation/PointerAcceleration