Zpět na projekty
TUIX v0.5Beta

Naposledy aktualizováno: 2026-05-20

Input API

Modul input řídí nativní listener a vystavuje spotřebovávající i nespotřebovávající snapshoty. Vestavěné widgety obvykle dostávají vstup přes engine.main_loop(), ne přes ruční feed volání.

MetodaJak ji použítProč existuje
input.listen() -> NoneSpusťte před interaktivními smyčkami vyžadujícími klávesnici nebo myš.Spustí nativní listener, který dodává input snapshoty frame loopu.
input.stop() -> NoneZastavte při úklidu před engine.shutdown().Zastaví listener vlákno a uvolní terminálový input režim.
input.get_snapshot() -> InputSnapshotPoužijte jen tehdy, když záměrně chcete ručně spotřebovat další snapshot.Poskytuje nízkoúrovňové explicitní čtení vstupu pro vlastní control flow.
input.peek_snapshot() -> InputSnapshotPoužijte pro diagnostiku nebo nespotřebovávající inspekci posledního vstupu.Umožňuje nástrojům číst vstup bez kradení událostí builder routování.

Tvar snapshotu

  • InputSnapshot: term_x, term_y, keyboard, mouse, consumed_keyboard, consumed_mouse.
  • KeyboardKey: btn, code, scancode, modifiers, pressed, repeat, has_event.
  • MouseKey: event, btn, buttons_held, col, row, has_event.

Pattern použití

input.listen()
try:
    while running:
        engine.main_loop()
        latest = input.peek_snapshot()  # optional diagnostics
finally:
    input.stop()