LINUX.ORG.RU

чувствительность мыши


1

1

Отрастил я домашнему компу третий манипулятор. Надо для него, и только для него, уменьшить чувствительность. Сам Logitech M570 подхватился сразу. В логах он такой
[ 39.954] (II) config/udev: Adding input device Logitech Unifying Device. Wireless PID:1028 (/dev/input/event12)
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: Applying InputClass «evdev pointer catchall»
[ 39.954] (II) Using input driver 'evdev' for 'Logitech Unifying Device. Wireless PID:1028'
[ 39.954] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: always reports core events
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: Device: «/dev/input/event12»
[ 39.954] (--) Logitech Unifying Device. Wireless PID:1028: Found 20 mouse buttons
[ 39.954] (--) Logitech Unifying Device. Wireless PID:1028: Found scroll wheel(s)
[ 39.954] (--) Logitech Unifying Device. Wireless PID:1028: Found relative axes
[ 39.954] (--) Logitech Unifying Device. Wireless PID:1028: Found x and y relative axes
[ 39.954] (II) Logitech Unifying Device. Wireless PID:1028: Configuring as mouse
[ 39.954] (II) Logitech Unifying Device. Wireless PID:1028: Adding scrollwheel support
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: YAxisMapping: buttons 4 and 5
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 39.954] (**) Option «config_info» «udev:/sys/devices/pci0000:00/0000:00:13.0/usb5/5-1/5-1.3/5-1.3:1.2/0003:046D:C52B.0008/input/input12/event12»
[ 39.954] (II) XINPUT: Adding extended input device «Logitech Unifying Device. Wireless PID:1028» (type: MOUSE, id 14)
[ 39.954] (II) Logitech Unifying Device. Wireless PID:1028: initialized for relative axes.
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: (accel) keeping acceleration scheme 1
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: (accel) acceleration profile 0
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: (accel) acceleration factor: 2.000
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: (accel) acceleration threshold: 4

С какого конца начать? прописать его жестко в Xorg.conf с чувствительностью или все таки заходить через udev как то???


С какого конца начать?

Мне потребовалось проделать всё это для трекбола, так что вот вам солюшен:
- прочитать xorg.conf(5)
- узнать оттуда об acceleration profiles
- определить с помощью xinput list ID устройства:

aidaho@aidaho-laptop:~$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)    id=10   [slave  pointer  (2)]
⎜   ↳ Logitech USB Trackball                    id=11   [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=17   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=12   [slave  keyboard (3)]
    ↳   USB Keyboard                            id=13   [slave  keyboard (3)]
    ↳ CNF7129                                   id=14   [slave  keyboard (3)]
    ↳ Asus EeePC extra buttons                  id=15   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=16   [slave  keyboard (3)]
    ↳ ACPI Virtual Keyboard Device              id=18   [slave  keyboard (3)]
- в поисках соответствия опций xinput и xorg.conf найти вот эту страницу: http://xorg.freedesktop.org/wiki/Development/Documentation/PointerAcceleration (сейчас лежит). По результатам прочтения (и метода научного тыка) решить, как лучше скорректировать поведение устройства. В моём случае значимые параметры с которыми я играл были такими:
aidaho@aidaho-laptop:~$ xinput set-prop 11 "Device Accel Profile" 2
aidaho@aidaho-laptop:~$ xinput set-prop 11 "Device Accel Velocity Scaling" 3
aidaho@aidaho-laptop:~$ xinput set-prop 11 "Device Accel Adaptive Deceleration" 2
Это полиноминальное ускорение с втрое более быстрым движением курсора и вдвое более высокой точностью позиционирования на малых ускорениях (фактически субпиксельное перемещение). Можно одним движением послать курсор в другой угол экрана и не потерять в удобстве попадания в мелкие кнопки/буквы текста при выделении.

- теперь нужно научить иксы применять настройки при каждом втыкании девайса:
aidaho@aidaho-laptop:~$ cat /etc/X11/xorg.conf.d/trackball.conf
Section "InputClass"
        Identifier  "Marble Mouse"
        MatchProduct "Logitech USB Trackball"
       ...
        Option "AccelerationProfile" 2
        Option "AdaptiveDeceleration" 2
        Option "VelocityScale" 3
EndSection
Здесь Identifier — произвольное имя, MatchProduct взят из вывода xinput.

- profit!

Плюс этого подхода в том, что изменены только относительные пераметры и можно спокойно двигать слайдеры в мышиных гуях с предсказуемым результатом.

aidaho ★★★★★
()
Последнее исправление: aidaho (всего исправлений: 1)
Ответ на: комментарий от aidaho

В xorg.conf значения опций в кавычки нужно брать, кстати. Пост править уже не могу.

aidaho ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.