Comment émuler un clic droit de la souris sur l'écran tactile?

9

Mon nouvel ordinateur portable à écran tactile n'a pas de bouton de menu (c'est-à-dire que celui se comporte comme un clic droit de la souris) - celui généralement à côté du bouton droit.

comme vous ne pouvez pas cliquer avec le bouton gauche, j'essaie de créer un raccourci clavier personnalisé pour Alt GR pour cette fonction (sous Système> Clavier> Raccourcis> Raccourcis personnalisés)

En utilisant la xevcommande avec un clavier intégré (qui a le bouton de menu), j'ai découvert que les informations du bouton sont:

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 ne sais pas quoi faire de cette info ...

btw J'utilise un Ubuntu 13.04.

Toute aide serait appréciée...

Ismail Moghul
la source
J'ai exactement le même problème avec mon aspire p3, ubuntu 14.04, les fonctions de clic droit ne fonctionnent pas avec l'écran tactile :(
user65390
@ user65390 avez-vous essayé la réponse de freddi schiller ...
Ismail Moghul
1
vous devez modifier cette question pour supprimer la geekyness. Dites simplement, comment faire un clic droit sur les écrans tactiles? La question à laquelle il est maintenant répondu semble trop technique pour correspondre réellement aux réponses
Bhikkhu Subhuti

Réponses:

12

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 l'éditeur dconf.

Ensuite, il est possible qu'Ubuntu gère l'écran tactile partiellement comme un pavé tactile, où un toucher ne déclenche pas la pression de la souris. Au lieu de cela, vous devez appuyer brièvement sur + toucher et maintenir.

Freddi Schiller
la source
Malheureusement, cette technique est limitée aux environnements de bureau basés sur Gnome3, tels que Ubuntu. Un appui long pour un clic droit fonctionne également dans Chrome / Chromium, mais uniquement parce qu'il gère lui-même les événements tactiles.
tanius
6

Continuez à toucher l'écran pendant 2 ou 3 secondes et ce que l'on appelle le «menu de droite» devrait apparaître. C'est la manière normale d'émuler un clic droit sur n'importe quel écran tactile.

Radu Rădeanu
la source
1
Vous devriez probablement activer le clic secondaire en premier, juste par gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"ou via l'éditeur Dconf.
AliN
J'ai entré la commande ci-dessus dans le terminal, puis je suis même passé aux paramètres universels et j'ai réduit le délai d'acceptation au min. mais cela ne résout toujours pas le problème - lorsque j'utilise une souris, le menu apparaît mais lorsque vous utilisez l'écran tactile, cela ne fonctionne pas ...
Ismail Moghul
1
@IsmailM Ensuite, je pense que vous devriez en parler avec votre vendeur / fabricant ...
Radu Rădeanu
@ RaduRădeanu J'ai apporté cet ordinateur portable de John Lewis avec Windows 8 dessus (et la fonction d'écran tactile fonctionne correctement sur Windows 8). Pensez-vous toujours que je devrais discuter avec eux parce que j'ai installé Ubuntu moi-même ...
Ismail Moghul
@IsmailM Oui, vous devriez.
Radu Rădeanu
1

Si vous avez un écran tactile Wacom (utilisant un pilote xf86-input-wacom) et qu'il est capable de toucher au moins deux doigts, alors ce qui suit produira un clic droit:

  1. Appuyez et maintenez avec le premier doigt.
  2. Appuyez maintenant avec le deuxième doigt.

Si cela ne fonctionne pas encore, recherchez le nom du produit de votre écran tactile xinput --listet activez cette fonction 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 sur Gnome / Ubuntu Shell, cela fonctionne dans tous les environnements de bureau car il s'agit d'une fonctionnalité de niveau pilote (héritée). Sachez simplement que cela peut entraîner des problèmes de clic gauche par écran tactile dans certains programmes, c'est pourquoi j'ai dû le désactiver sur mon système.

tanius
la source
0

