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
KeyEvent
Fields:
| Name | Type |
|---|---|
code |
keys.KeyCode |
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 empty_key(): KeyEvent
fn key_event(code: keys.KeyCode, ctrl: bool, alt: bool, shift: bool): KeyEvent
ROADMAP 8.2a: the ch parameter is gone. A printable key is keys.key_char(codepoint) and carries its own codepoint; there is no longer a second place to put one, and so no longer a way for the two to disagree.
fn key_event_plain(code: keys.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
fn is_left_click(e: Event): bool
A completed left-button press: a mouse event, pressed, not a drag.
fn is_activate_key(e: Event): bool
Enter, or an unmodified Space. Space arrives as a Char code point (32) rather than a dedicated KeyCode.
Generated by reefc doc