Java 不产生正确的 AltGr 键事件

标签 java events keyboard

我在我的 Java 应用程序中按下 AltGr 键,但我没有收到键码为 VK_ALT_GRAPH 的 KeyEvent,而是收到了两个事件。第一个键码为 VK_CONTROL,第二个键码为 VK_ALT。

这是正确的行为吗?

在 Windows 7 上使用 Java 7。可以使用在 http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html 上找到的演示应用程序进行复制

当我按下 AltGr 时,它报告:

KEY PRESSED:
  key code = 17 (Ctrl)
  extended modifiers = 128 (Ctrl)
  action key? NO
  key location: left
KEY PRESSED:
  key code = 18 (Alt)
  extended modifiers = 640 (Ctrl+Alt)
  action key? NO
  key location: right
KEY RELEASED:
  key code = 17 (Ctrl)
  extended modifiers = 512 (Alt)
  action key? NO
  key location: left
KEY RELEASED:
  key code = 18 (Alt)
  extended modifiers = 0 (no extended modifiers)
  action key? NO
  key location: right

最佳答案

在windows中,AltGrCtrl+Alt是同义词。在某些区域设置(键盘布局?,它们都被视为 Ctrl+Alt,在其他区域,它们都被视为 AltGr。但是,我不完全确定。

参见 http://msdn.microsoft.com/en-us/library/windows/desktop/aa511502.aspx并使用 Ctrl-F 找到 AltGr。

关于Java 不产生正确的 AltGr 键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8795298/

相关文章:

javascript - 查看 jQuery 中哪些事件链接到元素

java - 从 Java 方法返回时,BigDecimal 不保留实际值

java - 当我编译它时,它显示有关 Product.java 的错误。但该文件正在工作并显示

java - 将@Produces 与@Qualifier 一起使用

带有事件对象的 iOS 事件总线库?

全屏模式下的 Android 3.1 软键盘

Java GUI 垂直对齐

java - 如何在事件分派(dispatch)线程中等待任务完成然后继续?

react-native - 打开键盘时 ScrollView (React Native/Expo)

ios - 使用swift在UITableView中有UITextFields时如何管理键盘?