LUA Reference Guide

Touch Event Constants

In addition to the key events described in the previous section, radios with a color touch screen also provide touch events to the widget scripts.
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
When the finger touches down on the screen
If the finger leaves the screen after a quick tap
If the finger leaves the screen without tap or slide
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
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
Counts the number of consecutive taps


  • 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.
    • 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 withEVT_TOUCH_SLIDE.
  • tapCount is zero for anything but EVT_TOUCH_TAP.