Правильная кнопка на моей сенсорной панели только делает щелчки левой кнопкой. Когда я нажимаю в правом нижнем углу моей сенсорной панели, щелчок левой кнопкой сделан.
Как я могу настроить сенсорную панель для поведения как в Windows, где я могу нажать физическую кнопку на левой стороне для щелчка левой кнопкой и правильную аппаратную кнопку для щелчка правой кнопкой?
Я также хотел бы щелкнуть правой кнопкой по использованию двух касаний пальца и отключить среднюю область кнопки на сенсорной панели для нажатия кнопки, таким образом, существуют только области для левых и правых щелчков.
Это решение было протестировано на рабочей станции Fedora 31 в режиме X11 (не Уэйленд) и должно быть совместимо с Ubuntu 18.04 + и другие дистрибутивы с помощью того же программного обеспечения (X11, GNOME, libinput).
Перейдите в Settings -> Devices -> Mouse and Touchpad
и включите Tap to click
Примечание: Средней эмуляции кнопки позволяют отключить среднюю область кнопки для SoftButtons. Это отображает щелчок left+right для щелчка средней кнопкой.
Поместите следующий код в /etc/X11/xorg.conf.d/10-clickpad.conf
(как корень)
Section "InputClass"
Identifier "libinput touchpad catchall"
Driver "libinput"
Option "MiddleEmulation" "true"
Option "ClickMethod" "buttonareas"
EndSection
Примечание: Может быть дополнительным?
Выполните это в терминале (как обычный пользователь):
gsettings set org.gnome.desktop.peripherals.touchpad click-method 'areas'
Перезагрузка и тест, что все работает как ожидалось:
Базовая проблема здесь - то, что большинство сенсорных панелей только имеет 1 аппаратную кнопку, таким образом, программное обеспечение, обрабатывающее вход, должно отобразить то нажатие кнопки на щелчок левой кнопкой или щелчок правой кнопкой на основе местоположения Вашего пальца во время нажатия кнопки.
Для наблюдения то, на что отображается нажатие кнопки:
xinput list
xinput test 'device_name_or_id'
Знайте, что пробелов и других специальных символов в имени устройства нужно оставить или вставленные одинарные кавычки. Отмените команду путем нажатия CTRL+C
.
Вывод должен читать button press 3
для щелчка правой кнопкой и button press 1
для щелчка левой кнопкой.
Проверьте, что средняя эмуляция кнопки включена так, чтобы область программной кнопки была отключена путем выполнения
xinput list-props '<device_name_or_id>' | grep 326
Вывод должен читать libinput Middle Emulation Enabled (326): 1
, если не затем Ваша сенсорная панель не совместима с libinput, или это использует другой драйвер по умолчанию.
На моем Jetson Nano с Ubuntu 18.04 я столкнулся с аналогичной проблемой при подключении моего Logitech TouchPad — это то, что я сделал, чтобы заставить его работать для меня...
В окне терминала используйте xinput cli — сначала найдите идентификатор вашего тачпада:
xinput list
В моем случае тачпад отображается с идентификатором 10; теперь получите настройку для тачпада:
xinput list 10
В моем случае я вижу: libinput Tapping Enabled (360): 0, что означает, что идентификатор команды равен 360, а нажатие не включено, так что давайте включим его :
xinput set-prop 10 360 1
После этого я могу слегка коснуться одним пальцем (не сильно нажимая), чтобы щелкнуть левой кнопкой мыши, двумя пальцами, чтобы щелкнуть правой кнопкой мыши, и тремя пальцами, чтобы щелкнуть средней кнопкой мыши.
Вы также можете попробовать другие настройки, например, я также установил естественную прокрутку (контент перемещается с помощью свайпа, а не полосы прокрутки), к чему я привык.
xinput set-prop 10 286 1
У меня сработало. Надеюсь, сработает и у вас!