2013-04-04 6 views
5

У меня есть машина Ubuntu с 24-дюймовым сенсорным экраном, и она отлично работает. Я могу перемещать мышь, делать жесты с несколькими точками касания и, таким образом, оборудование работает нормально. интересно, возможно ли, чтобы браузер интерпретировал события как прикосновения, а не как mousedown, mousedrag и т. д. HTML5 действительно поддерживает поддержку touch и multi touch, и я хотел бы разработать веб-приложения для этой настройки. как это сделать? Я попытался включения в --enable-сенсорные события переключения без успеха. Тхо, кажется, что это реализовано только в версии MS Windows.Эвакуация событий касания в Chrome с сенсорного экрана

~$ xinput -version 
xinput version 1.6.0 
XI version on server: 2.2 

~$ xinput 
⎡ Virtual core pointer      id=2 [master pointer (3)] 
⎜ ↳ Virtual core XTEST pointer    id=4 [slave pointer (2)] 
⎜ ↳ Advanced Silicon S.A CoolTouch(TM) System id=9 [slave pointer (2)] 
⎜ ↳ USBest Technology SiS HID Touch Controller id=10 [slave pointer (2)] 
⎜ ↳ Logitech USB Optical Mouse    id=11 [slave pointer (2)] 
⎜ ↳ MCE IR Keyboard/Mouse (nuvoton-cir)  id=14 [slave pointer (2)] 
⎣ Virtual core keyboard      id=3 [master keyboard (2)] 
    ↳ Virtual core XTEST keyboard    id=5 [slave keyboard (3)] 
    ↳ Power Button        id=6 [slave keyboard (3)] 
    ↳ Video Bus         id=7 [slave keyboard (3)] 
    ↳ Power Button        id=8 [slave keyboard (3)] 
    ↳ CHICONY HP Basic USB Keyboard    id=12 [slave keyboard (3)] 
    ↳ Nuvoton w836x7hg Infrared Remote Transceiver id=13 [slave keyboard (3)] 

Я прочитал о здании с флагом touch-UI, но im не будет ли это помогать?

ответ

2

Хром не поддерживал сенсорные экраны в Linux, когда он был построен с использованием GTK. Начиная с Chrome 35, Linux больше не использует GTK, но построен на той же инфраструктуре пользовательского интерфейса («Аура»), которая используется в Windows и ChromeOS. Это означает, что он должен теперь правильно поддерживать сенсорные экраны (хотя я часто вижу ошибки в сенсорном экране в Ubuntu - особенно при использовании нескольких мониторов).

1

См. http://www.html5rocks.com/en/mobile/touchandmouse/ для получения ответов на ваши вопросы.

Вы говорите

Я попытался включения опцию --enable-сенсорные события переключения

Вы начали хром с этой командной строки коммутатора?

Возможно, вы имеете в виду следующее, что не будет ошибкой в ​​вашем случае, поскольку вы хотите получать реальные события касания.

https://developers.google.com/chrome-developer-tools/docs/mobile-emulation#emulate-touch-events

Поэкспериментируйте в консоли JavaScript с небольшой обработчик событий, установленной для любых типов событий, интересующие вас (см. Ниже)

["click", "mousemove", "touchmove"].forEach(function(value, index, object) { 
    document.addEventListener(value, function(event) { 
     console.log(JSON.stringify([event.type, 
      event.srcElement.localName + (event.srcElement.id ? '#' 
      + event.srcElement.id : "") 
      + (event.srcElement.classList.length ? '[class=' 
      + event.srcElement.classList + ']' : ""), 
      (new Date(event.timeStamp)).toJSON()])); 
    }, false); 
}); 

Помогло ли это?

+0

Ah, https://code.google.com/p/chromium/issues/detail?id=138195, похоже, отвечает на мой вопрос о событиях с возможностью события anenable-touch. – stackunderflow