Você terá que obter os mapas de teclado e usá-lo para traduzir os códigos que você leu do descritor de arquivo para os caracteres ASCII que você deseja registrar.
No Ubuntu, você pode obter o mapa de chaves com o comando dumpkeys
(run as root) ou o comando xmodmap -pke
. Por alguma razão, eu ainda não entendi muito bem, a saída de xmodmap
parece ter um deslocamento. Você pode corrigir esse deslocamento facilmente, mas não estou ciente de qual é a razão por trás disso. Talvez tenha a ver com o xmodmap
sendo originalmente escrito para a Sun Microsystems e o X11 usando códigos de teclas diferentes (como parece ser sugerido aqui <