Pour ceux qui ont la touche Menu sur leur clavier, la note dans la question sur l'utilisation de cela pour créer un clic droit est en fait une excellente idée. Comme ce n'est pas évident, voici comment cela fonctionne:

  1. Appuyez et maintenez l'écran avec un doigt. Ne relâchez pas le doigt, car cela déclencherait un clic gauche, ce qui pourrait avoir des effets indésirables dans votre application. Appuyer et maintenir, c'est comme appuyer et ne pas relâcher le bouton gauche de la souris, et généralement aucune action dans une application n'en résulte. Mais, la position du pointeur de la souris est déjà modifiée à l'endroit où nous voulons cliquer avec le bouton droit, c'est pourquoi nous faisons cette étape.

  2. Appuyez et relâchez la touche Menu. Déjà sur l'événement de pression de touche, un clic droit est déclenché.

Évidemment, cette technique nécessite deux mains, et est totalement impossible sur les ordinateurs portables convertibles en mode tablette. Il a donc une utilité pratique limitée.

tanius
la source
0

De mes réponses à cette question, c'est mon préféré.

Si vous disposez d'un écran tactile prenant en charge au moins la saisie multipoint à deux doigts, vous pouvez l'installer touchegget le configurer pour interpréter (par exemple) un appui à deux doigts comme un clic droit. J'ai essayé cela sous Lubuntu 18.10 et cela fonctionne.

1. Installation

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. Lorsque vous l'exécutez dans un terminal, vous pouvez vérifier à partir de sa sortie s'il détecte correctement vos gestes multitouch.

Pour toucheggdémarrer automatiquement chaque session LXQt, ajoutez-la simplement à Démarrage automatique (menu LXQt → Préférences → Paramètres LXQt → Paramètres de session → Démarrage automatique).

2. Façons de configurer touchegg

Vous pouvez configurer toucheggde deux manières alternatives:

  • Configuration avec un fichier de configuration. Modifiez le fichier ~/.config/touchegg/touchegg.conf. Pour que les modifications soient effectives, exécutez ce qui suit dans un terminal ou via la boîte de dialogue d'exécution Alt+ F2:

    killall touchegg; touchegg
    
  • Configuration avec une interface graphique. touchegga une belle interface graphique de configuration appelée touchegg-gui, qui est vue ici . Cependant, il ne fait pas partie du toucheggpackage Ubuntu. Alternativement, vous pouvez installer l'interface graphique touchegg-gce comme décrit ici . touchegg-gcefonctionne, mais vous devez redémarrer manuellement toucheggaprès avoir enregistré les modifications dans son fichier de configuration, en exécutant à nouveau:

    killall touchegg; touchegg
    

3. Configuration pour émuler un clic droit

Pour configurer un clic droit à 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 toucheggconfiguration:

  • Le clic droit avec deux doigts comme indiqué ci-dessus est actuellement 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) que vous terminiez vos actions pour les gestes qui se composent de plusieurs parties (comme les tapotements tactiles), puis seulement les interprète. Ainsi, lorsque vous utilisez touchegguniquement des gestes en une seule partie tels que le clic droit avec deux doigts, nous pouvons définir cela 0pour éviter tout retard notable 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, le tapotement à deux doigts n'est pas reconnu lorsque vous touchez l'écran avec les deux doigts exactement en même temps. Mais quand il y a même un très petit intervalle de temps (de sorte que deux taps peuvent être entendus, probablement ≥10 ms), cela fonctionne de manière fiable. Je déplace donc mon index et mon 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 dans ce geste) qui touche l'écran en premier.

  • toucheggpermet d'interpréter tous les événements pour lesquels il n'a pas été configuré pour faire des bulles jusqu'à l'application sous le curseur. C'est bien parce que le pincement-zoom natif, etc. implémenté dans Chromium, Chrome, Evince, par exemple, fonctionne beaucoup plus facilement que via touchegg.

  • toucheggpeut être utilisé à côté du logiciel de reconnaissance gestuelle (hautement recommandé!) sans toucher easystroke. Bien sûr, ils ne doivent pas être configurés pour être déclenchés par les mêmes événements.

