Keyboard Input Overhaul (Part 1)

First part of the complete keyboard input overhaul