Проблема поддержки консоли в Java хорошо известна, я не уверен, что это выполнимо.
Это изначально было невозможно с System.in, так как он работал на основе строк.
В конце концов Sun добавила класс java.io.Console.
Вот его JavaDocs:
http://java.sun.com/javase/6/docs/api/java/io/Console.html
Как только вы получите консоль (я думаю, из System.console), вы можете получить считыватель и, возможно, прочитать символы из него, но я не уверен, включает ли он ключи.
Как правило, вы должны использовать Swing или AWT, если вам нужен доступ к клавиатуре, что глупо.
Начиная с 2007 года, об этом был запрос функции: здесь