Chrome + Touchscreen + Unity (14.04)

У меня Dell 14R с сенсорным экраном с Ubuntu 14.04. Когда я запускаю Google Chrome, щелкая панель запуска с помощью сенсорной панели или комбинации Super+, поддержка сенсорного ввода в Chrome не работает. Когда я касаюсь какого-то элемента, он только фокусируется, но не активирует элемент (кнопку, поле и т. Д.). И сенсорные жесты не работают. С другой стороны, если я запускаю Chrome, касаясь кнопки запуска, в Chrome работает сенсорная прокрутка, даже если щелкнуть влево, можно вернуться на предыдущую страницу и т. Д. Это не имеет смысла для меня, но всегда так, даже через перезагрузки. Кто-нибудь может это подтвердить? Есть идеи, как это исправить?

3 ответа

Решение

Эта проблема может быть решена для меня с помощью Chrome --touch-devices параметр командной строки.

Определите идентификатор устройства ввода X в консоли с помощью

xinput list

приводя к

google-chrome --touch-devices=10

в моей системе.

Чтобы Chrome всегда использовал этот флаг CLI, см.: Как установить флаги CLI для Google Chrome?

ОБНОВЛЕНО Ответ:

  1. редактировать ~/.profile и добавьте следующее в конец файла:

    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. Выйдите, а затем войдите снова.

  3. Запустите Google Chrome как обычно

СОВЕТ: Возможно, вам придется изменить строку "Указатель виртуального ядра" в приведенной выше команде на имя вашего устройства ввода с "сенсорным экраном главного указателя" в приведенной выше команде. Просто используйте xinput Команда, чтобы найти имя вашего устройства.

ПРИМЕЧАНИЕ: я на Ubuntu 15.04 использую /usr/bin/google-chrome-stable

СТАРЫЙ ответ:

У меня Ubuntu 14.14. Это сработало для меня:

  1. Создайте скрипт оболочки для запуска браузера Google Chrome с именем start-chrome.sh,

    Я положил свой в: /usr/local/bin/start-chrome.sh

    Добавьте следующее в файл:

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

    В основном я использую xinput list Команда и greping для "Сенсорный экран" и найти соответствующий идентификатор. Возможно, вам придется изменить "Сенсорный экран" на имя вашего устройства ввода с сенсорным экраном в приведенной выше команде.

  2. редактировать /usr/share/applications/google-chrome.desktop, Найти все вхождения Exec=google-chrome-stable и заменить его на Exec=start-chrome.sh

ПРИМЕЧАНИЕ. Я считаю, что это решение будет работать до тех пор, пока вы не обновите Google Chrome (через apt-get upgrade) и google-chrome.desktop файл перезаписан Вам нужно будет выполнить шаг 2 выше, чтобы исправить это.

Вы можете попробовать включить сенсорные события под флагами Chrome:

  1. Перейдите к chrome://flags/#touch-events и установите его включенным
  2. Перезапустите Chrome

Источник:

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

Другие вопросы по тегам