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);
                }
            }
        }
    }
}