Hallo Leute 
Ich habe mir eine Fernbedienung für den PC angeschafft, nun habe ich endlich eine Bibliothek für den Zugriff auf mein Usb-Gerät gefunden("javax.usb"). Das Problem ist nur, drücke ich die oberen Tasten meiner Fernbedienung (Video-,Picture,Radio-,Close-,DVD-Taste) dann lieferet mir mein Programm ein byte[] array mit Werten. Drücke ich aber die unteren Tasten(Mouse-,Linksklick-;´,Rechtsklick-,Stop-etc. Taste) dann bekomme ich immer nur ein byte[] array mit folgendem Inhalt ("0000 0000"). An was kannd as liegen?Programmiertechnisch kann es ja nicht sein, da ich ja bei anderen Tasten die Werte geliefert bekomm....
Mein Code:
Meine Fernbedienung:
http://www.amazon.de/Daffodil-PCR40...d=1399119592&sr=8-2&keywords=Pc+Fernbedienung
Vielen Dank für eure Antworten
-GhostfaceChilla-
Ich habe mir eine Fernbedienung für den PC angeschafft, nun habe ich endlich eine Bibliothek für den Zugriff auf mein Usb-Gerät gefunden("javax.usb"). Das Problem ist nur, drücke ich die oberen Tasten meiner Fernbedienung (Video-,Picture,Radio-,Close-,DVD-Taste) dann lieferet mir mein Programm ein byte[] array mit Werten. Drücke ich aber die unteren Tasten(Mouse-,Linksklick-;´,Rechtsklick-,Stop-etc. Taste) dann bekomme ich immer nur ein byte[] array mit folgendem Inhalt ("0000 0000"). An was kannd as liegen?Programmiertechnisch kann es ja nicht sein, da ich ja bei anderen Tasten die Werte geliefert bekomm....
Mein Code:
Java:
UsbServices usbServ = UsbHostManager.getUsbServices();
UsbHub hub = usbServ.getRootUsbHub();
List<UsbPort> ports = hub.getUsbPorts();
for(UsbPort p : ports){
System.out.println(p);
}
List<UsbDevice> list = hub.getAttachedUsbDevices();
UsbDevice device = null;
for(UsbDevice dev : list){
if(dev.getUsbDeviceDescriptor().idVendor() == (short)0x0755 &&
dev.getUsbDeviceDescriptor().idProduct() == (short)0x2026){
device = dev;
System.out.println("Found the port!!");
}else{
// System.out.println("Not the port!");
}
}
UsbConfiguration config = device.getActiveUsbConfiguration();
UsbInterface inter = config.getUsbInterface((byte)0);
inter.claim();
//List<UsbEndpoint> li = inter.getUsbEndpoints();
//System.out.println(li.get(0).getUsbEndpointDescriptor().bEndpointAddress());
UsbEndpoint end = inter.getUsbEndpoint((byte)0x81);
UsbPipe pipe = end.getUsbPipe();
pipe.open();
if(pipe.isOpen()){
System.out.println("Pipe opened!");
pipe.addUsbPipeListener(new UsbPipeListener() {
@Override
public void errorEventOccurred(UsbPipeErrorEvent upee) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void dataEventOccurred(UsbPipeDataEvent upde) {
System.out.println("Data transfer...");
byte[] rec = upde.getData();
for(byte b: rec){
System.out.print(b);
}
}
});
byte[] buffer = new byte[8];
int recived = pipe.syncSubmit(buffer);
}else{
System.out.println("Pipe closed!");
}
pipe.close();
Meine Fernbedienung:
http://www.amazon.de/Daffodil-PCR40...d=1399119592&sr=8-2&keywords=Pc+Fernbedienung
Vielen Dank für eure Antworten
-GhostfaceChilla-