Skip to content

Modern Tui TuiEvent

Paul Squires edited this page Oct 19, 2026 · 6 revisions

Home › Terminal TUI Library › Events › TuiEvent

TuiEvent

Holds one event: a key, mouse action, resize, paste, focus change or tick.

Syntax

type TuiEvent
    as uint8 kind
    as TuiKey key
    as TuiMouse mouse
    as TuiSize size
    as ustring text
    as boolean focused
end type

Description

A tagged union by convention rather than by UNION -- a ustring cannot live in one. Read kind first and only then the matching field. The kinds are TUIEVENT_KEY, _MOUSE, _RESIZE, _PASTE, _FOCUS and _TICK.

Example

#import "std/numeric"
#import "std/tui"
using tui, numeric

dim as TuiEvent e
e.kind = TUIEVENT_KEY
e.key.code = TUIKEY_CHAR
e.key.ch = asc( "q" )

select case e.kind
case TUIEVENT_KEY   : print "key "; TuiKeyName( e.key )
case TUIEVENT_MOUSE : print "mouse at "; e.mouse.x; ","; e.mouse.y
case TUIEVENT_RESIZE: print "resize to "; e.size.cols
case TUIEVENT_PASTE : print "pasted "; len( e.text ); " units"
case TUIEVENT_FOCUS : print "focus "; e.focused
end select

See also

TuiKey TuiKey.HasMod TuiKeyName TuiInput.Feed TuiInput.PushEvent TuiInput.Buffered
TuiKey.IsChar TuiMouse TuiInput TuiInput.NextEvent TuiInput.Reset TuiInput.Queued

Library: Terminal TUI Library
Category: Terminal TUI Library
Documented under: Events
Working examples: hello.tiko · form.tiko · dashboard.tiko


Home · Keyword Index

Clone this wiki locally