2013-04-04 17 views
5

Ho una macchina Ubuntu con un touchscreen da 24 "e funziona perfettamente, posso spostare il mouse, fare gesti con diversi punti di contatto e così l'hardware funziona correttamente. mi chiedo se sia possibile fare in modo che un browser interpreti gli eventi come tocco e non come mousedown, mousedrag ecc. HTML5 ha davvero un buon supporto per il tocco e il tocco multiplo e mi piacerebbe sviluppare applicazioni web per questa configurazione. come fare questo? ho provato permettendo ai --enable-Touch-eventi passare senza successo. Tho sembra che questo è implementato solo nella versione MS Windows.Attivazione di eventi di tocco in Chrome dal touch screen

~$ 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)] 

ho letto sulla costruzione con la touch-UI flag ma im non è sicuro che ti aiuterà?

risposta

2

Chrome non supporta i touch screen su Linux quando è stato creato utilizzando GTK. A partire da Chrome 35, Linux non utilizza più GTK ma è costruito sullo stesso framework UI ("Aura") utilizzato su Windows e ChromeOS. Ciò significa che ora dovrebbe supportare correttamente il touchscreen (anche se vedo spesso i bug del touchscreen in Ubuntu, specialmente quando si usano monitor multipli).

1

Vedere http://www.html5rocks.com/en/mobile/touchandmouse/ per buone risposte alle vostre domande.

Tu dici

Ho provato permettendo al --enable-touch-eventi passare

hai iniziato cromato con quella della riga di comando?

Forse ti stai riferendo a quanto segue, che non sarebbe la cosa sbagliata da utilizzare nel tuo caso dal momento che si desidera ricevere eventi di tocco reali.

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

Prova a sperimentare nella console JavaScript con un gestore di piccolo evento installato per qualsiasi tipo di evento a cui sei interessato (vedi sotto).

["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); 
}); 

Questo aiuto?

+0

Ah, https://code.google.com/p/chromium/issues/detail?id=138195 sembra rispondere alla mia domanda su --enable-touch-events. – stackunderflow