4. Dépannage

  • toucheggpeut 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 pour les autres , toucheggn'interprète que les événements tactiles sur l'écran tactile, pas sur le pavé tactile. Dans ce cas, cela est souhaité. Cela peut être dû au fait que mon pavé tactile utilise un pilote qui n'expose pas les événements multi-touch au serveur X ( synapticsplutôt qu'à libinput). Vous pouvez vérifier à quels périphériques toucheggse lie en commençant par GEIS_DEBUG=3 touchegg.

  • Si toucheggprovoque une sorte de "demi-clic bloqué" pour tous les programmes, où les tapotements déplaceront le pointeur de la souris mais ne déclencheront plus de clic gauche: ce n'est pas son comportement normal. Sous Ubuntu 18.10 avec LXQt, je ne l'avais pas au début, mais je l'ai ensuite eu sur plusieurs redémarrages touchegget même redémarrages de l'ordinateur entier. Il a disparu après avoir démarré le bureau Ubuntu par défaut puis être revenu à LXQt.

    Un correctif dans le toucheggfichier de configuration en configurant un geste supplémentaire pour un tapotement à un doigt corrigera le "demi-clic bloqué", mais un autre mauvais comportement toucheggqui vient avec ce bogue reste, donc ce n'est pas un vrai correctif. Cette mauvaise conduite inclut que (1) toucheggconsommera désormais également tous les événements pour lesquels il n'est pas configuré, au moins ceux pour un doigt, et (2) certains programmes basés sur Java ( freemindpar exemple) souffriront désormais d'un problème inverse avec "la moitié bloquée" clics ", où la position du curseur sera bloquée mais les clics du bouton gauche de la souris seront enregistrés. Ceci est temporairement résolu en effectuant une action à deux doigts dans le programme basé sur Java, pour toucheggreconnaître.

tanius
la source
0

Vous pouvez utiliser easystrokepour créer des clics droit avec un modificateur plus un appui, tel que Ctrl+ Alt+ appui. Avec une configuration supplémentaire, vous pouvez y accéder seul avec un simple écran tactile, voir ci-dessous.

C'est très bien, car "modificateur plus tap" comme un clic droit ne peut pas être configuré avec 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 car la saisie du doigt n'est pas un événement de bouton dans le pilote).

1. Installation

easystrokeLe programme n'est actuellement maintenu que de manière minimale, mais dans les notes de version, il est lié à un package Ubuntu récent, 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

2. Configuration

  1. Démarrez le programme avec easystroke.

  2. Sous le deuxième onglet "Préférences", cliquez sur "Bouton de geste" et Ctrl+ Alt+ tapez dans le champ gris. Ctrl+ Altsemble être le meilleur choix de modificateur, au moins sous LXQt, car:

    • Les deux Shift+ clic et Ctrl+ clic sont déjà utilisés pour la multi-sélection et deviendraient indisponibles pour cela s'ils étaient affectés à easystroke.
    • Alt, Superet toute combinaison impliquant Superne sera pas vue par easystroke. Il s'agit probablement d'un problème de configuration LXQt ou Openbox, mais je n'ai pas pu le résoudre jusqu'à présent.
  3. Sous le premier onglet "Actions", cliquez sur "Ajouter une action".

  4. Configurez votre action avec "Type: Commande" et "Détails: xdotool keyup ctrl alt; xdotool click 3". Adaptez-vous en fonction des modificateurs que vous avez choisis.

    Selon les modificateurs, la suppression des modificateurs en premier est importante pour éviter les effets secondaires. Par exemple, Shiftun clic droit sur Chrome entraînerait une sélection de texte. De plus, la suppression explicite des modificateurs est nécessaire pour empêcher les modificateurs bloqués lors du déclenchement de ces pressions de touches avec le logiciel (voir la section 3 ci-dessous). Ne pas effacer les modificateurs par lui-même avant d'exécuter la commande peut être considéré comme un bogue dans easystroke.

  5. Cliquez sur "Record Stroke" et enregistrez un seul robinet.

  6. Vous pouvez désactiver les popups (ici plutôt inutiles) sous "Préférences → Apparence → Afficher les popups".

  7. Vous pouvez limiter cette reconnaissance gestuelle uniquement à votre écran tactile et peut-être à votre périphérique de saisie au stylet sous "Avancé → Appareils".

Maintenant, Ctrl+ Alt+ tap créera un clic droit.

Notez qu'il easystrokea une grande reconnaissance des gestes pour les gestes à une touche ("dessiner des formes sur l'écran") que vous pouvez utiliser pour automatiser de nombreuses tâches tout en utilisant l'écran tactile. C'est son objectif principal, tandis que l'émulation par clic droit n'est qu'un effet secondaire.

3. Amélioration: clic droit uniquement sur le toucher

