summaryrefslogtreecommitdiff
path: root/src/device/Driver.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/device/Driver.java')
-rw-r--r--src/device/Driver.java184
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