2013-04-04 80 views
5

我有一臺帶24英寸觸摸屏的Ubuntu機器,它工作正常,我可以移動鼠標,用幾個觸摸點做手勢,因此硬件工作正常。想知道是否可以讓瀏覽器將事件解釋爲觸摸而不是mousedown,mousedrag等.HTML5對觸摸和多點觸控提供了非常好的支持,並且我想爲此設置開發Web應用程序。如何做到這一點?我試圖使--enable-觸摸事件,但沒有成功切換。壽看來,這只是在微軟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)] 

我讀過有關建築與觸摸UI標誌,但IM不舒服它會有幫助嗎?

回答

2

Chrome使用GTK構建時,不支持Linux上的觸摸屏。從Chrome 35開始,Linux不再使用GTK,而是構建在Windows和ChromeOS上使用的相同UI框架(「Aura」)上。這意味着它現在應該可以正確支持觸摸屏了(儘管我經常看到Ubuntu中的觸摸屏錯誤 - 尤其是使用多個顯示器時)。

1

請參閱 http://www.html5rocks.com/en/mobile/touchandmouse/ 爲您的問題的良好答案。

你說

我試圖使--enable-觸摸事件切換

你啓動Chrome會使用命令行開關?

也許你指的是以下內容,因爲你希望接收真實的觸摸事件,所以在你的情況下使用它並不是錯誤的。

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

啊,https://code.google.com/p/chromium/issues/detail?id=138195似乎回答了我關於--enable-touch-events的問題。 – stackunderflow 2013-05-03 14:21:18