Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LWJGL-捕获键盘事件时出现问题_Java_Lwjgl - Fatal编程技术网

Java LWJGL-捕获键盘事件时出现问题

Java LWJGL-捕获键盘事件时出现问题,java,lwjgl,Java,Lwjgl,我对LWJGL键盘模块有一个问题。我需要检测按键,我知道怎么做。但是,当我按下键时,LWJGL返回2-3个事件。例如,如果我按下'A',LWJGL调用3个事件,我得到'AAA'。我怎么修理它?这是我的密码: Keyboard.enableRepeatEvents(true); if(Keyboard.getEventKeyState()){ if(Keyboard.getEventKey() == Keyboard.KEY_BACK){ set.setVa

我对LWJGL键盘模块有一个问题。我需要检测按键,我知道怎么做。但是,当我按下键时,LWJGL返回2-3个事件。例如,如果我按下'A',LWJGL调用3个事件,我得到'AAA'。我怎么修理它?这是我的密码:

Keyboard.enableRepeatEvents(true);
if(Keyboard.getEventKeyState()){
        if(Keyboard.getEventKey() == Keyboard.KEY_BACK){
            set.setValText(""); // Clean text
        }else{
            set.setValText(set.getFieldText() + Keyboard.getEventCharacter()); // Add event symbol to my string
        }
    }

    Keyboard.next();

我想发表评论,但没有足够的声誉,所以我张贴作为一个答案

基本上,当按下一个键时,会触发多个事件,例如:向下键、向上键、按下键、释放键

(我不太熟悉,只是在谷歌上搜索了一会儿),按键时至少有两个事件:

#define GLFW_RELEASE   0
按键或鼠标按钮已释放

#define GLFW_PRESS   1
按键或鼠标按钮已按下

#define GLFW_REPEAT   2

按住该键直到其重复。

您可以尝试仅使用键释放事件,或使用布尔值存储该键是否已按下且可以丢弃。我不太了解LWJGM,也不知道是否有任何方法可以在内部修复它。