Я купил дешевый считыватель магнитных карт за 10 долларов онлайн. Он идентифицируется как универсальная клавиатура и поэтому должен работать на любом устройстве, поддерживающем USB-клавиатуры. Он отлично работает в Windows, но в Linux и в программах на Java он дает случайный вывод, состоящий из различных символов ASCII и даже управляющих последовательностей, которые портят яркость экрана. Это совершенно случайно, каждый раз меняя карту. Опять же, на родных приложениях Windows проблем нет, и ридер работает каждый раз. Что здесь происходит? Я хочу использовать его с компьютером Linux для клиентского терминала.
Например, у меня есть удостоверение личности, которое должно выдавать это каждый раз, когда я провожу пальцем (и это происходит в Windows): ;00548757802?
В приложении Java это дает:
;00Q48σ57802?
_≥0548!5I8◘R?
_005µ875780(?
≥05487♥*802?
;≥05487578ⁿ5
○00▼48757802♥
;┤0548757µ0⌂?
0054875♣d82?
;≥05487I↑å8?
;00548757802?
♣00548*→-♣02?
В Linux он, по-видимому, ничего не выводит (т.е. Leafpad), но, если его пролистать в терминале, устройство чтения карт выдаст специальные клавиши (Ctrl, Alt, стрелки и их комбинации, с несколькими обычными клавишами в миксе).