X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=converter%2Fsun_usb%2Fcommand_extra.c;h=807df4d9de5e2398596104c07c4d6c3731914c73;hb=68f88b33e2448f972c381781900de51696c37aaf;hp=50389467ea2c8a72722bee4e1eb2974af316d48f;hpb=0ffd4ae3a9470e4efe41880db27a6ae77ccf1ce2;p=max%2Ftmk_keyboard.git diff --git a/converter/sun_usb/command_extra.c b/converter/sun_usb/command_extra.c index 50389467..807df4d9 100644 --- a/converter/sun_usb/command_extra.c +++ b/converter/sun_usb/command_extra.c @@ -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;