Перевернутая горизонтальная прокрутка Ubuntu 18.04
Я недавно обновился с 17.10 до 18.04 и горизонтальная прокрутка перевернута. Естественная прокрутка никак не влияет на это, предложения как поменять обратно? (проведите пальцем вправо)
7 ответов
Я также столкнулся с этой проблемой при обновлении до 18.04, это было мое решение:
использование xinput list чтобы найти идентификатор устройства вашей сенсорной панели.
использование xinput list-props yourdeviceid, Это создаст длинный список всех свойств, которые вы можете редактировать для этого устройства. Мы заинтересованы в свойстве, связанном с расстоянием прокрутки, в моей системе это Synaptics Scrolling Distance (283), В моей системе должно быть два значения (с включенной естественной прокруткой) -115, 115 (вертикальное расстояние, горизонтальное расстояние). Обратите внимание на значение в скобках, в моем случае 283, это то, как мы идентифицируем свойство, чтобы изменить его.
использование xinput set-prop yourdeviceid 283 -115, -115, заменив 283 и значения расстояния прокрутки на все, что подходит. (Изменение должно сделать оба значения отрицательными, что дает желаемый результат "естественной" прокрутки.)
Заметки:
Этот параметр не будет сохраняться при перезагрузках системы, что само по себе является проблемой. Я использую .xsessionrc файл в моем домашнем каталоге, чтобы выполнить команду xinput при запуске.
Это, вероятно, не сработает в 17.10, поскольку Wayland делает странные вещи с xinput.
Видеть это:
https://help.ubuntu.com/community/SynapticsTouchpad
Используйте следующие команды, чтобы установить величину и направление естественной прокрутки (направление изменения значений плюс или минус):
synclient HorizScrollDelta=-100
synclient VertScrollDelta=-100
Вы можете поместить эту команду в свой скрипт автозапуска, чтобы запустить ее при входе в систему.
Вот небольшой скрипт, который делает это для вас
export id=`xinput list | grep -i touchpad | awk -F"=" '{ print $2 }' | awk '{ print $1 }'`
xinput list-props "${id}" | grep "Synaptics Scrolling Distance" | sed 's/[^0-9 \t-]//g' | while read a b c;
do
echo "${a} ${b} $((${c}*-1))";
xinput set-prop "${id}" "${a}" "${b}" "$((${c}*-1))"
done
У меня эта проблема была давно. Недавно я обновился до Ubuntu 19.10, и он все еще был там, поэтому я снова поискал решения. Похоже, что это связано с тем, что (очевидно, устаревший) драйвер ввода "synaptics" установлен либо вместо, либо в дополнение к драйверу "libinput". Чтобы исправить это, выполните эти две команды:
sudo apt install xserver-xorg-input-libinput
sudo apt remove xserver-xorg-input-synaptics
После этого перезапустите X11, выйдя из системы и снова войдя в нее, или перезапустив систему. Я не совсем уверен, начал ли он работать для меня немедленно или мне пришлось включать и выключать настройку естественной прокрутки на экране мыши и сенсорной панели в настройках Gnome - я знаю, что мне пришлось настроить скорость сенсорной панели, поскольку это было вааай прочь.
Решение здесь из проблем GitLab Gnome: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1808#note_629824
Удалите xserver-xorg-input-libinput с помощью sudo apt remove xserver-xorg-input-libinput,
Затем создайте файл /usr/share/X11/xorg.conf.d/20-natural-scrolling-mouses.conf со следующим содержанием:
Section "InputClass"
Identifier "Natural Scrolling Mouses"
MatchIsPointer "on"
MatchIsTouchpad "off"
MatchDevicePath "/dev/input/event*"
Option "VertScrollDelta" "-1"
Option "HorizScrollDelta" "-1"
Option "DialDelta" "-1"
EndSection
После перезагрузки проблема с прокруткой была решена для меня.
fwiw, я написал скрипт на основе этих ответов, который определит все входные идентификаторы и еще много чего для вас. Бонус: вы можете выбрать «НАТУРАЛЬНУЮ» или «ОБРАТНУЮ» прокрутку, передав сценарий в качестве позиционного аргумента.
#!/usr/bin/env bash
##############################################################
# DESCRIPTION: Fixes touchpad natural scrolling for horizontal
##############################################################
set -x
set -e
TYPE="${1:-NATURAL}"
TOUCHPAD_ID=$( xinput list | grep Touch | sed 's/\s\s*\[.*//;' | awk -F'=' '{print $NF}' )
PROPS=$( xinput list-props ${TOUCHPAD_ID} | \
grep "Synaptics Scrolling Distance" | \
sed 's/[^0-9][^0-9]*/ /g' | awk '{print $1" "$2" "$3" "}'
)
PROP1=$( echo "$PROPS" | awk '{print $1}' )
PROP2=$( echo "$PROPS" | awk '{print $2}' )
PROP3=$( echo "$PROPS" | awk '{print $3}' )
if [[ ${TYPE} == "NATURAL" ]]; then
xinput set-prop ${TOUCHPAD_ID} ${PROP1} -${PROP2} -${PROP3}
else
xinput set-prop ${TOUCHPAD_ID} ${PROP1} ${PROP2} ${PROP3}
fi
В случае, если это все еще проблема, вы также можете изменить настройки в: Setting | Устройства | Мышь и тачпад. Там опция "естественная прокрутка" включит изменения в поведении прокрутки.