Você pode desabilitar o teclado de outras aplicações com "xinput float" ou "xinput --disable" ou desabilitando-o no xorg.conf (desligue automaticamente os dispositivos de adição e configure os dispositivos desejados)
Em seguida, você pode escrever um aplicativo que leia eventos do teclado flutuante ou de / dev / input / eventX e envie eventos do gamepad para / dev / uinput.
O novo dispositivo de entrada de dados é criado com um ioctl para / dev / uinput e eventos enviados escrevendo estruturas uinput_user_dev para / dev / uinput. Existe uma biblioteca python para isso: link
Uma rápida prova de conceito poderia ser escrita pela saída de pipetagem de "xinput test-xi2 number" para um programa de entrada de dados em python.