TODO: 1) What process is user input being entered into? (Like is it gnome-terminal? etc)
2) What has been entered since the last or (to check for types)
3) Status of various toggles? (CapsLock, what keys are being held down, NumLock, etc)
4) What stdout/stderror has been produced since the last or
5) Informationa about the machine the input is connected to (preferably, we would have a logical K(v)M switch, and be able to rotate between machines.
6) In uinput
lib, setup macros for the common key combos like
++ or +. Make it easy to define more on-the-fly.
7) Track avaialble options in current window we can between, what things can be clicked and what their x/y coordinates are.
8) Generate realsitic USB id numbers, switch between different real keymaps
9) Support unicode
10) Support API with ability to do: A) Type("ls -lah")
**B)** AltTab("window-name")
Need to be able to ask the mouse: 1) Where the current location is?
2) What window it has focused?
3) What the cursor type is?
4) Color underneath cursor?
5) If highlighting text, what is highlighted?