我到处寻找如何捕获笔记本电脑的触摸板输入,但我似乎无法找到任何适用于Chrome扩展程序/ JavaScript的内容。
问题:如何捕捉手指的数量(未点击,只是向下并可能像使用鼠标一样移动),相应的x,y坐标及其相应的向上事件,对于笔记本电脑上的触摸板?
澄清:
答案 0 :(得分:4)
我现在找不到它,但我在某处读到了这个主题。但是概要很简单:它是一个草案/正在开发中,但现在没有浏览器支持它。 以下是W3C草案:https://w3c.github.io/pointerevents/
答案 1 :(得分:2)
我认为仅使用JavaScript无法做到这一点。我们这样说吧:
请考虑以下情况:
我正在使用 Macbook pro 13in Retina Display,具有多点触控和多手势触控板。
现在假设我的操作系统中有手势设置,如果我点击两根手指,将其注册为普通的左键单击,当我点击一根手指时,将其注册为右键单击
现在想象一下,我们正在捕捉两个事件,click
和dblclick
,现在告诉我,当我用一根手指单击时会触发哪个事件。 这将是dblclick
,当我用两根手指敲击时,它将被click
事件触发。
另一种情况:想象一下,我的计算机中已经打开了反向滚动,现在当我向上滚动时,我的页面会向下滚动。这是chrome / firefox无法控制的东西。
<强>结论:强> 不同类型的操作系统可以设置不同数量的此类设置,包括各种设备,如触控板,轨迹球,触摸板,鼠标,魔术鼠标等。这让我觉得外部硬件和外部硬件之间有一层。浏览器检测触发事件,该层由操作系统提供。其操作系统根据用户定义/预设设置操作事件。
可能存在旨在提供和触发多个事件(如触摸设备)的设备,触摸它们会触发多个事件。但所有设备的情况并非如此。因此,如果您从鼠标或轨迹球或触摸板或触摸屏点击,您将获得一个click
的常见事件无关紧要,肯定有可能会有更多事件发生已解雇,但它们取决于设备的类型,而不是您在操作系统中所做的设置。
您可以捕获的一种方法是,事件是在@AlvaroSanz建议的浏览器网页和操作系统之间建立某种连接。
答案 2 :(得分:1)
我知道您正在寻求Chrome扩展程序/ JavaScript的解决方案,但我一直在搜索并一无所获,所以我完成了一个结合VB和JavaScript的可能解决方案。
Synaptics(https://autohotkey.com/board/topic/65849-controlling-synaptics-touchpad-using-com-api/)有VB api,你可以从VB调用javascript(http://www.codeproject.com/Articles/35373/VB-NET-C-and-JavaScript-communication#cjfv),这是一个很长的路,但这是一种方式。
答案 3 :(得分:1)
要开发此类扩展程序,您需要使用chrome native client编写Windows Touch Input来实现此目标。