# Touch Screen Sensitivity

**URL:** <https://discourse.threejs.org/t/touch-screen-sensitivity/45806>\
**Category:** Questions\
**Tags:** touch-devices, orbit-controls\
**Created:** [December 15, 2022, 3:23am UTC](https://discourse.threejs.org/t/touch-screen-sensitivity/45806 "2022-12-15T03:23:03Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![osswmi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/osswmi/32/31780_2.png) [@osswmi](https://discourse.threejs.org/u/osswmi)\
**Post date:** [December 15, 2022, 3:23am UTC](https://discourse.threejs.org/t/touch-screen-sensitivity/45806/1 "2022-12-15T03:23:03Z")

</div>

I added a new feature to my application where you can touch and hold ( or a desktop right-click ) on an scene object and it fires a specific event. On a desktop with a mouse, this of course works as expected but on mobile device not at all. If the scene is being panned, then it should cancel out a touch and hold event using code similar to what is shown below:

```javascript
UniversalOrbitControls.addEventListener("change", function () {
     // assume the user is panning and not just holding a finger down...
});

```

However, it appears that the touch is very sensitive and unless your are a stone statue, the scene detects it as a constant “change” because of the very subtle but still detectable finger movement/pulses.

Is there a setting in Three.js / Orbit Controls that you can define/set a value/threshold in which the scene should distinguish between a touch and hold event versus touch and pan event? Basically, once the finger has moved so far away from the initial point of contact, it should considered it to be a touch and pan and not a touch and hold action?

Regards.

---

<div class="post-metadata">

**Author:** ![Mugen87](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mugen87/32/5645_2.png) [@Mugen87](https://discourse.threejs.org/u/Mugen87)\
**Post date:** [December 15, 2022, 9:15am UTC](https://discourse.threejs.org/t/touch-screen-sensitivity/45806/2 "2022-12-15T09:15:43Z")

</div>

> [@osswmi](#):
>
> Is there a setting in Three.js / Orbit Controls that you can define/set a value/threshold in which the scene should distinguish between a touch and hold event versus touch and pan event?

No, there is no configuration option for something like that.

---

<div class="post-metadata">

**Author:** ![BenedictLang](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/benedictlang/32/26387_2.png) [@BenedictLang](https://discourse.threejs.org/u/BenedictLang)\
**Post date:** [October 22, 2023, 2:51am UTC](https://discourse.threejs.org/t/touch-screen-sensitivity/45806/3 "2023-10-22T02:51:37Z")

</div>

This would be pretty useful, as there is always some glitchy movement when you zoom and interact with 2 fingers for dolly/pan as well.

When I try this touch controls on a big touchscreen, I found it to be even worse as users have the fingers much closer together in respect to the pixels, and it’s easier to ‘misinterpret’ a zoom as a pan. This might be the second next thing I’m going to work on. However, I found that even google has no real threshold on maps.

> **[Ereignisse  |  Maps JavaScript API  |  Google for Developers](https://developers.google.com/maps/documentation/javascript/events?hl=de)**

The ‘center\_changed’ event with a threshold could determine more precisely if the user tries to zoom or to pan. However, too much will lead to delayed interaction, which is also not desirable 😕
