diff options
Diffstat (limited to 'src/device/Driver.java')
| -rw-r--r-- | src/device/Driver.java | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/src/device/Driver.java b/src/device/Driver.java deleted file mode 100644 index a099d95..0000000 --- a/src/device/Driver.java +++ /dev/null @@ -1,184 +0,0 @@ -package org.manzerbredes.open_klm.device; - -import java.io.IOException; - -import com.codeminders.hidapi.HIDDevice; -import com.codeminders.hidapi.HIDManager; - -/** - * - * Driver to communicate with the keyboard device - * using HIDAPI. - * - * @author Manzerbredes - * - */ -public class Driver{ - - /** - * Defined Region Helper - * - * @author Manzerbredes - * - */ - public enum Region{ - LEFT(1), MIDDLE(2), RIGHT(3); - - private int current; - - Region(int current){ - this.current=current; - } - - public int intValue(){ - return this.current; - } - } - - /** - * Defined Color Helper - * - * @author Manzerbredes - * - */ - public enum Color{ - OFF(0),RED(1),ORANGE(2),YELLOW(3),GREEN(4),SKY(5), BLUE(6),PURPLE(7),WHITE(8); - - private int current; - - Color(int current){ - this.current=current; - } - - public int intValue(){ - return this.current; - } - } - - /** - * Defined Level Helper - * - * @author Manzerbredes - * - */ - public enum Intensity{ - HIGH(0), MEDIUM(1), LOW(2), LIGHT(3); - - private int current; - - Intensity(int current){ - this.current=current; - } - - public int intValue(){ - return this.current; - } - } - - /** - * Defined Mode Helper - * - * @author Manzerbredes - * - */ - public enum Mode{ - NORMAL(1), GAMING(2), BREATHE(3), DEMO(4), WAVE(5); - - private int current; - - Mode(int current){ - this.current=current; - } - - public int intValue(){ - return this.current; - } - } - - /** - * Device entry - */ - HIDDevice device; - - - /** - * Init driver and HIDAPI library - * - * @throws InstantiationException - */ - public Driver() throws InstantiationException{ - // Init HIDAPI Library - com.codeminders.hidapi.ClassPathLibraryLoader.loadNativeHIDLibrary(); - - // Try not bind the device - try { - HIDManager man=HIDManager.getInstance(); - this.device=man.openById(0x1770, 0xff00, null); - if(this.device==null) - throw new Exception(); - } - catch(Exception e){ - throw new InstantiationException("Failed to instanciate driver. Device not found or permission denied (try as root)"); - } - - } - - - /** - * Build a byte[] report - * - * @param a - * @param b - * @param c - * @param d - * @param e - * @param f - * @param g - * @param h - * @return - */ - private byte[] getReport(int a, int b, int c, int d, int e, int f, int g, int h){ - byte[] message = new byte[8]; - message[0] = (byte) a; - message[1] = (byte) b; - message[2] = (byte) c; - message[3] = (byte) d; - message[4] = (byte) e; - message[5] = (byte) f; - message[6] = (byte) g; - message[7] = (byte) h; - return message; - } - - - /** - * Set Color of region - * - * @param region Region to apply - * @param color Color to apply - * @param intensity Intensity wanted - */ - public void setColor(Region region, Color color, Intensity intensity){ - try { - this.device.sendFeatureReport(this.getReport(1,2,66,region.intValue(),color.intValue(),intensity.intValue(),0,236)); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - /** - * Commit change - * - * @param mode Mode wanted - */ - public void commit(Mode mode){ - try { - this.device.sendFeatureReport(this.getReport(1,2,65,mode.intValue(),0,0,0,236)); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - -}
\ No newline at end of file |
