С какого-то момента времени настройки ускорения указателя перестали вообще что-то делать в KDE.

Установим xinput:

apt-get install xinput

Получим список устройств и найдём мышь.

$ xinput --list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Laview Technology Mionix Avior 7000       id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]    
    ↳ Laview Technology Mionix Avior 7000       id=11   [slave  keyboard (3)]
    ...

Получим список свойств мышиного устройства:

$ xinput list-props 12
Device 'Laview Technology Mionix Avior 7000':        
        libinput Accel Speed (290):      1.000000
        libinput Accel Speed Default (291):     0.000000
        libinput Accel Profiles Available (292):        -1
        libinput Accel Profile Enabled (293):   1, 0
        libinput Accel Profile Enabled Default (294):   1, 0

Выключим ускорение:

xinput set-prop 12 290 -1

Xinput поддерживает обращение по имени, поэтому можно указать вместо идентификаторов имя устройства и название свойства. Если одноимённых устройств несколько, то нужно указать префикс, в нашем случае pointer:

$ xinput set-prop 'Laview Technology Mionix Avior 7000' 'libinput Accel Speed' -1
Warning: There are multiple devices matching 'Laview Technology Mionix Avior 7000'.
To ensure the correct one is selected, please use the device ID, or prefix the
device name with 'pointer:' or 'keyboard:' as appropriate.

unable to find device Laview Technology Mionix Avior 7000
$ xinput set-prop 'pointer:Laview Technology Mionix Avior 7000' 'libinput Accel Speed' -1

Чтобы не запариваться каждый раз с новой мышью, напишем это один раз. Скрипт пытается установить -1 на всё, что похоже на Accel для всех pointer devices, поэтому xinput матюгается, когда это делать нельзя.

#!/usr/bin/env bash

ids=$(xinput list | grep pointer | sed -n 's/.*id=\([0-9]*\).*/\1/p')

for device_id in $ids
do
    props=$(xinput list-props "$device_id" | grep Accel | sed -n 's/.*(\([0-9]*\)).*/\1/p')

    for prop_id in $props
    do
        echo "DISABLE ACCELERATION: xinput set-prop $device_id $prop_id -1"
        xinput set-prop $device_id $prop_id -1
    done
done

Добавление скрипта в автозапуск KDE

night-crawler
Просмотров: 106
blog comments powered by Disqus