LINUX.ORG.RU

История изменений

Исправление aidaho, (текущая версия) :

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

Мне потребовалось проделать всё это для трекбола, так что вот вам солюшен:
- прочитать 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, :

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

Мне потребовалось проделать всё это для трекбола, так что вот вам солюшен: - прочитать 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!

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