Как включить касание нажатием через командную строку?

15

Вы можете использовать это для изменения направления прокрутки (естественная прокрутка) :

xmodmap -e "pointer = 1 2 3 5 4 7 6 8 9 10 11 12"

Вы также можете установить его снова с помощью xmodmap -e "pointer = 1 2 3 4 5 7 6 8 9 10 11 12"

и это для переключения левой и правой кнопок:

xmodmap -e "pointer = 3 2 1"

И изменить его обратно с xmodmap -e "pointer = 1 2 3"

Но как вы включаете тап, чтобы щелкать из командной строки? Желательно одной командой, а не навсегда.

Кстати, да, я знаю, что это существует:

введите описание изображения здесь

Уилф
источник

Ответы:

15

Xmodmap здесь не поможет. Xmodmap управляет физическим и логическим отображением кнопок и клавиш, а не физическим процессом, который генерирует события в первую очередь.

Инструментом для этого типа опций является xinput . Имя свойства зависит от вашей модели сенсорной панели, это может быть что-то вроде

xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Tap Action" 0

Запустите, xinput listчтобы увидеть имена доступных устройств и xinput list-props "the device name"список свойств устройства.

См. Также « Динамическая конфигурация ввода с xinput» в вики и некоторые примеры .

Жиль "ТАК - прекрати быть злым"
источник
Нужно ли перезапускать Unity / Xserver / LightDM, чтобы заставить их работать?
Уилф
@wilf Нет, команда вступает в силу немедленно. Вы также можете настроить хотя бы некоторые из этих параметров через графический интерфейс (в этом случае они будут применены при запуске сеанса), но я не знаком с графическим интерфейсом. gsettingsизменяет настройки интерфейса GUI.
Жиль "ТАК - перестать быть злым"
Хм ... 0, 1, "1, 0, 0"не работают с ним, но по xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Tap Action" "3"очереди , нажав на кнопку назад ...
Уилф
Успех! xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Tap Action" 11 (возможно, это был тот номер), кажется, работает, хотя он также работает как кнопка возврата в то же время. Редактировать: Ой, на самом деле, это не сработало -?!?
Уилф
с другим именем устройства (в моем случае: «Glidepoint Virtual Touchpad») имя действия будет другим? Для моего устройства вообще не отображается "действие касания" :(
PlasmaBinturong
10

Вы можете использовать gsettings:

gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true  

Что позволяет нажать, чтобы нажать.

gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false

Отключу это. Это то же самое, что изменить его в настройках системы.

Сет
источник
Что ж, делать это с помощью xmodmapможет быть полезно - это для потрепанного старого нетбука без функциональной левой клавиши ... но я также подумал, что если бы я использовал xmodmap, я мог бы включить его и на экране входа в систему ...
Уилф
1
Я уверен, что это невозможно @wilf. xmodmap контролирует физические и логические отображения кнопок и клавиш, а не физический процесс, который генерирует события в первую очередь.
Жиль "ТАК - прекрати быть злым"
Если это просто зеркало того , что доступно в графическом меню, он не будет работать в случае , если опция не виден графический ... (я получаю ошибку: « org.gnome.settings-daemon.peripherals.touchpad » does not exist)
PlasmaBinturong
Этот ответ гораздо предпочтительнее xinput, и если вы используете Cinnamon, вы захотите настроить его следующим образом gsettings set org.cinnamon.settings-daemon.peripherals.touchpad false.
Джо
6

Исходя из основного ответа , учитывая, что мне пришлось изменить некоторые инструкции там:

Поэтому команда для включения касания имеет вид:

xinput set-prop "device" "action" 1

Чтобы прочитать «устройство», вы должны сделать

xinput list

Но может оказаться трудным идентифицировать устройство в этом списке. Несколько советов: он, вероятно, находится под «указателем виртуального ядра»; он может содержать такие термины, как «Syn», «Synaptics», «Touchpad», «Alps», «Glidepoint». например, мой был AlpsPS/2 ALPS GlidePoint id=16, но я должен был догадаться; поскольку я не был уверен, что проверил, был ли это правильный идентификационный номер, отключив / включив тачпад с помощью xinput --disable 16и xinput --enable 16.

Теперь, чтобы избавиться от всех запутанных имен, вместо имен устройств и действий можно использовать идентификационные номера.

Итак, чтобы прочитать «действие»:

xinput list-props 16

Который перечислен среди других:

    libinput Tapping Enabled (297): 0

Итак, используя идентификационные номера вместо имен, последняя команда была:

xinput set-prop 16 297 1

Примечание: по какой-то причине использование имени действия в команде, как предлагается в основном ответе, не будет работать для меня ( xinput set-prop ""AlpsPS/2 ALPS GlidePoint" "Tapping Enabled" 1), в то время как использование только имени устройства сработало ( xinput set-prop "AlpsPS/2 ALPS GlidePoint" 297 1).


Эта команда может быть полезна в системах, где нет GUI для такой настройки, как в LXQT, который я тестировал на момент публикации.


источник
Спасибо за этот подробный ответ.
balajeerc