Comment activer le tap-to-click via la ligne de commande?

15

Vous pouvez l'utiliser pour inverser le sens de défilement (défilement naturel) :

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

Vous pouvez également le redéfinir avec xmodmap -e "pointer = 1 2 3 4 5 7 6 8 9 10 11 12"

et cela pour changer les boutons gauche et droit:

xmodmap -e "pointer = 3 2 1"

Et changez-le avec xmodmap -e "pointer = 1 2 3"

Mais comment activez-vous le clic pour cliquer depuis la ligne de commande? De préférence avec une seule commande, et non de façon permanente.

Soit dit en passant, oui, je sais que cela existe:

entrez la description de l'image ici

Wilf
la source

Réponses:

15

Xmodmap n'est d'aucune utilité ici. Xmodmap contrôle les mappages physiques-logiques des boutons et des clés, et non le processus physique qui génère des événements en premier lieu.

L'outil pour ce type d'options est xinput . Le nom de la propriété dépend de votre modèle de pavé tactile, il peut s'agir de quelque chose comme

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

Exécutez xinput listpour voir les noms des périphériques disponibles et xinput list-props "the device name"pour répertorier les propriétés d'un périphérique.

Voir aussi Configuration d'entrée dynamique avec xinput sur le wiki et quelques exemples .

Gilles 'SO- arrête d'être méchant'
la source
Dois-je redémarrer Unity / Xserver / LightDM pour les faire fonctionner?
Wilf
@wilf Non, la commande prend effet immédiatement. Vous pouvez également configurer au moins certains de ces paramètres via une interface graphique (auquel cas ils seront appliqués au démarrage de votre session), mais je ne connais pas l'interface graphique. gsettingsmodifie le paramètre de l'interface graphique.
Gilles 'SO- arrête d'être méchant'
Hmmm ... 0, 1, "1, 0, 0"ne fonctionnent pas avec, mais xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Tap Action" "3"tour à tour en tapant sur un bouton de retour ...
Wilf
Succès! xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Tap Action" 11 (peut-être ce nombre) semble fonctionner, bien qu'il fonctionne également comme bouton de retour EN MÊME TEMPS. Edit: Whoops, en fait, cela n'a pas fonctionné -?!?
Wilf
avec un autre nom d'appareil (dans mon cas: "Glidepoint Virtual Touchpad") le nom de l'action serait alors différent? Il n'y a aucune "action du robinet" affichée pour mon appareil :(
PlasmaBinturong
10

Vous pouvez utiliser gsettings:

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

Ce qui permet au robinet de cliquer.

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

Le désactivera. Cela revient à le modifier dans les paramètres système.

Seth
la source
Eh bien, le faire avec xmodmappourrait être utile - c'est pour un vieux netbook battu sans clé de clic gauche fonctionnelle ... mais je pensais aussi que si je l'utilisais xmodmap, je pourrais également l'activer dans l'écran de connexion ...
Wilf
1
Je suis sûr que ce n'est pas possible @wilf. xmodmap contrôle les mappages physiques-logiques des boutons et des clés, pas le processus physique qui génère des événements en premier lieu.
Gilles 'SO- arrête d'être méchant'
Si c'est juste le miroir de ce qui est disponible dans le menu graphique, il ne fonctionnera pas dans le cas où l'option est graphiquement visible ... (je reçois l'erreur: « org.gnome.settings-daemon.peripherals.touchpad » does not exist)
PlasmaBinturong
Cette réponse est de loin préférée xinput, et si vous utilisez Cinnamon, vous voudrez ajuster en conséquence comme gsettings set org.cinnamon.settings-daemon.peripherals.touchpad false.
Joe
6

Sur la base de la réponse principale , étant donné que j'ai dû modifier certaines des instructions:

La commande pour activer le tap-to-click est donc de la forme:

xinput set-prop "device" "action" 1

Pour lire le "périphérique", vous devez faire

xinput list

Mais il peut s'avérer difficile d'identifier le périphérique dans cette liste. Quelques conseils: il se trouve probablement sous "Pointeur de noyau virtuel"; il peut contenir des termes tels que "Syn", "Synaptics", "Touchpad", "Alps", "Glidepoint". par exemple, le mien l'était AlpsPS/2 ALPS GlidePoint id=16, mais je devais deviner; car je n'étais pas sûr d'avoir testé si c'était le bon numéro d'identification en désactivant / activant le pavé tactile avec xinput --disable 16et xinput --enable 16.

Maintenant, pour se débarrasser de tous les noms déroutants, des numéros d'identification peuvent être utilisés à la place des noms de périphérique et d'action.

Alors, pour lire "l'action":

xinput list-props 16

Qui a énuméré entre autres:

    libinput Tapping Enabled (297): 0

Donc, en utilisant des numéros d'identification au lieu de noms, la commande finale était:

xinput set-prop 16 297 1

Remarque: pour une raison quelconque, l'utilisation du nom de l'action dans la commande, comme suggéré par la réponse principale, ne fonctionnerait pas pour moi ( xinput set-prop ""AlpsPS/2 ALPS GlidePoint" "Tapping Enabled" 1), alors que l'utilisation du nom du périphérique fonctionnait ( xinput set-prop "AlpsPS/2 ALPS GlidePoint" 297 1).


Cette commande peut être utile dans les systèmes où il n'y a pas d'interface graphique pour un tel paramètre, comme dans le LXQT que je testais à la date de la publication.


la source
Merci pour cette réponse détaillée.
balajeerc