Java 金普特';s getPollData()不起作用

Java 金普特';s getPollData()不起作用,java,keyboard,mouse,jinput,Java,Keyboard,Mouse,Jinput,我目前正在处理一些有关双鼠标输入的问题。我查了好几家图书馆,认为JInput最好。虽然我能够得到一份所有插入笔记本电脑的设备的列表,但我无法检索任何数据。以下代码仅生成0: public static void main(String[] args) { Controller mouse1 = null; Controller[] cs = ControllerEnvironment.getDefaultEnvironment().getControllers(); f

我目前正在处理一些有关双鼠标输入的问题。我查了好几家图书馆,认为JInput最好。虽然我能够得到一份所有插入笔记本电脑的设备的列表,但我无法检索任何数据。以下代码仅生成0:

public static void main(String[] args) {

    Controller mouse1 = null;
    Controller[] cs = ControllerEnvironment.getDefaultEnvironment().getControllers();
    for(int i = 0; i < cs.length; i++) {
        if(cs[i].getType() == Type.MOUSE) {
            mouse1 = cs[i];
        }
    }
    mouse1.poll();
    Component[] comps = mouse1.getComponents();
    while(true) {
        mouse1.poll();
        for(int i = 0; i < comps.length; i++) {
            System.out.print(comps[i].getName() + ": ");
            System.out.println(comps[i].getPollData());
        }
    }
}
publicstaticvoidmain(字符串[]args){
控制器mouse1=null;
控制器[]cs=ControllerEnvironment.getDefaultEnvironment().getControllers();
对于(int i=0;i
我也试着用同样的问题来输入键盘。我可以获取密钥的数量,但无法访问有关密钥状态的任何信息。 我希望有人知道如何解决这个问题,或者知道是什么导致了这个问题


提前谢谢你,aquatyp。

我知道这已经快一年了,但为了像我一样通过谷歌找到它的人的利益

确保已初始化OpenGL显示(注意if语句只是为了消除大量消息):

import net.java.games.input.Controller;
导入net.java.games.input.ControllerEnvironment;
导入net.java.games.input.Mouse;
导入net.java.games.input.RawInputEnvironmentPlugin;
导入org.lwjgl.LWJGLException;
导入org.lwjgl.opengl.Display;
导入org.lwjgl.opengl.DisplayMode;
公共班机
{
公共静态void main(字符串[]args)
{
尝试
{
Display.setDisplayMode(新显示模式(800600));
Display.create();
}
捕获(LWJGLEXE)
{
e、 printStackTrace();
系统出口(0);
}
RawInputEnvironmentPlugin rep=新的RawInputEnvironmentPlugin();
小鼠;
StringBuilder sb=新的StringBuilder();
而(!Display.isCloseRequested())
{
int i=0;
对于(控制器:ControllerEnvironment.getDefaultEnvironment().getControllers())
{
if(controller.getType()==controller.Type.MOUSE)
{
//System.out.println(controller.getName()+“|”+controller.getType());
鼠标=(鼠标)控制器;
mouse.poll();
i+=1;
if(mouse.getX().getPollData()>0.0f | | mouse.getY().getPollData()>0.0f)
{
某人加上(“[”);
某人(i);
某人追加(“]X=”);
sb.append(mouse.getX().getPollData());
某人附加(“Y=”);
sb.append(mouse.getY().getPollData());
System.out.println(sb.toString());
sb.设定长度(0);
}
}
}
Display.update();
}
}
}