Поддержка пера/стилуса в веб-браузерах

Существуют ли какие-либо веб-браузеры, которые делают для DOM специальные события для пера/стилуса (такие как давление), аналогичные API Microsoft RealTimeStylus?

Есть ли для этого стандартный DOM-интерфейс? Если нет, существуют ли проприетарные расширения, которые позволяют это, возможно, используя плагин?

Ответ 1

В соответствии с действующими API, вы не можете получить давление. Тем не менее, есть браузер плагин от Wacom.

DeviantArt Muro, кажется, использует его.

Ответ 2

В настоящее время браузер не предоставляет таких API.

Однако, в зависимости от драйверов пера/дигитайзера, события пера могут выглядеть в браузере подобно событиям касания, которые реализованы многими браузерами. Вы можете протестировать это в Chrome и Firefox (через Firebug) с помощью функции monitorEvents, доступной в своих консолях. Простой вызов:

monitorEvents(document);

В консоли, а затем посмотрите, отображает ли браузер требуемое событие. Я попробовал это со своим собственным планшетом Lenovo X200, но ни один из нестандартных событий из моего регистра пера (все они появляются как события мыши).

Я не знаю каких-либо сторонних расширений, которые позволяют это, и поиск в Google не показывает ничего полезного.

Ответ 3

Вот возможное рабочее решение с polyfill: hand.js.

Посмотрите эту замечательную статью MSDN на hand.js.

Я рекомендую использовать библиотеку для сглаживания путей. Мне удалась внедрить что-то в paper.js при игре с сенсорным экраном на моем hp-планшете, я не могу себе представить, что это будет слишком сложно чтобы точки адаптировались к чувствительности к давлению.

В html5 приложениях Windows 8 есть поддержка. К сожалению, этот API не подвергался действительным браузерам AFAIK.

Похоже, что есть рекомендация W3C в конвейере, который, как представляется, основан на нем. Похоже, что они работают над рекомендацией, основанной на черновиках, хранящихся в их репо.

См. Быстрый старт: захват данных чернил (HTML) об использовании его в приложениях Windows 8.

Ответ 4

Если браузер реализует поддержку "pointerevent.pressure", он должен иметь возможность поддерживать чувствительный к давлению вход. Для наклонов и поворотов эквивалентными характеристиками будут "ponterevent.tiltx", "pointerevent.tilty" и "pointerevent.twist".

См. дополнительную информацию.

Ответ 5

Это может быть не очень практическое предложение или что-то немного перебор, но если есть API/SDK, которые выставляют перо/стилус на рабочий стол, вы можете создать тип приложения webservice, который будет обновлять страницу в режиме реального времени с входом от устройства. Однако у меня нет кода, который бы помог вам в этом, и я не знаю, можно ли сделать это без лишнего запаздывания.

Ответ 6

API-интерфейс Pointer Events представляет собой набор событий, которые могут инициировать устройства-указатели. Объекты событий аналогичны тем, которые вы получаете для событий мыши, но они добавляют свойства для таких атрибутов, как давление. Эти события поддерживаются текущими выпусками всех современных браузеров.