有没有办法通过javascript获得平板电脑的压力敏感性

问题描述 投票:0回答:2

我想做一个小绘画程序。所以如果可能的话我会过去。与所有优秀的绘画程序一样,它需要具有压力敏感性。而且我认为我从来没有遇到过获得鼠标/平板电脑的压力敏感性的情况。有没有解决办法。

我最接近的是触摸事件,它应该具有压力属性。

这个问题以前有人问过,但那是在2009年。我希望这次能有一些东西。

Chrome 应用程序也是一种选择。

html5-canvas google-chrome-app
2个回答
6
投票

来自2022年未来世界的你好!

有一个PointerEvent API,似乎主流浏览器都支持,可以从

PointerEvent.pressure
属性中读出压力。

tldraw 是使用此 API 的项目示例。

操作系统对此支持的说明:

  • macOS
    • 我可以通过 tldraw 的绘图工具在 macOS 上使用 Chrome 或 Firefox 以及便宜的 Wacom 平板电脑来确认压力敏感度。 Safari 没有。
  • Linux
    • Linux 上的 Chrome 开箱即用;我使用了Flatpak版本。您的里程可能会因 .deb 或 Snap 套餐而异。
    • 对于 Firefox,您可能需要执行 thisthis 才能使压力敏感功能正常工作。 bug #1207700 跟踪的 Xinput 2 支持似乎出现了回归,所以也许有一天会修复这个问题。
  • Windows
    • 我认为你在 Windows 上不会有任何问题,但我无法测试。

如果您有兴趣在 2022 年创建基于 Web 的绘画程序,您可能会看看 Pressure.js,它声称支持压力输入和“3D Touch”在某些 Apple 设备上的单个功能图书馆。不过,我对这个库没有第一手经验,所以我无法支持这些说法。

确实,这对于您的项目来说已经晚了 9 年。对此感到抱歉。但这个问题在“压力敏感度 javascript api”的搜索结果中排名很高,所以也许它对某人仍然有用。


4
投票

据我所知,只有 Firefox 通过事件对象上的专有属性支持此功能:

var pressure = event.mozPressure;

将值保持在 0.0 和 1.0 之间。

Wacom 有一个 插件,可以安装它来为浏览器提供 API 来读取这些值,但我猜它只适用于他们自己的平板电脑。

© www.soinside.com 2019 - 2024. All rights reserved.