So Puck.js can do BLE HID directly - once it's set up you just pair it with your PC/Phone/etc and it'll act as a keyboard - you could make your joypad do arrow keys, or WSAD.
Note: right now Windows HID needs the device to be bondable - which Puck.js isn't at the moment - but it should work on most other platforms.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
For HID, I meant this: http://www.espruino.com/Puck.js+Keyboard
So Puck.js can do BLE HID directly - once it's set up you just pair it with your PC/Phone/etc and it'll act as a keyboard - you could make your joypad do arrow keys, or WSAD.
Note: right now Windows HID needs the device to be bondable - which Puck.js isn't at the moment - but it should work on most other platforms.
Hope that helps!