#input #back-end #ratatui #unify #diffrent

ratatui-eventInput

Unify input from diffrent ratatui backends

6 releases

new 0.2.0 Feb 24, 2025
0.1.4 Jan 7, 2025
0.1.2 Dec 25, 2024

#4 in #unify

Download history 270/week @ 2024-12-22 121/week @ 2024-12-29 113/week @ 2025-01-05 9/week @ 2025-01-12

467 downloads per month

MIT license

19KB
412 lines

ratatui-eventInput

Unifies input handling from crossterm, termion and termwiz.

It is meant to be used by ratatui libraries to make input handling easier, or allow people using a library to specify what input to listen to.

Basic usage

The default backend is crossterm, if you want to use a different one you need to enable the feature for it:

ratatui-eventInput = {
    version = "0.1", 
    features = [
        "crossterm", 
        "termion", 
        "termwiz"
    ] }

After that just use a function like this to handle the input:

use ratatui_eventInput::{Input, Key};

pub fn handle<I: Into<Input>>(&mut self, input: I) {
    let input: Input = input.into()
    if input.key == Key::Right {
        println!("right")
    } else if input.key == Key::Left {
        println!("left")
    }
}

Acknowledgments

This library does not support all inputs the backends give and is mostly based on the inputs that crossterm uses.

Dependencies

~2–15MB
~215K SLoC