Overhaul input system. Note windows is broken atm, sorry!