У меня есть универсальный считыватель кредитных карт, который определяется как клавиатура USB. Я проверил это, просто используя текстовое представление, чтобы захватить текст.
Мне было интересно, есть ли лучшее, что можно реализовать, чтобы вам не требовалось активное текстовое поле (например, захват общих событий клавиатуры через буферы потоков ввода консоли, как, например, в настольной версии устройства чтения карт) :
Console console = System.console();
String inputData = new String (console.readPassword());