Читатель кредитной карты дает случайный вывод

0

Я купил дешевый считыватель магнитных карт за 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, стрелки и их комбинации, с несколькими обычными клавишами в миксе).

Skylar Ittner
источник
Один и тот же код Java ведет себя по-разному? Это больше похоже на проблему с кодом Java.
Ramhound
@ Ramhound Нет, Java - это просто аномалия. Все остальные программы, работающие в Windows, хороши, но не Java. На линуксе ничего не работает.
Skylar Ittner
Ваша проблема не ясна. Непонятно, как на выходе устройства будет регулироваться яркость устройства отображения.
Ramhound
@Ramhound Идентифицируется как клавиатура, а иногда отправляет сочетание клавиш (?) Для изменения яркости экрана.
Skylar Ittner