Module: reefvision.event
Source: ./reefvision/event.reef
Overview
reefvision.event — KeyCode, KeyEvent, MouseEvent, Event, toolkit command IDs
Design §7.5 + Phase 2 mouse. Commands: 0 = none, 1–99 toolkit, 100+ app. No ui/gameui. Bytes decoded by reefvision.input (keys + SGR mouse).
Types
KeyCode (enum)
Char payload lives on KeyEvent.ch (Unicode code point when code is Char).
Variants:
CharEnterEscTabBackTabBackspaceDeleteLeftRightUpDownHomeEndPageUpPageDownF1F2F3F4F5F6F7F8F9F10F11F12Unknown
KeyEvent
Fields:
| Name | Type |
|---|---|
code |
KeyCode |
ch |
int |
ctrl |
bool |
alt |
bool |
shift |
bool |
MouseButton (enum)
Variants:
NoneLeftMiddleRightWheelUpWheelDown
MouseEvent
Cell coordinates are 0-based (terminal SGR reports are 1-based).
Fields:
| Name | Type |
|---|---|
x |
int |
y |
int |
button |
MouseButton |
pressed |
bool |
motion |
bool |
ctrl |
bool |
alt |
bool |
shift |
bool |
EventKind (enum)
Variants:
KeyMouseCommandResizeQuit
Event
Fields:
| Name | Type |
|---|---|
kind |
EventKind |
key |
KeyEvent |
mouse |
MouseEvent |
command |
int |
resize_w |
int |
resize_h |
int |
Functions
fn CMD_NONE(): int
fn CMD_OK(): int
fn CMD_CANCEL(): int
fn CMD_YES(): int
fn CMD_NO(): int
fn CMD_CLOSE(): int
fn CMD_QUIT(): int
fn CMD_MINIMIZE(): int
fn CMD_MAXIMIZE(): int
fn key_char(): KeyCode
fn key_enter(): KeyCode
fn key_esc(): KeyCode
fn key_tab(): KeyCode
fn key_backtab(): KeyCode
fn key_backspace(): KeyCode
fn key_delete(): KeyCode
fn key_left(): KeyCode
fn key_right(): KeyCode
fn key_up(): KeyCode
fn key_down(): KeyCode
fn key_home(): KeyCode
fn key_end(): KeyCode
fn key_page_up(): KeyCode
fn key_page_down(): KeyCode
fn key_f(n: int): KeyCode
fn key_unknown(): KeyCode
fn keycode_tag(k: KeyCode): int
Stable tag for equality / tests (Char=0 … Unknown=27).
fn keycode_eq(a: KeyCode, b: KeyCode): bool
fn empty_key(): KeyEvent
fn key_event(code: KeyCode, ch: int, ctrl: bool, alt: bool, shift: bool): KeyEvent
fn key_event_plain(code: KeyCode): KeyEvent
fn key_event_char(cp: int): KeyEvent
fn key_event_ctrl_letter(letter: int): KeyEvent
Ctrl+letter: ch is uppercase 'A'..'Z' (65..90). Ctrl-C → ch=67, ctrl=true.
fn keyevent_eq(a: KeyEvent, b: KeyEvent): bool
fn empty_mouse(): MouseEvent
fn mouse_none(): MouseButton
fn mouse_left(): MouseButton
fn mouse_middle(): MouseButton
fn mouse_right(): MouseButton
fn mouse_wheel_up(): MouseButton
fn mouse_wheel_down(): MouseButton
fn mouse_button_eq(a: MouseButton, b: MouseButton): bool
fn mouse_event(x: int, y: int, button: MouseButton, pressed: bool, motion: bool, ctrl: bool, alt: bool, shift: bool): MouseEvent
fn event_key(ke: KeyEvent): Event
fn event_mouse(me: MouseEvent): Event
fn event_command(cmd: int): Event
fn event_resize(w: int, h: int): Event
fn event_quit(): Event
fn is_key_event(e: Event): bool
fn is_mouse_event(e: Event): bool
fn is_command_event(e: Event): bool
fn is_resize_event(e: Event): bool
fn is_quit_event(e: Event): bool
Generated by reefc doc