Now supports holding buttons and simultaneous button presses