7.1 Event Processing Loop
void d3tui_term_process_input(d3tui_terminal_t *term) {
d3tui_input_handler_t *input = term->input_handler;
d3tui_input_update(input);
d3tui_key_event_t event;
while (d3tui_input_get_event(input, &event)) {
if (event.pressed) {
// Handle key press
if (event.codepoint < 128) {
// ASCII character
d3tui_term_putc(term, event.codepoint);
} else if (event.codepoint >= 0x100) {
// Special key - convert to escape sequence
const char *seq = d3tui_input_key_to_sequence(event.codepoint);
if (seq) {
d3tui_term_puts(term, seq);
}
}
}
}
}