Comprei um leitor de cartão magnético de US $ 10 barato on-line. Ele se identifica como um teclado genérico e, como tal, deve funcionar em qualquer coisa que aceite teclados USB. Ele funciona muito bem no Windows, mas no Linux e em programas Java ele produz uma saída aleatória que consiste em vários símbolos ASCII e até mesmo seqüências de controle que interferem no brilho da tela. É completamente aleatório, diferente toda vez que eu roubo o cartão. Novamente, em aplicativos nativos do Windows, não há problema e o leitor funciona sempre. O que está acontecendo? Eu quero usá-lo com um computador Linux para um terminal de cliente.
Por exemplo, eu tenho um cartão de identificação que deve dar isso toda vez que eu passo (e ele faz no Windows): ;00548757802?
Em um aplicativo Java, isso é fornecido:
;00Q48σ57802?
_≥0548!5I8◘R?
_005µ875780(?
≥05487♥*802?
;≥05487578ⁿ5
○00▼48757802♥
;┤0548757µ0⌂?
0054875♣d82?
;≥05487I↑å8?
;00548757802?
♣00548*→-♣02?
No Linux, parece não produzir nada (ou seja, Leafpad), mas se passar em um terminal, o leitor de cartão exibe teclas especiais (Ctrl, Alt, setas e combinações, com algumas teclas regulares no mix) .