Простой способ определения было ли касание рукой или стилусом.
У событие должен быть объект browserEvent или его аналог. В нем должен быть массив targetTouches (https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent/targetTouches). У элемента массива должны быть следующие свойства:
- force — Возвращает количество давления, прикладываемого к поверхности пользователем, как
float
между0.0
(без давления) и1.0
(максимальное давление) - radiusX — Возвращает радиус X эллипса, который наиболее точно описывает область контакта с экраном. Значение находится в пикселах того же масштаба, что и
screenX
- radiusY — Возвращает радиус Y эллипса, который наиболее близко описывает область контакта с экраном. Значение находится в пикселах того же масштаба, что и
screenY
.
Из тестов было выявлено, что если
if (touch.force > 0.4 || (touch.radiusX > 3.6 && touch.radiusY > 3.6)){ //касание рукой или нажатие пальцем }