Як увімкнути натискання кнопки миші за допомогою командного рядка?


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 на wiki та деякі приклади .


Чи потрібно мені перезапустити 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"), назва дії буде іншою? На моєму пристрої не відображається жодної "дії на дотик" :(
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, і якщо ви користуєтеся Корицею, вам захочеться відповідним чином скорегувати її gsettings set org.cinnamon.settings-daemon.peripherals.touchpad false.
Джо

6

Виходячи з основної відповіді , враховуючи, що мені довелося змінити деякі інструкції там:

Отже, команда для включення натискання клацання має форму:

xinput set-prop "device" "action" 1

Щоб прочитати "пристрій", ви повинні зробити

xinput list

Але виявити пристрій у цьому списку може бути важко. Кілька порад: це, мабуть, під "Віртуальна вказівник ядра"; він може містити такі терміни, як "Syn", "Synaptics", "Touchpad", "Alpe", "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).


Ця команда може бути корисною в системах, де немає графічного інтерфейсу для такого налаштування, як, наприклад, у LXQT, який я тестував на дату публікації.


Дякую за цю детальну відповідь.
balajeerc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.