Ok, after reading this https://unix.stackexchange.com/questions/21752/what-s-the-difference-between-a-raw-and-a-cooked-device-driver
cooked vs raw makes more sense. So I guess I have to use raw mode and hook up my own functions to handle certain keypresses instead of the terminal handling them
Oh lookie! I might follow along with this, but write it in Go. I wanna use this as a chance to brush up on my Go skills, since it looks like I'll be using it at work quite a bit. Thankfully Go has a nice API for tty things.
This is a server created by Jahziel Villasana (aka hapax). He's not sure what he's going to use it for yet...