New input spec implementation

This patch implements the new virtual controller buttons and keybindings from the Virtual Controller document.