Mon nouvel ordinateur portable à écran tactile ne possède pas le bouton de menu (c’est-à-dire que celui-ci se comporte comme un clic droit), celui qui se trouve généralement à côté du ctrl droit.
étant donné que vous ne pouvez pas cliquer au toucher, j'essaie de créer un raccourci clavier personnalisé pour Alt GR pour cette fonction (sous Système> Clavier> Raccourcis> Raccourcis personnalisés).
Lors de l'utilisation de la commande xev
avec un clavier intégré (doté du bouton de menu), j'ai découvert que les informations du bouton sont les suivantes:
KeyRelease event, serial 42, synthetic NO, window 0x4800001,
root 0xab, subw 0x0, time 2544690, (1236,607), root:(1302,1050),
state 0x0, keycode 135 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Cependant, je n'ai aucune idée de ce qu'il faut faire avec cette information ...
au fait, j'utilise une Ubuntu 13.04.
Toute aide serait appréciée...
Vous devez activer le clic secondaire (comme l'a commenté AliNa) avec gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"
ou avec dconf editor.
Ensuite, il est possible qu'Ubuntu gère l'écran tactile partiellement comme un pavé tactile, où une touche tactile ne déclenche pas l'appui de la souris. Au lieu de cela, vous devez appuyer brièvement sur + touchez-et-maintenez.
Continuez simplement à toucher l'écran pendant 2 ou 3 secondes et ce qui s'appelle le "menu de droite" devrait apparaître. C’est le moyen normal d’émuler un clic droit sur n’importe quel écran tactile.
Si vous possédez un écran tactile Wacom (utilisant le pilote xf86-input-wacom
) et qu’il est compatible avec au moins deux doigts tactiles, les opérations suivantes produiront un clic droit:
Si cela ne fonctionne pas encore, recherchez le nom du produit de votre écran tactile à partir de xinput --list
, puis activez cette fonctionnalité avec:
xsetwacom --set "[your touchscreen product id]" Gesture on
Pour rendre ce changement permanent, voir mon autre réponse pour la technique.
Contrairement aux clics longs effectués avec le bouton droit de la souris sous Gnome/Ubuntu Shell, cela fonctionne dans tous les environnements de bureau car il s'agit d'une fonctionnalité (héritée) au niveau du pilote. Sachez simplement que cela peut causer des problèmes de clic gauche sur l'écran tactile dans certains programmes, c'est pourquoi j'ai dû le désactiver sur mon système.
Parmi mes réponses à cette question, c'est mon préféré.
Si votre écran tactile prend en charge la saisie tactile multipoint au moins à deux doigts, vous pouvez installer touchegg
et le configurer pour interpréter (par exemple) un tapotement à deux doigts comme un clic droit. J'ai essayé cela sous Lubuntu 18.10 et cela fonctionne.
touchegg
est disponible dans les référentiels Ubuntu 18.10, vous pouvez donc l'installer simplement comme ceci:
Sudo apt install touchegg
Pour le démarrer, exécutez touchegg
. Lors de son exécution dans un terminal, vous pouvez vérifier à partir de sa sortie s'il détecte correctement vos gestes multitouch.
Pour que touchegg
démarre automatiquement pour chaque session LXQt, ajoutez-le simplement au démarrage automatique (menu LXQt → Préférences → Paramètres LXQt → Paramètres de session → Démarrage automatique).
touchegg
Vous pouvez configurer touchegg
de deux manières différentes:
Configuration avec un fichier de configuration. Editez le fichier ~/.config/touchegg/touchegg.conf
. Pour que les modifications prennent effet, exécutez la procédure suivante dans un terminal ou via le programme. Alt + F2 lancer le dialogue:
killall touchegg; touchegg
Configuration avec une interface graphique. touchegg
possède une interface graphique de configuration de Nice appelée touchegg-gui
, qui est visible ici . Cependant, il ne fait pas partie du paquet touchegg
Ubuntu. Vous pouvez également installer l'interface graphique touchegg-gce
comme décrit ici . touchegg-gce
fonctionne, mais vous devez redémarrer manuellement touchegg
après avoir enregistré les modifications dans son fichier de configuration, à nouveau en exécutant:
killall touchegg; touchegg
Pour configurer un clic droit avec deux doigts, vous pouvez utiliser ce fichier de configuration pour ~/.config/touchegg/touchegg.conf
:
<touchégg>
<settings>
<property name="composed_gestures_time">0</property>
</settings>
<application name="All">
<gesture type="TAP" fingers="2" direction="">
<action type="MOUSE_CLICK">BUTTON=3</action>
</gesture>
</application>
</touchégg>
Commentaires sur la configuration touchegg
:
Un clic droit, comme indiqué ci-dessus, est déjà contenu dans le fichier de configuration par défaut fourni avec touchegg
. (Ubuntu 18.10 ici.)
Le programme attendra composed_gestures_time
(donné en millisecondes) pour que vous puissiez compléter vos actions pour les gestes composés de plusieurs parties (comme des touches tactiles), et les interpréter ensuite seulement. Ainsi, lorsque vous utilisez touchegg
uniquement pour les gestes à une seule partie tels que le clic droit avec le doigt droit, vous pouvez définir ceci sur 0
pour éviter tout retard perceptible dans les actions. C'est également la valeur par défaut dans le fichier de configuration créé par touchegg
.
Au moins avec mon écran tactile, la saisie à deux doigts n'est pas reconnue lorsque vous touchez l'écran avec les deux doigts en même temps. Mais quand il y a même un très petit intervalle de temps (pour que deux taps puissent être entendus, probablement ≥ 10 ms), cela fonctionne de manière fiable. Donc, je déplace juste mon index et le majeur avec un petit écart vertical vers l'écran, et cela fonctionne de manière fiable.
Le clic droit sera déclenché à l'emplacement de ce doigt (sur les deux de ce geste) qui touche l'écran en premier.
touchegg
permet à tous les événements non configurés de s'afficher jusqu'à l'application sous le curseur. C’est bien parce que le zoom-pincement natif, etc., implémenté dans Chromium, Chrome, Evince, par exemple, est beaucoup plus fluide que via touchegg
.
touchegg
peut être utilisé avec le logiciel de reconnaissance gestuelle à touche unique (hautement recommandé!) easystroke
sans interférence. Bien entendu, ils ne doivent pas être configurés pour être déclenchés par les mêmes événements.
touchegg
peut cesser de fonctionner après un cycle de suspension et de reprise. Je dois encore trouver un moyen pour qu'il redémarre automatiquement.
Au moins pour moi et les autres , touchegg
interprétera uniquement les événements tactiles sur l'écran tactile, pas sur le pavé tactile. Dans ce cas, c'est souhaité. C'est peut-être parce que mon pavé tactile utilise un pilote qui n'expose pas les événements tactiles multiples au serveur X (synaptics
plutôt que libinput
). Vous pouvez vérifier les appareils auxquels touchegg
se lie en le démarrant avec GEIS_DEBUG=3 touchegg
.
Si touchegg
provoque une sorte de "demi-clic bloqué" pour tous les programmes, taps déplacera le pointeur de la souris mais ne déclenchera plus les clics gauche: il s'agit et non de son comportement normal. Sous Ubuntu 18.10 avec LXQt, je ne l'avais pas au début, mais je l'avais ensuite après plusieurs redémarrages de touchegg
et même des redémarrages de tout l'ordinateur. Il a disparu après avoir démarré le bureau Ubuntu par défaut puis être retourné à LXQt.
Un correctif dans le fichier de configuration touchegg
en configurant un geste supplémentaire pour la frappe à un doigt résoudra le "demi-clic bloqué", mais il reste un autre problème de comportement de touchegg
avec ce bogue, il ne s'agit donc pas d'un correctif réel. Cette mauvaise conduite implique que (1) touchegg
consommera également tous les événements pour lesquels il n’est pas configuré, du moins ceux d’un doigt, et (2) certains programmes basés sur Java (par exemple, freemind
) en souffriront. à partir d'un problème inverse avec "demi-clic bloqué", où la position du curseur sera bloquée mais où le clic gauche sera enregistré. Ce problème est temporairement résolu en effectuant une action à deux doigts dans le programme basé sur Java, que touchegg
doit reconnaître.
Pour ceux qui ont le ≣ Touche du men sur leur clavier, la remarque relative à l’utilisation de cette option pour créer un clic droit est en fait une excellente idée. Comme ce n’est pas évident, voici comment cela fonctionne:
Tapez et maintenez l'écran avec un doigt. Ne relâchez pas le doigt, cela provoquerait un clic gauche, ce qui pourrait avoir des effets indésirables sur ton application. Tapez et maintenez, c'est comme si vous appuyiez sur le bouton gauche de la souris sans le relâcher. Généralement, aucune action dans une application n'en résulte. Cependant, la position du pointeur de la souris est déjà modifiée et vous souhaitez cliquer avec le bouton droit de la souris. C'est pourquoi nous effectuons cette étape.
Appuyez et relâchez le ≣ Touche Menu. Un clic droit est déjà déclenché sur l'événement correspondant à une pression sur une touche.
Évidemment, cette technique nécessite deux mains et est totalement impossible sur les ordinateurs portables convertibles en mode tablette. Donc, son utilisation pratique est limitée.
Vous pouvez utiliser easystroke
pour créer des clics droits avec un modificateur et une frappe, tels que Ctrl + Alt + tapez. Avec une configuration supplémentaire, vous pouvez y accéder seul avec un seul écran tactile, voir ci-dessous.
C'est assez agréable, car "modificateur plus tap", car un clic droit ne peut pas être configuré avec l'un des touchegg
(ne reconnaît pas les modificateurs), mouseemu
(ne reconnaît pas les taps car ils manquent de scancodes) ou xsetwacom "…" set Button 1 …
(ne reconnaît pas les taps comme doigt) l’entrée n’est pas un événement de bouton dans le pilote).
Le programme easystroke
n’est maintenu que de façon minime à l’heure actuelle, mais dans le notes de publication , ils sont liés à un paquet récent Ubuntu, construit sur Ubuntu 18.04. Cela a bien fonctionné pour moi (Ubuntu 18.10 ici). Vous pouvez l'installer comme suit:
wget http://openartisthq.org/easystroke/easystroke_0.6.0-0ubuntu8_AMD64.deb
Sudo apt install ./easystroke_0.6.0-0ubuntu8_AMD64.deb
Commencez le programme avec easystroke
.
Sous le deuxième onglet "Préférences", cliquez sur "Bouton de geste" et Ctrl + Alt + appuyez sur le champ gris. Ctrl + Alt semble être le meilleur choix de modificateur, au moins sous LXQt, car:
easystroke
.easystroke
. Il s’agit probablement d’un problème de coniguration LXQt ou Openbox, mais je n’ai pas pu le résoudre pour l’instant.Sous le premier onglet "Actions", cliquez sur "Ajouter une action".
Configurez votre action avec "Type: Commande" et "Détails: xdotool keyup ctrl alt; xdotool click 3
". Adaptez-vous en fonction de vos modificateurs choisis.
En fonction des modificateurs, il est important de nettoyer les modificateurs en premier pour éviter les effets secondaires. Par exemple Shift + clic droit dans Chrome mènerait à la sélection de texte. Il est également nécessaire d'effacer explicitement les modificateurs pour empêcher les modificateurs bloqués de déclencher ces touches avec un logiciel (voir la section 3 ci-dessous). Ne pas effacer les modificateurs lui-même avant d'exécuter la commande pourrait être considéré comme un bogue dans easystroke
.
Cliquez sur "Record Stroke" et enregistrez un seul tap.
Vous pouvez désactiver les popups (ici plutôt inutiles) sous "Préférences → Apparence → Afficher les popups".
Vous pouvez limiter cette reconnaissance de geste à votre écran tactile et éventuellement au périphérique de saisie au stylet sous "Avancé → Périphériques".
À présent, Ctrl + Alt + tapez va créer un clic droit.
Notez que easystroke
offre une excellente reconnaissance des gestes pour les gestes à touche unique ("dessiner des formes sur l'écran") que vous pouvez utiliser pour automatiser de nombreuses tâches tout en utilisant l'écran tactile. C’est là son objectif principal, alors que l’émulation par clic droit n’est qu’un effet secondaire.
Maintenant, améliorons cette configuration pour que vous puissiez déclencher des clics-droit avec une seule main et un écran tactile en (1) tapotant sur un bouton spécial à l'écran qui signifie "le prochain tap est un clic droit" et (2) puis tapotant sur l'écran juste normalement.
Voici une recette pour Lubuntu (LXQt) et en utilisant le Ctrl + Alt modificateur choisi ci-dessus, mais le principe est le même dans tous les environnements de bureau et avec tous les modificateurs: une entrée de lancement rapide personnalisée dans le panneau.
Créez une icône personnalisée pour votre entrée quicklaunch et enregistrez-la sous le nom ~/.icons/default/rightclick.png
.
Créez un fichier personnalisé .desktop
et enregistrez-le sous le nom .local/share/applications/rightclick.desktop
, avec le contenu suivant. Notez que vous devez fournir username
pour le chemin absolu.
[Desktop Entry]
Name=Rightclick
Comment=Next tap is a rightclick via Ctrl + Alt + easystroke gesture.
Icon=/home/matthias/.icons/default/rightclick.png
Exec=xdotool keydown ctrl alt
Type=Application
Categories=System;Utility;
StartupWMClass=localdomain.rightclick
Ajoutez un autre widget quicklaunch à votre panneau LXQt. Bien qu'en principe, vous puissiez également modifier votre version existante, j’ai trouvé qu’une option placée dans le coin inférieur droit de l’écran est la plus naturelle pour une opération avec droitier. De plus, les erreurs d’accrochage accidentelles n’indiquent que la date (si c’est à côté gauche, comme dans mon cas) au lieu de démarrer une application volumineuse.
Ouvrez ~/.config/lxqt/panel.conf
et ajustez la nouvelle section [quicklaunch2]
pour faire référence à votre fichier personnalisé .desktop
. Encore une fois, vous devez fournir username
. Exemple à quoi cela peut ressembler:
[quicklaunch2]
alignment=Left
apps\1\desktop=/home/username/.local/share/applications/rightclick.desktop
apps\size=1
type=quicklaunch
Redémarrez le panneau LXQt pour appliquer les modifications. Pour ça:
(Vous pouvez également exécuter killall lxqt-panel && lxqt-panel
dans le répertoire Alt + F2 lancer la boîte de dialogue, mais cela va interférer avec l’état des panneaux reconnu dans la boîte de dialogue mentionnée ci-dessus, et si vous mélangez les deux techniques, deux panneaux s’exécutant superposés, l’une des icônes manquantes. Alors mieux vaut ne pas. C'est encore un buggy.)
De même, si vous disposez de boutons matériels spéciaux sur le côté de l'écran tactile, vous pouvez également affecter la commande xdotool keydown ctrl alt
à l'un d'entre eux.
Comme effet secondaire sympa, la technique ci-dessus pour les clics droits uniquement tactiles permet également d’accéder d’une seule main à tous les autres gestes que vous avez configurés dans easystroke
. C'est une fonctionnalité assez puissante pour l'automatisation de l'utilisation de l'écran tactile.
Lorsque vous configurez d’autres mouvements dans easystroke
, tenez compte du bogue suivant: easystroke
n’efface pas les modificateurs que vous avez choisis avant d’effectuer l’action configurée. Les types d'action "Clé" et "Texte" donnent tous lieu à des combinaisons de touches avec Ctrl + Alt dans le cas ci-dessus, ce qui les rend inutilisables. Pour résoudre ce problème, choisissez le type d'action "Commande" et effacez vous-même les modificateurs de la même manière que ci-dessus. Donc pour déclencher Ctrl + V, la commande serait:
xdotool keyup ctrl alt; xdotool key "ctrl+v"
(L'option xdotool
--clearmodifiers
n'aide pas ici, car elle désactive uniquement les modificateurs lors de la combinaison de touches à exécuter et les réapplique par la suite. Ce qui, dans ce cas, ferait que le prochain tapotera un clic droit selon la technique ci-dessus, mais nous le ferions. veut pas que dans ce cas.)
Si vous avez déjà bloqué des modificateurs pendant le test, appuyez sur les touches de modification du clavier physique et relâchez-les pour corriger le problème.
Parfois, lors des tests, le LXQt, les événements liés au clavier et à la souris étaient très perturbés. Dans un tel cas, seule la déconnexion de l'environnement graphique et la nouvelle connexion ont aidé.
Le moyen le plus propre d'implémenter une opération tactile à une seule main dans easystroke
, y compris dans le cas de clics droit requis, consiste à cliquer sur l'icône du panneau easystroke
pour le placer dans le même état interne que celui de notre icône de panneau personnalisé configuré. ci-dessus, mais sans changer en fait l'état du modificateur de clavier car cela peut entraîner le blocage de modificateurs, etc. Pour afficher la fenêtre easystroke
, il faudrait alors utiliser le menu contextuel de son icône de panneau. Évidemment, cela nécessite quelques modifications dans le code easystroke
.