Làm cách nào để tắt đầu vào di chuyển chuột, trong khi vẫn bật các nút chuột?


9

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:


9

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

1
Hack gọn gàng. Các thuộc tính có sẵn có thể được tìm thấy với xinput list 6( 6thiế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
Lekensteyn

3

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

2

Nếu tôi đọc man 4 mousedrvchí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ị.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.