it-swarm.com.de

Chrome + Touchscreen + Einheit (14.04)

Ich habe einen Dell 14R mit Touchscreen mit Ubuntu 14.04. Wenn ich Google Chrome starte, indem ich mit dem TouchPad oder der Super + -Kombination auf den Launcher klicke, funktioniert die Touch-Unterstützung in Chrome nicht. Wenn ich ein Element berühre, erhält es nur den Fokus, aktiviert das Element jedoch nicht (Schaltfläche, Feld usw.). Und Berührungsgesten funktionieren nicht. Wenn ich dagegen Chrome durch Berühren der Startschaltfläche starte, funktioniert der Touch-Scroll in Chrome. Wenn ich sogar nach links blättere, kehre ich zur vorherigen Seite zurück usw. Das macht für mich keinen Sinn, aber ist immer so, auch über Neustarts. Kann das jemand bestätigen? Irgendeine Idee, wie man das behebt?

Dieses Problem könnte für mich mit dem Befehlszeilenparameter --touch-devices von Chrome gelöst werden.

Ermitteln Sie die Eingabegeräte-ID von X in einer Konsole mit

xinput list

führt zu

google-chrome --touch-devices=10

auf meinem System.

Informationen zum Festlegen, dass Chrome immer dieses CLI-Flag verwendet, finden Sie unter: Festlegen von CLI-Flags für Google Chrome?

23
alex

AKTUALISIERTE Antwort:

  1. Bearbeiten Sie ~/.profile und fügen Sie Folgendes am Ende der Datei hinzu:

    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. Melden Sie sich ab und dann wieder an.

  3. Starten Sie Google Chrome wie gewohnt

TIP: Möglicherweise müssen Sie die Zeichenfolge "Virtual Core Pointer" im obigen Befehl in den Namen Ihres Touchscreen-Eingabegeräts "Master Pointer" im obigen Befehl ändern. Verwenden Sie einfach den Befehl xinput, um den Namen Ihres Geräts zu ermitteln.

NOTE: Ich bin auf Ubuntu 15.04 und benutze /usr/bin/google-chrome-stable

ALTE Antwort:

Ich habe Ubuntu 14.14. Das hat bei mir funktioniert:

  1. Erstellen Sie ein Shell-Skript zum Starten des Browsers Google Chrome mit dem Namen start-chrome.sh.

    Ich habe meine eingegeben: /usr/local/bin/start-chrome.sh

    Fügen Sie der Datei Folgendes hinzu:

    #!/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
    

    Grundsätzlich benutze ich den Befehl xinput list und greife nach "Touchscreen" und finde die entsprechende ID. Möglicherweise müssen Sie "Touchscreen" im obigen Befehl in den Namen Ihres Touchscreen-Eingabegeräts ändern.

  2. Bearbeiten Sie /usr/share/applications/google-chrome.desktop. Finde alle Vorkommen von Exec=google-chrome-stable und ersetze es durch Exec=start-chrome.sh

NOTE: Ich glaube, diese Lösung wird funktionieren, bis Sie Google Chrome (über apt-get upgrade) aktualisieren und die google-chrome.desktop -Datei überschrieben wird. Sie müssen Schritt 2 oben ausführen, um das Problem zu beheben.

7
NHenderson

Sie können versuchen, Berührungsereignisse unter Chrome Flags zu aktivieren:

  1. Navigieren Sie zu chrome://flags/#touch-events und aktivieren Sie es
  2. Starten Sie Chrome neu

Quelle:

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

6
Glutanimate