Я використовую DM просвітництва, але це стосується інших DM / настільних ПК. Я починаю свій сеанс з використанням xsession, тому спочатку я вводив xinput команди в ~ / .xsession, які не змінювали всіх параметрів, які я хотів змінити. Тільки деякі з них. Я очікував будь-яких змін або немає, тому я додав цикл 10-інтеракції в свій .xsession з інтервалом 1 секунди, щоразу виконував команди xinput і перевіряв, чи були застосовані налаштування. На мій подив, усі налаштування були застосовані після першої ітерації.
Це означає, що саме ваш DM робить щось, що може змінити ваші налаштування xinput, і оскільки команда, яка запускає ваш DM (E17 в моєму випадку), є останньою у вашому .xsession файлі, цьому файлу для цього не місце.
У свій ~ / .profile я додав наступні рядки, і це вирішило проблему:
# don't run unless we're being invoked from an xwindows session
if [[ -n ${DISPLAY} ]]; then
# set your devices names here
pointer1="IBM TrackPoint"
pointer2="Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint"
pointer3="Logitech USB Trackball"
id1=$(xinput | awk -F= "/$pointer1.*pointer/ {print \$2}" | cut -f1)
id2=$(xinput | awk -F= "/$pointer2.*pointer/ {print \$2}" | cut -f1)
id3=$(xinput | awk -F= "/$pointer3.*pointer/ {print \$2}" | cut -f1)
if [[ -n "${id1}" ]]; then
xinput --set-button-map "${id1}" 1 2 3 4 5 6 7
xinput set-prop "${id1}" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput set-prop "${id1}" "Evdev Wheel Emulation" 1
xinput set-prop "${id1}" "Evdev Wheel Emulation Button" 2
xinput set-prop "${id1}" "Evdev Middle Button Emulation" 0
fi
if [[ -n "${id2}" ]]; then
xinput --set-button-map "${id2}" 1 2 3 4 5 6 7
xinput set-prop "${id2}" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput set-prop "${id2}" "Evdev Wheel Emulation" 1
xinput set-prop "${id2}" "Evdev Wheel Emulation Button" 2
xinput set-prop "${id2}" "Evdev Middle Button Emulation" 0
fi
if [[ -n "${id3}" ]]; then
xinput --set-button-map "${id3}" 1 2 3 4 5 6 7 8 9
xinput set-prop "${id3}" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput set-prop "${id3}" "Evdev Wheel Emulation" 1
xinput set-prop "${id3}" "Evdev Wheel Emulation Button" 8
xinput set-prop "${id3}" "Evdev Middle Button Emulation" 1
fi
fi
PS. set-int-prop застаріло на користь set-prop (man xinput).
Сподіваємось, це комусь допомагає.
sleep 5
на початку.xsession
файлу?