【问题标题】:Is it possible to detect a passive stylus in a web browser是否可以在网络浏览器中检测到被动手写笔
【发布时间】:2018-01-23 13:25:36
【问题描述】:

我想知道您是否可以检测到事件来自现代网络浏览器的被动笔。

例如在 Surface 集线器上,在 Edge 中,您可以使用 event.pointerType === 'pen' 来区分用笔和手指进行的触摸,但我不知道您是否可以对任何触摸做同样的事情笔在任何操作系统的任何浏览器上。

我没有找到任何有关它的信息,但我不确定我查看了正确的地方。

【问题讨论】:

  • 我的猜测是这是一个非标准功能,只有 Edge 实现。
  • 它实际上在 w3c w3.org/TR/pointerevents 中。但我不确定哪些 pen/ose 实际上能够将正确的事件传递给浏览器,以及 pen 事件真正正确发送到浏览器的确切条件是什么。

标签: javascript stylus-pen


【解决方案1】:

大多数现代浏览器都支持event.pointerType

https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerType

在 Firefox 中,它要求在 about:config 中将 dom.w3c_pointer_events.enabled 设置为 true。它将mousepentouch 呈现为值。

【讨论】:

  • 是的,但是操作系统实际上能够将被动笔触摸作为笔事件传递给浏览器吗?我理解现代浏览器公开了 pointerType 属性,但是为了获得正确的值,他们必须以这种方式从操作系统也是如此。如果操作系统没有检测到笔,它会向浏览器发送一个触摸类型事件,浏览器又将指针类型属性设置为“触摸”,不是吗?
【解决方案2】:

是的,不是的!被动笔被解释为触摸但是您可以使用指针事件宽度和高度来猜测触摸是被动笔还是简单触摸。假设手指的宽度和高度比笔大

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 2013-02-03
    • 1970-01-01
    • 2011-08-04
    • 2020-11-06
    相关资源
    最近更新 更多