Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 从触摸屏启用Chrome中的触摸事件_Google Chrome_Ubuntu_Chromium_Touchscreen_Xinput - Fatal编程技术网

Google chrome 从触摸屏启用Chrome中的触摸事件

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.

我有一台24小时运行的Ubuntu机器“触摸屏,工作正常。我可以移动鼠标,用几个触摸点做手势,这样硬件就可以正常工作了。现在,我想知道是否有可能让浏览器将事件解释为触摸,而不是mousedown、mousedrag等。HTML5对触摸和多点触摸有很好的支持,我想为这种设置开发web应用程序。有人知道怎么做吗?我尝试启用--enable touch events开关,但没有成功。但这似乎只在ms windows版本中实现

~$ 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);
});