do60.h 4.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #pragma once
  2. #include "quantum.h"
  3. #include "led.h"
  4. /* DO60 LEDs
  5. * GPIO pads
  6. * 0 F7 not connected
  7. * 1 F6 not connected
  8. * 2 F5 RGB PWM Underglow
  9. * 3 F4 Backlight LED
  10. * B2 Capslock LED
  11. * B0 not connected
  12. */
  13. /*
  14. inline void do60_caps_led_on(void) { DDRB |= (1<<2); PORTB &= ~(1<<2); }
  15. inline void do60_bl_led_on(void) { DDRF |= (1<<4); PORTF &= ~(1<<4); }
  16. inline void do60_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
  17. inline void do60_bl_led_off(void) { DDRF &= ~(1<<4); PORTF &= ~(1<<4); }
  18. */
  19. inline void setdefaultrgb(void){ rgblight_sethsv(100,100,100); }
  20. /* Do60 Keymap Definition Macro */
  21. #define LAYOUT_all( \
  22. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
  23. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
  24. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \
  25. K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
  26. K40, K41, K42, K45, K46, K47, K4A, K4B, K4C, K4D, K4E \
  27. ) { \
  28. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
  29. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E }, \
  30. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E }, \
  31. { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
  32. { K40, K41, K42, KC_NO,KC_NO,K45, K46, K47, KC_NO,KC_NO,K4A, K4B, K4C, K4D, K4E } \
  33. }
  34. #define LAYOUT_60_ansi( \
  35. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
  36. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
  37. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
  38. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
  39. K40, K41, K42, K46, K4A, K4B, K4C, K4E \
  40. ) { \
  41. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \
  42. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E }, \
  43. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, KC_NO, K2E }, \
  44. { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO }, \
  45. { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, KC_NO, K4E } \
  46. }
  47. #define LAYOUT_60_ansi_split_bs_rshift( \
  48. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
  49. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
  50. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
  51. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
  52. K40, K41, K42, K46, K4A, K4B, K4C, K4E \
  53. ) { \
  54. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
  55. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E }, \
  56. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, KC_NO, K2E }, \
  57. { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
  58. { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, KC_NO, K4E } \
  59. }
  60. #define LAYOUT_chiwi60_default( \
  61. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
  62. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
  63. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \
  64. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
  65. K40, K41, K42, K45, K47, K4A, K4B, K4C, K4D, K4E \
  66. ) { \
  67. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
  68. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E }, \
  69. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, KC_NO, K2E }, \
  70. { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
  71. { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \
  72. }