在 Java 控制台检测 Ctrl 和 Alt 键

Detect Ctrl and Alt keys at a Java console

我目前正在使用 JLine (http://jline.sourceforge.net/) 从 Java 的控制台一次读取一个字符。

Terminal terminal = TerminalFactory.getFlavor(TerminalFactory.Flavor.WINDOWS);
terminal.init();
terminal.setEchoEnabled(false);

int i;
InputStream in = terminal.wrapInIfNeeded(System.in);

i = in.read();

如何检测在调用 in.read(); 时是否按下了 CtrlAlt 键?如果按下 CtrlAlt 键,我无法从 javadocs 或任何其他来源弄清楚如何阅读。

您需要获取可以使用本机库完成的键盘扫描码。参见:How can I get the keyboard scan code in java? Specifically: https://github.com/kwhat/jnativehook