web-dev-qa-db-fra.com

Chrome + écran tactile + Unity (14.04)

J'ai un Dell 14R avec écran tactile avec Ubuntu 14.04. Lorsque je lance Google Chrome en cliquant sur le lanceur à l'aide du pavé tactile ou de la combinaison Super +, appuyez sur l'assistance dans Chrome ne fonctionne pas. Lorsque je touche un élément, il obtient uniquement la mise au point, mais n'active pas l'élément (bouton, champ, etc.). Et les gestes tactiles ne fonctionnent pas. Dans l’autre main, si je lance Chrome en touchant le bouton du lanceur, le défilement tactile fonctionne dans Chrome, même le fait de glisser vers la gauche ramène à la page précédente, etc. 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?

Ce problème pourrait être résolu avec le paramètre de ligne de commande --touch-devices de Chrome.

Déterminez l'identifiant 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?

23
alex

Réponse MISE À JOUR:

  1. Éditez ~/.profile et 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émarrer Google Chrome comme d'habitude

TIP: Vous devrez peut-être remplacer la chaîne "Pointeur de base virtuel" dans la commande ci-dessus par le nom de votre périphérique de saisie à écran tactile "pointeur principal" dans la commande ci-dessus. Utilisez simplement la commande xinput pour trouver le nom de votre périphérique.

NOTE: Je suis sous Ubuntu 15.04 avec /usr/bin/google-chrome-stable

OLD Answer:

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

  1. Créez un script Shell pour lancer 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 la commande xinput list et je recherche "Touchscreen" pour trouver l'identifiant correspondant. Vous devrez peut-être remplacer "Touchscreen" par le nom de votre périphérique de saisie à écran tactile dans la commande ci-dessus.

  2. Éditez /usr/share/applications/google-chrome.desktop. Trouvez toutes les occurrences de Exec=google-chrome-stable et remplacez-le par Exec=start-chrome.sh

NOTE: Je pense que cette solution fonctionnera jusqu'à ce que vous mettiez à jour Google Chrome (via apt-get upgrade) et que le fichier google-chrome.desktop soit écrasé. Vous devrez suivre l'étape 2 ci-dessus pour résoudre ce problème.

7
NHenderson

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

  1. Accédez à chrome://flags/#touch-events et configurez-le sur activé
  2. Redémarrer Chrome

La source:

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

6
Glutanimate