diff --git a/pom.xml b/pom.xml
index fd25a21..104a0b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
loper
LogiLedus
- 1.2-SNAPSHOT
+ 1.3-SNAPSHOT
diff --git a/src/main/java/logiledus/MainFx.java b/src/main/java/logiledus/MainFx.java
index 796454e..e0833f6 100644
--- a/src/main/java/logiledus/MainFx.java
+++ b/src/main/java/logiledus/MainFx.java
@@ -16,7 +16,7 @@ import java.util.Locale;
import java.util.ResourceBundle;
public class MainFx extends Application {
- public static final String appVersion = "v1.2";
+ public static final String appVersion = "v1.3";
private static boolean traySupport = true;
diff --git a/src/main/java/logiledus/USB/EffectsThread.java b/src/main/java/logiledus/USB/EffectsThread.java
index 26de749..8a5baf8 100644
--- a/src/main/java/logiledus/USB/EffectsThread.java
+++ b/src/main/java/logiledus/USB/EffectsThread.java
@@ -9,6 +9,11 @@ public class EffectsThread extends LoThread {
private byte[] command;
+ private byte[] commit = {
+ 0x11, (byte) 0xff, 0x03, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00
+ };
+
/**
* Used to set effects
* @param effectData : set of rules, always not empty and not null
@@ -61,8 +66,10 @@ public class EffectsThread extends LoThread {
handler = usbConnect.getHandlerKbrd();
- if (! write(command))
- MessagesConsumer.getInstance().inform("Complete!");
+ if (! write(command)){
+ if (! write(commit))
+ MessagesConsumer.getInstance().inform("Complete!");
+ }
usbConnect.close();
return null;
diff --git a/src/main/java/logiledus/USB/LoThread.java b/src/main/java/logiledus/USB/LoThread.java
index b0e80d8..f2fcc28 100644
--- a/src/main/java/logiledus/USB/LoThread.java
+++ b/src/main/java/logiledus/USB/LoThread.java
@@ -2,6 +2,7 @@ package logiledus.USB;
import javafx.concurrent.Task;
import logiledus.MessagesConsumer;
+import logiledus.RainbowHexDump;
import org.usb4java.DeviceHandle;
import org.usb4java.LibUsb;
@@ -37,11 +38,12 @@ abstract class LoThread extends Task {
IntBuffer readBufTrans = IntBuffer.allocate(1);
LibUsb.interruptTransfer(handler, (byte) 0x82, readBuffer, readBufTrans, 1000);
/*
+ readBufTrans.rewind();
readBuffer.rewind();
- byte[] arr = new byte[readBuffer.get()];
+ byte[] arr = new byte[readBufTrans.get()];
readBuffer.get(arr);
RainbowHexDump.hexDumpUTF8(arr);
- */
+ //*/
return false;
}
}
diff --git a/src/main/java/logiledus/USB/UsbConnect.java b/src/main/java/logiledus/USB/UsbConnect.java
index 007f5d5..3febc49 100644
--- a/src/main/java/logiledus/USB/UsbConnect.java
+++ b/src/main/java/logiledus/USB/UsbConnect.java
@@ -10,7 +10,7 @@ public class UsbConnect {
private DeviceHandle handlerKbrd;
private boolean connected = false;
-
+
public UsbConnect(){
MessagesConsumer mc = MessagesConsumer.getInstance();
@@ -67,17 +67,8 @@ public class UsbConnect {
LibUsb.freeDeviceList(deviceList, true);
- // Check if this device uses kernel driver and detach if possible:
- result = LibUsb.kernelDriverActive(handlerKbrd, DEFAULT_INTERFACE);
- if (result == 1) { // used by kernel
- if (LibUsb.detachKernelDriver(handlerKbrd, DEFAULT_INTERFACE) != LibUsb.SUCCESS) {
- mc.inform("Detach kernel failed: " + UsbErrorCodes.getErrCode(result));
- close();
- return;
- }
- }
- else if (result != LibUsb.SUCCESS)
- mc.inform("Can't proceed with libusb driver : "+UsbErrorCodes.getErrCode(result));
+ // I don't really care what is resulting value for this
+ LibUsb.setAutoDetachKernelDriver(handlerKbrd, true);
// Claim interface
result = LibUsb.claimInterface(handlerKbrd, DEFAULT_INTERFACE);
diff --git a/src/main/resources/dark.css b/src/main/resources/dark.css
index 3b1c62c..a1782d1 100644
--- a/src/main/resources/dark.css
+++ b/src/main/resources/dark.css
@@ -216,24 +216,38 @@
.tab-pane .tab:hover SVGPath{
-fx-fill: #d0d0d0;
}
+/*
.tab-pane .tab{
- -fx-background-color: #3c3f41; /* #2b2b2b; */
+ -fx-background-color: #3c3f41;
-fx-focus-color: transparent;
-fx-faint-focus-color: transparent;
-fx-border-radius: 0 0 0 0;
-fx-border-width: 0 0 3 0;
-fx-border-color: #2b2b2b;
}
-
.tab-pane .tab:selected{
- -fx-background-color: #3c3f41;/*#2b2b2b; */
+
+ -fx-background-color: #3c3f41;
-fx-focus-color: transparent;
-fx-faint-focus-color: transparent;
-fx-border-radius: 0 0 0 0;
-fx-border-width: 0 0 3 0;
- -fx-border-color: #40b9bb; /* #289de8; */
+ -fx-border-color: #40b9bb;
}
+*/
+.tab-pane .tab{
+ -fx-background-color: #3c3f41;
+ -fx-background-radius: 2;
+ -fx-focus-color: transparent;
+ -fx-faint-focus-color: transparent;
+}
+.tab-pane .tab:selected{
+ -fx-background-color: #40b9bb;
+ -fx-background-radius: 2;
+ -fx-focus-color: transparent;
+ -fx-faint-focus-color: transparent;
+}
.tab-pane > .tab-header-area {
-fx-background-insets: 0.0;
-fx-padding: 5 5 5 5;
diff --git a/src/main/resources/light.css b/src/main/resources/light.css
index 005a434..66a6483 100644
--- a/src/main/resources/light.css
+++ b/src/main/resources/light.css
@@ -205,11 +205,12 @@
-fx-fill: #2c2c2c;
}
.tab-pane .tab:selected SVGPath, .tab-pane .tab:selected:hover SVGPath{
- -fx-fill: #141414;
+ -fx-fill: #ebebeb;
}
.tab-pane .tab:hover SVGPath{
-fx-fill: #2b2b2b;
}
+/*
.tab-pane .tab{
-fx-background-color: #fefefe;
-fx-focus-color: transparent;
@@ -225,9 +226,22 @@
-fx-faint-focus-color: transparent;
-fx-border-radius: 0 0 0 0;
-fx-border-width: 0 0 3 0;
- -fx-border-color: #40b9bb; /* #289de8; */
+ -fx-border-color: #40b9bb;
+}
+*/
+.tab-pane .tab{
+ -fx-background-color: #fefefe;
+ -fx-background-radius: 2;
+ -fx-focus-color: transparent;
+ -fx-faint-focus-color: transparent;
}
+.tab-pane .tab:selected{
+ -fx-background-color: #40b9bb;
+ -fx-background-radius: 2;
+ -fx-focus-color: transparent;
+ -fx-faint-focus-color: transparent;
+}
.tab-pane > .tab-header-area {
-fx-background-insets: 0.0;
-fx-padding: 5 5 5 5;