Que tal usar um controle de Playstation 3 no seu Android, com total funcionalidade de botões, inclusive os analógicos? Pois isso é possível com o Sixaxis Controller, um aplicativo para Android (necessita root) que faz a configuração e mapeamento dos comandos no seu Android.
Antes de você sair correndo para comprar um controle de videogame é preciso verificar a compatibilidade do programa com o seu smartphone ou tablet, pois nem sempre o Sixaxis é compatível. Para verificar, faça o download do Sixaxis Compatibility Checker [GRÁTIS], ele é gratuito e possibilita saber se seu smartphone será compatível com o aplicativo e com os controles.
Encontrei também um vídeo tutorial no Youtube, créditos no vídeo.
Veja outro tutorial, agora ensinando como configurar o controle nos jogos que não tenham nenhuma configuração para controles joystick físicos.
http://www.youtube.com/watch?v=Fgo9gRVu7q4
O Sixaxis Controller é um aplicativo pago (R$ 3,43) Caso você deseja muito fazer essa artimanha e gosta de jogar no celular, não custa nada, aliás custa é R$ 3,43, mas vale lembrar que pagando pela aplicativo, você está incentivando o projeto para que mais aparelhos sejam compatíveis.
Os créditos dos autores dos tutorial estão nos respectivos vídeos.
Aqui eu uso algo diferente, uso o próprio smart como controle no pc, pra ficar jogando nos meus emuladores 🙂