Google chrome 从触摸屏启用Chrome中的触摸事件
我有一台24小时运行的Ubuntu机器“触摸屏,工作正常。我可以移动鼠标,用几个触摸点做手势,这样硬件就可以正常工作了。现在,我想知道是否有可能让浏览器将事件解释为触摸,而不是mousedown、mousedrag等。HTML5对触摸和多点触摸有很好的支持,我想为这种设置开发web应用程序。有人知道怎么做吗?我尝试启用--enable touch events开关,但没有成功。但这似乎只在ms windows版本中实现Google chrome 从触摸屏启用Chrome中的触摸事件,google-chrome,ubuntu,chromium,touchscreen,xinput,Google Chrome,Ubuntu,Chromium,Touchscreen,Xinput,我有一台24小时运行的Ubuntu机器“触摸屏,工作正常。我可以移动鼠标,用几个触摸点做手势,这样硬件就可以正常工作了。现在,我想知道是否有可能让浏览器将事件解释为触摸,而不是mousedown、mousedrag等。HTML5对触摸和多点触摸有很好的支持,我想为这种设置开发web应用程序。有人知道怎么做吗?我尝试启用--enable touch events开关,但没有成功。但这似乎只在ms windows版本中实现 ~$ xinput -version xinput version 1.6.
~$ 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)]
我读过关于使用触摸界面标志构建的文章,但我不是舒尔,它会有所帮助吗?请参见
为你的问题提供好的答案
你说
我已尝试启用--enable touch events开关
你是用命令行开关启动chrome的吗
也许您指的是以下内容,在您的案例中使用这些内容并不是错误的,因为您希望接收真实的触摸事件
尝试在JavaScript控制台中为您感兴趣的任何事件类型安装一个小事件处理程序(见下文)
这有帮助吗?当Chrome使用GTK构建时,它不支持Linux上的触摸屏。从Chrome35开始,Linux不再使用GTK,而是构建在Windows和ChromeOS上使用的相同UI框架(“Aura”)上。这意味着它现在应该正确地支持触摸屏(尽管我经常在Ubuntu中看到触摸屏的错误,尤其是在使用多个显示器时)。Ah似乎回答了我关于启用触摸事件的问题。
["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);
});