2012-05-08 5 views
7

Есть ли способ распознать давление пера, используя javascript. Предпочтительно, я не хочу использовать Flash и пытаюсь сделать это как чистый JS.Могу ли я распознать (графический планшет) давление пера в Javascript?

EDIT: хорошо, я понял, что это возможно для планшетов Wacom, поскольку они поставляются с программным обеспечением, которое может работать с их api javascript, чтобы сделать это возможным (demos). Но это не хорошо для людей с трастовыми таблетками или с любым другим брендом ... Так что на самом деле ничего хорошего.

Любое тело знает, как это сделать на C#, если нет JS?

ответ

15

Да - если у пользователя установлен планшет Wacom, у их браузера будет плагин для него, к которому вы можете получить доступ.http://www.wacomeng.com/web/index.html

+1

Это лучший ответ. К сожалению, нет идеального решения, поскольку технологии планшетов далеки от стандартизации. Просто имейте в виду, что в настоящее время имеется небольшая ошибка с использованием планшета Wacom Bamboo (CTL-460) в Chrome на Mac (может быть, и в Windows, но не проверена лично), что приводит к тому, что переменная isEraser отображается как истинная независимо от того, что конец фактически используется. [Это предложение ссылается на отчет об ошибке Chromium] (http://code.google.com/p/chromium/issues/detail?id=160423) – Adrian

+1

К сожалению, начиная с Jaunary 2014 Chrome начал поэтапно отказываться от поддержки NPAPI (http: // www.chromium.org/developers/npapi-deprecation), поэтому даже если у вас есть плагин, он не будет загружен Chrome :((просто попробовал его на MacOSX Yosemite, он работает на Safari, но не в Chrome) – Diego

0

Вы можете сделать это только в приложении Native. Javascript не имеет доступа к информации о давлении на перо

0

Javascript как язык программирования сам по себе не имеет больше возможностей или неспособности читать такие данные, как любой другой язык.

Язык не имеет значения. Важно, чтобы API-интерфейсы были доступны вам из языка.

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

В среде веб-браузера предоставляется ряд интерфейсов API. Наиболее очевидным является DOM, который дает вам возможность манипулировать страницей и т. Д. Существуют и другие API-интерфейсы, доступные в браузере. Например, API геолокации.

Все эти стандартные API, которые были определены W3C (или в некоторых случаях находятся в процессе определения W3C), что означает, что все браузеры, которые их поддерживают, должны заставить их работать одинаково.

К сожалению, для вас нет стандартного API для работы с нажимными планками, поэтому прямой ответ на ваш вопрос - нет, это невозможно.

Будет ли один доступный в будущем еще предстоит увидеть, но у меня есть сомнения.

Есть один способ, которым вы можете это сделать: ActiveX.

ActiveX - это API, предоставляемый Microsoft в более старых версиях IE. Он в основном предоставляет способ доступа практически к любому DLL-коду Windows из браузера.

Поскольку драйвер устройства для ручного пистолета для Windows будет предоставлен в виде DLL, это означает, что вы должны теоретически иметь доступ к нему в браузере с помощью элемента управления ActiveX. Поэтому да, вы могли бы запрограммировать его с помощью Javascript.

Плохая новость заключается в том, что это не то, что я бы рекомендовал. ActiveX как технология, основанная на браузере, давно уже отказалась из-за огромных дыр в безопасности, которые она вызвала. Я не думаю, что последние версии IE даже поддерживают его (надеюсь, нет, так или иначе), что означает, что вам придется использовать старые версии IE (и только IE - ни один другой браузер никогда не поддерживал его) для запуска ваш код. Не идеально.

10

Microsoft реализовала что-то под названием Pointer Events в IE 11. Это позволяет вам получить доступ к свойствам давления наряду с такими вещами, как наклон пера и размер геометрии контакта.

Пока он работает только на IE11 (и IE10 с префиксами поставщика), но есть W3C candidate recommendation, поэтому, возможно, он будет стандартным в будущем.

+0

Вы можете используйте [pressjs] (https://pressurejs.com/), чтобы использовать его. Он также поддерживает различные другие API (iOS и Apple pencil) – Wouter

+0

Теперь это поддерживается и в Chrome, и в Opera, а также в экспериментах в Firefox. – Andreas