how to read various key input and print it's result like uparrow,downarrow,alt,ctrl
A simple Google search lead me to ncurses.
It depends mostly on what you plan on displaying / what kind of interface you're using.
If you're writing a terminal user-interface, ncurses is indeed a good option. I'd also recommend looking into crossterm as a pure-rust alternative - see this example for crossterm.