Hand is a Game Controller button mapping service:

 - First register your game <name>.
 - Add <action> tags to you game, can be JUMP, FIRE, UP etc.
 - Then upload the mapping together with the controller vendor/product* <id>.
 - When the player starts the game you query http://hand.rupy.se/<name>/<id>,
   the service will return a <action>=<button> list in the response.

If your user modifies the button map, you can upload it, but you need to handle 
the potential spam/hacking part by attaching the associated <key>, so preferably 
from your own server.

*The <id> needs to be in the linux format, so f.ex. RetroUSB.com RetroPad should be:
f0000003 and not 00f00300 like windows reports.