]> git.friedersdorff.com Git - max/tmk_keyboard.git/blobdiff - converter/sun_usb/command_extra.c
lufa: Fix comment on INTERRUPT_CONTROL_ENDPOINT
[max/tmk_keyboard.git] / converter / sun_usb / command_extra.c
index 50389467ea2c8a72722bee4e1eb2974af316d48f..807df4d9de5e2398596104c07c4d6c3731914c73 100644 (file)
@@ -5,38 +5,63 @@
 #include "print.h"
 #include "command.h"
 
+bool sun_bell = false;
+bool sun_click = false;
+
+
 bool command_extra(uint8_t code)
 {
     switch (code) {
         case KC_H:
         case KC_SLASH: /* ? */
             print("\n\n----- Sun converter Help -----\n");
-            print("UP: Bell On\n");
-            print("DOWN:       Bell Off\n");
-            print("LEFT:       Click On\n");
-            print("RIGHT:      Click Off\n");
+            print("Home:        Toggle Bell\n");
+            print("End:         Toggle Click\n");
+            print("PgUp:        LED all On\n");
+            print("PgDown:      LED all Off\n");
+            print("Insert:      Layout\n");
+            print("Delete:      Reset\n");
             return false;
-        case KC_UP:
-            print("Bell On\n");
-            serial_send(0x02);
+        case KC_DEL:
+            print("Reset\n");
+            serial_send(0x01);
             break;
-        case KC_DOWN:
-            print("Bell Off\n");
-            serial_send(0x03);
+        case KC_HOME:
+           sun_bell = !sun_bell;
+           if (sun_bell) {
+                print("Bell On\n");
+               serial_send(0x02);
+           } else {
+               print("Bell Off\n");
+               serial_send(0x03);
+           }
             break;
-        case KC_LEFT:
-            print("Click On\n");
-            serial_send(0x0A);
+        case KC_END:
+           sun_click = !sun_click;
+           if (sun_click) {
+               print("Click On\n");
+               serial_send(0x0A);
+           } else {
+               print("Click Off\n");
+                serial_send(0x0B);
+           }
+           break;
+        case KC_PGUP:
+            print("LED all on\n");
+            serial_send(0x0E);
+            serial_send(0xFF);
             break;
-        case KC_RIGHT:
-            print("Click Off\n");
-            serial_send(0x0B);
+        case KC_PGDOWN:
+            print("LED all off\n");
+            serial_send(0x0E);
+            serial_send(0x00);
             break;
-        case KC_NUMLOCK:
+        case KC_INSERT:
             print("layout\n");
             serial_send(0x0F);
             break;
         default:
+            xprintf("Unknown extra command: %02X\n", code);
             return false;
     }
     return true;