LWJGL键盘和鼠标检测按

问题描述:

我有以下代码:LWJGL键盘和鼠标检测按

private int getKeyboardKeyPressed() { 
    while (Keyboard.next()) { 
     if (Keyboard.getEventKeyState()) { 
      int key = Keyboard.getEventKey(); 
      if (key == Keyboard.KEY_ESCAPE) 
       return -1; 

      return key; 
     } 
    } 
    return -1; 
} 

private int getMouseKeyPressed() { 
    return Mouse.getEventButton(); 
} 

我使用的摆动按钮,让用户输入按键(按下按钮,然后按需要的键)。

这给了我两个问题:第一个鼠标总是返回0,但是文档说,如果没有按下任何东西,它应该返回-1。 我想这可能是因为摇摆的按钮,也许,但建立一个新的线程,首先做一个睡眠也不起作用,平原丢弃第一个按下工作。

其次,键盘检测似乎不起作用。它没有检测到任何印刷机。

显然LWJGL需要显示激活,并且无法通过活动的Swing窗口捕捉按键。

+0

这很有趣。您是否介意发布更为正式的描述,以说明为什么LWJGL需要使显示器处于活动状态,或者为您找到此信息的位置提供文档资料? – 2017-07-07 12:09:34

+0

这真的很久以前,所以这就是我所能记得的。我有一个设置弹出窗口,并抓住了按键/鼠标等,并确定哪个按键被按下(按下按钮设置“动作” - >然后按下一个键)。 LibGDX没有捕获到键/事件,因为弹出窗口有焦点。我最终解决了这个问题,弹出窗口完好无损,但不能完全记得。我认为如果LWJGL窗口没有最小化,它可能就足够了。 – RobotRock 2017-07-07 16:24:23

+0

好的,谢谢你试图回忆!对不起,我没有注意到发布日期很久以前。 – 2017-07-07 16:27:37