2
0

command_extra.c 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #include QMK_KEYBOARD_H
  2. #include "protocol/serial.h"
  3. bool sun_bell = false;
  4. bool sun_click = false;
  5. bool command_extra(uint8_t code)
  6. {
  7. switch (code) {
  8. case KC_H:
  9. case KC_SLASH: /* ? */
  10. print("\n\n----- Sun converter Help -----\n");
  11. print("Home: Toggle Bell\n");
  12. print("End: Toggle Click\n");
  13. print("PgUp: LED all On\n");
  14. print("PgDown: LED all Off\n");
  15. print("Insert: Layout\n");
  16. print("Delete: Reset\n");
  17. return false;
  18. case KC_DEL:
  19. print("Reset\n");
  20. serial_send(0x01);
  21. break;
  22. case KC_HOME:
  23. sun_bell = !sun_bell;
  24. if (sun_bell) {
  25. print("Bell On\n");
  26. serial_send(0x02);
  27. } else {
  28. print("Bell Off\n");
  29. serial_send(0x03);
  30. }
  31. break;
  32. case KC_END:
  33. sun_click = !sun_click;
  34. if (sun_click) {
  35. print("Click On\n");
  36. serial_send(0x0A);
  37. } else {
  38. print("Click Off\n");
  39. serial_send(0x0B);
  40. }
  41. break;
  42. case KC_PGUP:
  43. print("LED all on\n");
  44. serial_send(0x0E);
  45. serial_send(0xFF);
  46. break;
  47. case KC_PGDOWN:
  48. print("LED all off\n");
  49. serial_send(0x0E);
  50. serial_send(0x00);
  51. break;
  52. case KC_INSERT:
  53. print("layout\n");
  54. serial_send(0x0F);
  55. break;
  56. default:
  57. xprintf("Unknown extra command: %02X\n", code);
  58. return false;
  59. }
  60. return true;
  61. }