gpt4 book ai didi

java - KeyEvent.VK_* 的最大可能值是多少

转载 作者:行者123 更新时间:2023-12-02 03:31:38 26 4
gpt4 key购买 nike

我想要一个包含所有 VK 值的数组,以便我可以询问是否按下了某个键

public class Input implements KeyListener{

boolean[] keyPressed = new boolean [1000];

@Override
public void keyPressed(KeyEvent arg0) {
keyPressed[arg0.getKeyCode()] = true;
}

@Override
public void keyReleased(KeyEvent arg0) {
keyPressed[ arg0.getKeyCode() ] = false;
}

@Override
public void keyTyped(KeyEvent arg0) {}

}

谁能告诉我——最大和最小 VK 值是多少?

我不希望 Oracle 添加新的 VK 值并有一天破坏我的代码。

是否有“limits.h”样式的方式可以动态设置它?

最佳答案

使用KeyEvent:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/awt/event/KeyEvent.java

可实现的最高值是(使用 unicode 表示):

public static final char CHAR_UNDEFINED   = 0xFFFF;

或十进制 65535。

这是未定义的非 unicode 字符的未映射值。

有效事件的最高定义值为:

public static final int VK_BEGIN                    = 0xFF58;

或十进制 65368。

如果您愿意删除一些特殊功能,则最高映射值是:

public static final int VK_CONTEXT_MENU             = 0x020D;

或十进制 525。

最低定义值为:

public static final int VK_UNDEFINED      = 0x0;

或十进制 0。

显然,真实的最大值和真实的最小值无法通过键盘实现,但它们可以作为合理的硬编码限制。 VK_CANCEL 位于 0x03,可能是实际可用的最低映射值。

关于java - KeyEvent.VK_* 的最大可能值是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38021863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com