Chrome + écran tactile + Unity (14.04)

23

J'ai un Dell 14R avec écran tactile avec Ubuntu 14.04. Lorsque je démarre Google Chrome en cliquant sur le lanceur avec le pavé tactile ou avec la combinaison Super +, la prise en charge tactile dans Chrome ne fonctionne pas. Lorsque je touche un élément, il ne fait que se concentrer, mais n'active pas l'élément (bouton, champ, etc.). Et les gestes tactiles ne fonctionnent pas. D'un autre côté, si je démarre Chrome en appuyant sur le bouton du lanceur, le défilement tactile fonctionne dans Chrome, même un glissement vers la gauche revient à la page précédente, etc. Cela n'a pas de sens pour moi, mais c'est toujours comme ça, même à travers les redémarrages. Tout le monde peut le confirmer? Une idée sur la façon de réparer?

Luis Fernando P. Gonzalez
la source
Je pense que la version repo de Chromium prend en charge les écrans tactiles. Essayez plutôt cela.
saiarcot895
Chrome a aussi, mais dans mon cas, ne fonctionne que si je le démarre en touchant le lanceur d'unité ...
Luis Fernando P. Gonzalez
Ah, ma mauvaise. J'ai mal compris la question.
saiarcot895

Réponses:

23

Ce problème pourrait être résolu pour moi avec le --touch-devicesparamètre de ligne de commande de Chrome .

Déterminez l'ID du périphérique d'entrée de X dans une console en

xinput list

menant à

google-chrome --touch-devices=10

sur mon système.

Pour que Chrome utilise toujours cet indicateur CLI, voir: Comment définir des indicateurs CLI pour Google Chrome?

alex
la source
1
Alex, cela vous dérangerait d'expliquer votre solution un peu plus en profondeur. J'aimerais l'essayer mais je suis un peu perdu quant à ce que vous voulez dire. Comment activer la ligne de commande de Chrome?
3
@ user298727 Ouvrez une console et exécutez en xinput listpremier. La réponse de la commande vous donne l'identifiant de l'appareil de l'écran tactile. Démarrez Google Chrome en entrant google-chrome --touch-devices=10dans cette même console. La console est simplement l'environnement de ligne de commande à partir duquel vous appelez Chrome. Suivez ce lien pour savoir comment ouvrir la console . Veuillez noter que vous devez démarrer "terminal" ou "gnome-terminal" en fonction de votre système d'exploitation.
alex
1
Désolé, mais je viens de voir votre réponse. Fonctionne parfaitement
Luis Fernando P. Gonzalez
Comment faites-vous pour que Chrome fonctionne avec cette option à chaque fois?
NullVoxPopuli
il y a ceci, mais ce n'est pas permanent: askubuntu.com/questions/78638/…
NullVoxPopuli
7

Réponse MISE À JOUR:

  1. Modifiez ~/.profileet ajoutez ce qui suit à la fin du fichier:

    export CHROMIUM_USER_FLAGS="--touch-devices=`echo $(xinput list | grep 'Virtual core pointer' | awk 'match(\$0, /id=/){print substr($0, RSTART+3, RLENGTH-1)}')` --touch-events=enabled --enable-pinch"
    
  2. Déconnectez-vous puis reconnectez-vous.

  3. Démarrez Google Chrome comme d'habitude

CONSEIL : Vous devrez peut-être remplacer la chaîne "Virtual core pointer" dans la commande ci-dessus par le nom de votre périphérique d'entrée tactile "master pointer" dans la commande ci-dessus. Utilisez simplementxinput commande pour trouver le nom de votre appareil.

REMARQUE : je suis sur Ubuntu 15.04 en utilisant/usr/bin/google-chrome-stable

VIEILLE réponse:

J'ai Ubuntu 14.14. Cela a fonctionné pour moi:

  1. Créez un script shell pour démarrer le navigateur Google Chrome appelé start-chrome.sh .

    J'ai mis le mien dans: /usr/local/bin/start-chrome.sh

    Ajoutez ce qui suit au fichier:

    #!/bin/bash
    /usr/bin/google-chrome-stable --touch-devices=$(xinput list | grep Touchscreen | awk 'match(\$0, /id=/){print substr($0, RSTART+3, RLENGTH)}') --touch-events=enabled --enable-pinch
    

    Fondamentalement, j'utilise le xinput list commande et greping pour "Touchscreen" et trouve son identifiant correspondant. Vous devrez peut-être remplacer "Écran tactile" par le nom de votre périphérique d'entrée à écran tactile dans la commande ci-dessus.

  2. Modifier /usr/share/applications/google-chrome.desktop. Trouvez toutes les occurrences de Exec=google-chrome-stableet remplacez-le parExec=start-chrome.sh

REMARQUE : je pense que cette solution fonctionnera jusqu'à ce que vous mettiez à jour Google Chrome (via apt-get upgrade) et que le google-chrome.desktopfichier soit écrasé. Vous devrez suivre l'étape 2 ci-dessus pour le corriger.

NHenderson
la source
Le correctif mis à jour a fonctionné comme un charme! Merci.
ChosSimbaOne
Vos solutions sont plus intelligentes que les autres. Mais le 16.04 avec le dernier chome 50 (chrome 49) ça ne marche pas de mon côté. Le défilement à deux doigts fonctionne, avec un doigt, je sélectionne toujours le texte. Des idées quoi d'autre peut mal tourner ou ce que je pourrais tester?
user157697
6

Vous pouvez essayer d'activer les événements tactiles sous les indicateurs Chrome:

  1. Aller vers chrome://flags/#touch-events et définissez-le sur activé
  2. Redémarrez Chrome

La source:

https://github.com/EightMedia/hammer.js/wiki/How-to-fix-Chrome-35--and-IE10--scrolling-(touch-action)

Glutanimate
la source
1
J'ai également essayé cette approche auparavant, mais cela n'a pas aidé sur Ubuntu.
alex
1
Merci beaucoup! Fonctionne avec Ubuntu 14.04 et Dell XPS 12 prêts à l'emploi!
Julian Pieles