Améliorons maintenant cette configuration afin que vous puissiez déclencher des clics droit avec une seule main et un écran tactile en (1) tapant sur un bouton spécial à l'écran qui signifiera "le prochain tapotement est un clic droit" et (2) puis en tapant sur l'écran juste normalement.

Voici une recette pour Lubuntu (LXQt) et en utilisant le modificateur Ctrl+ Altchoisi 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.

  1. Créez une icône personnalisée pour votre entrée de lancement rapide et enregistrez-la sous ~/.icons/default/rightclick.png.

  2. Créez un .desktopfichier personnalisé et enregistrez-le sous .local/share/applications/rightclick.desktople contenu suivant. Notez que vous devez fournir usernamele 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
    
  3. Ajoutez un autre widget de lancement rapide à votre panneau LXQt. Alors qu'en principe, vous pouvez également modifier votre existant, j'ai trouvé que celui placé dans le coin inférieur droit de l'écran est le plus naturel pour un fonctionnement droitier et que les erreurs de clic accidentelles ne montreront que la date (si c'est ce qui est à côté du gauche, comme dans mon cas) au lieu de démarrer une grande application.

  4. Ouvrez ~/.config/lxqt/panel.confet ajustez la nouvelle [quicklaunch2]section pour faire référence à votre .desktopfichier personnalisé . 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
    
  5. Redémarrez le panneau LXQt pour que les modifications soient effectives. Pour ça:

    1. Allez dans "Menu LXQt → Préférences → Paramètres LXQt → Paramètres de session".
    2. Sélectionnez "Paramètres de base → Modules LXQt → Panneau".
    3. Cliquez sur "Arrêter".
    4. Cliquez sur "Démarrer".

     

    (Vous pouvez également exécuter killall lxqt-panel && lxqt-paneldans la boîte de dialogue de lancement Alt+ F2, mais cela va interférer avec l'état du panneau reconnu dans la boîte de dialogue mentionnée ci-dessus, et si vous mélangez les deux techniques, vous aurez deux panneaux en cours d'exécution l'un sur l'autre, avec l'un manquant d'un panneau Il vaut mieux ne pas le faire. C'est toujours un buggy.)

De plus, si vous avez des boutons matériels spéciaux sur le côté de l'écran tactile, vous pouvez xdotool keydown ctrl altplutôt assigner la commande à l'un d'eux.

4. Autres améliorations et dépannage

  • Comme bel effet secondaire, la technique ci-dessus pour les clics droit tactiles permet également d'accéder d'une seule main à tous les autres gestes que vous avez configurés easystroke. C'est une fonctionnalité assez puissante pour l'automatisation de l'utilisation de l'écran tactile.

  • Lorsque vous configurez d'autres gestes dans easystroke, soyez conscient du bogue suivant: easystroken'efface pas nos modificateurs choisis avant de faire l'action configurée. Les types d'action "Clé" et "Texte" entraînent tous des combinaisons de touches avec Ctrl+ Altdans le cas ci-dessus, ce qui les rend inutilisables. Comme solution de contournement, choisissez plutôt le type d'action "Commande" et effacez les modificateurs vous-même 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' xdotooloption --clearmodifiersn'aide pas ici car elle désactive uniquement les modificateurs lors de la combinaison de touches pour les exécuter et les réapplique ensuite. Ce qui dans ce cas ferait du prochain clic un clic droit selon la technique ci-dessus, mais nous ne voudrions pas que dans ce cas.)

  • Si vous avez déjà bloqué des modificateurs pendant le test, appuyez et relâchez les touches de modification du clavier physique pour corriger la situation.

  • Parfois, lors des tests de ces choses, mes événements LXQt mon clavier et ma souris devenaient très perturbés. Dans un tel cas, seule la déconnexion de l'environnement graphique et la connexion à nouveau ont aidé.

  • Le moyen le plus propre de mettre en œuvre une opération tactile à une seule main dans easystroke, y compris pour les clics droit comme requis ici, serait qu'un appui sur l' easystrokeicône du panneau la ramène dans le même état interne que notre icône de panneau personnalisée configurée ci-dessus, mais sans réellement changer l'état du modificateur du clavier car cela peut conduire à des modificateurs bloqués etc. Pour afficher la easystrokefenêtre, il faudrait alors utiliser le menu contextuel de son icône de panneau. Évidemment, cela nécessite quelques modifications dans le easystrokecode.

tanius
la source