package com.github.signed.sandbox.multiinput;
import com.codeminders.hidapi.HIDDevice;
import com.codeminders.hidapi.HIDDeviceInfo;
import com.codeminders.hidapi.HIDManager;
import java.io.IOException;
public class Usb {
public static void main(String[] args) throws IOException {
HIDManager manager = null;
try {
ClassPathLibraryLoader.loadLinux64Bit();
manager = HIDManager.getInstance();
HIDDeviceInfo[] hidDeviceInfos = manager.listDevices();
for (HIDDeviceInfo hidDeviceInfo : hidDeviceInfos) {
HIDDevice device = manager.openByPath(hidDeviceInfo.getPath());
//usage page =1 (generic desktop device) and usage = 6 (keyboard, and 7 is keypad), this is keyboard
if (hidDeviceInfo.getUsage_page() == 1 && hidDeviceInfo.getUsage() == 6) {
System.out.println(hidDeviceInfo.getPath());
System.out.println(hidDeviceInfo.getUsage_page());
System.out.println(hidDeviceInfo.getManufacturer_string());
} else {
int usage_page = hidDeviceInfo.getUsage_page();
System.out.println(hidDeviceInfo.getPath());
System.out.println("usage page: " + usage_page);
System.out.println("usage : " + hidDeviceInfo.getUsage());
}
}
} finally {
if (null != manager) {
manager.release();
}
}
}
}