当前位置: 首页 > 知识库问答 >
问题:

LWJGL-捕获键盘事件的问题

洪飞驰
2023-03-14

我有一个问题与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();

共有1个答案

全鸿晖
2023-03-14

我想发表评论,但没有足够的声誉这样做,所以我发布作为一个答案

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

根据LWJGM的文档(我不太熟悉,只是在谷歌上搜索了一会儿),按下一个键至少有两个事件:

#define GLFW_RELEASE   0

按键或鼠标按钮已释放。

#define GLFW_PRESS   1

按键或鼠标按钮已按下。

#define GLFW_REPEAT   2

钥匙被按住,直到它重复。

 类似资料:
  • 问题内容: 我试图捕获键盘事件。例如,我想从头开始挖掘键盘记录程序。经过2小时的战斗,我发现了以下内容 但是当我试图 它什么也没有产生 经过更多搜索之后,现在我正在考虑Xorg中的某些内容可能会阻止它。 那么还有更多信息吗?在说的最后,我如何从该文件读取输入?还是有其他捕获键盘事件的方式? 问题答案: 谢谢您提供的线索对我帮助很大! “ kbd”是用于键盘设备的后缀(我连接了3个键盘)。 您的错误

  • 本文向大家介绍js捕捉键盘事件和按键键值的方法,包括了js捕捉键盘事件和按键键值的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: js键盘键值 以上就是小编为大家带来的js捕捉键盘事件和按键键值的方法全部内容了,希望大家多多支持呐喊教程~

  • 键盘事件的种类 键盘事件由用户击打键盘触发,主要有keydown、keypress、keyup三个事件,它们都继承了KeyboardEvent接口。 keydown:按下键盘时触发。 keypress:按下有值的键时触发,即按下 Ctrl、Alt、Shift、Meta 这样无值的键,这个事件不会触发。对于有值的键,按下时先触发keydown事件,再触发这个事件。 keyup:松开键盘时触发该事件。

  • 输入框接口 用于弹起输入框,供用户输入文字。可以通过注册监听函数进行监听用户的输入,监听完毕请及时调用注销方法,取消监听。 BK.UI.showKeyboard(Object) 显示输入框,弹出键盘 手Q版本:7.6.5 函数参数Object: 属性名 类型 是否必填 说明 deaultText string 否 默认要展示的字符串 complete Function 否 接口调用完成回调 示例:

  • 对于桌面游戏,一般需要通过键盘做一些游戏内的控制,这时你就需要监听键盘事件。Cocos2d-x 支持键盘事件,就像上节介绍的触摸事件一样。 创建键盘事件监听器: // creating a keyboard event listener auto listener = EventListenerKeyboard::create(); listener->onKeyPressed = CC_CALL

  • 与响应鼠标事件相比,响应 Canvas 键盘事件没有那么直接,因为 Canvas 本身并不支持键盘事件的响应。我们需要耍一点小手段——在 Canvas 上添加一个支持键盘事件的其他对象。 本节的例程将在 7.2 节例程的基础上添加键盘响应事件。 html 部分变更的代码如下: //canvas_mk_event.html <canvas tabindex="0"></canvas>