Hello...
This is my arcade machine...



In the following video I am testing the controls, the shock sensors, Bluetooth control and the electronic coin acceptor
It looks like the are working pretty good

How does it work?
The controls are... controlled by a custom made circuit board based on a microcontroller. It also controls the electronic coin acceptor (=it's not based on a button), and the shock sensors (=mercury switches)

Actually, the microcontroller is controling the whole machine.
It is responsible to startup the machine and properly set the television to the correct AV mode.
It simulates a PS/2 keyboard (not USB). It will not work with a computer without a PS/2 port.
It communicates with a custom made FrontEnd (named HTMLFrontEnd or HTML5 FrontEnd). It is written entirely in HTML/HTML5
The android application you see in the video is custom made too. It's written in java. It communicates with the FrontEnd using the standard serial over Bluetooth protocol. The frontEnd sends a message to the circuit board over the serial (or USB) port which is connected and the microcontroller sends the appropriate keystroke.
You can map the buttons to the keys you want, by editing the [CONTROLS] section in the settings.ini files of the emulators (and main interface) of HTML5 FE