# Touch Event Constants

The following touch events are passed in the `event` argument to the widget script `refresh` function (when in full screen mode), just like the key events. The following touch events are provided:

|        Touch Event Name       |                      Description                     |
| :---------------------------: | :--------------------------------------------------: |
| EVT\_TOUC&#x48;*\_*&#x46;IRST |      When the finger touches down on the screen      |
|  EVT\_TOUC&#x48;*\_*&#x54;AP  |   If the finger leaves the screen after a quick tap  |
| EVT\_TOUC&#x48;*\_*&#x42;REAK | If the finger leaves the screen without tap or slide |
| EVT\_TOUC&#x48;*\_*&#x53;LIDE |   Repeats while the finger is sliding on the screen  |

In addition to the above touch events a `touchState` table is passed to `refresh` with the following addional data fields:

|               touchState fields              |                                      Description                                     |
| :------------------------------------------: | :----------------------------------------------------------------------------------: |
|                     x, y                     |                                  Current touch point                                 |
|                startX, startY                |                               Point where slide started                              |
|                slideX, SlideY                |                Movement since previous SLIDE event (or start of slide)               |
| swipeUp / swipeDown / swipeLeft / swipeRight | The field is present and equal to `true` if a swipe event occurred in that direction |

### Notes:

* `touchState` is `nil` if `event` is not a touch event. This can be used to test if we have a touch event or a key event.&#x20;
  * Since Lua evaluates a `nil` value to `false` and everything else to `true`:
  * `if touchState then` we have a touch event.
* `x, y` are present for all touch events.
* `startX, startY, slideX, slideY` are only present with `EVT_TOUCH_SLIDE`.
* `swipeUp` / `swipeDown` / `swipeLeft` / `swipeRight` *may* be present only with`EVT_TOUCH_SLIDE`.
