Оригинальный вопрос, кажется, не ответил. Предложенный метод определяет состояние ключа блокировки, например CapsLock, ScrollLock и т. Д. Таким образом, он не будет работать для Alt нажатого состояния.
Рассмотрим следующий код:
com.sun.jna.platform.KeyboardUtils.isPressed(java.awt.event.KeyEvent.VK_ALT);
Единственная проблема заключается в том, что этот класс является внутренним классом JDK Sun и вряд ли будет доступен в любой другой JVM. Зависит от вашего проекта, это может или не может быть приемлемым.
Внутренне он вызывает User32.DLL в Windows:
User32.INSTANCE.GetAsyncKeyState(...)