Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

actionmap_plain.c 4.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. #include "actionmap.h"
  2. #include "action_code.h"
  3. #include "actionmap_common.h"
  4. #include "rgblight.h"
  5. /*
  6. * Actions
  7. */
  8. #define AC_BLD ACTION_BACKLIGHT_DECREASE()
  9. #define AC_BLI ACTION_BACKLIGHT_INCREASE()
  10. #define AC_TL1 ACTION_LAYER_TAP_KEY(1, KC_SPACE)
  11. #define AC_TL2 ACTION_LAYER_TAP_KEY(2, KC_BSPACE)
  12. #define AC_TL3 ACTION_LAYER_TAP_KEY(3, KC_C)
  13. #define AC_TL4 ACTION_LAYER_TAP_KEY(4, KC_V)
  14. #define AC_TL5 ACTION_LAYER_TAP_KEY(5, KC_B)
  15. #define AC_TM1 ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT)
  16. #define AC_TM2 ACTION_MODS_TAP_KEY(MOD_LCTL, KC_Z)
  17. #define AC_TM3 ACTION_MODS_TAP_KEY(MOD_LALT, KC_X)
  18. #define AC_TM4 ACTION_MODS_TAP_KEY(MOD_RALT, KC_N)
  19. #define AC_TM5 ACTION_MODS_TAP_KEY(MOD_RCTL, KC_M)
  20. #define AC_S01 ACTION_MODS_KEY(MOD_LSFT, KC_1)
  21. #define AC_S02 ACTION_MODS_KEY(MOD_LSFT, KC_2)
  22. #define AC_S03 ACTION_MODS_KEY(MOD_LSFT, KC_3)
  23. #define AC_S04 ACTION_MODS_KEY(MOD_LSFT, KC_4)
  24. #define AC_S05 ACTION_MODS_KEY(MOD_LSFT, KC_5)
  25. #define AC_S06 ACTION_MODS_KEY(MOD_LSFT, KC_6)
  26. #define AC_S07 ACTION_MODS_KEY(MOD_LSFT, KC_7)
  27. #define AC_S08 ACTION_MODS_KEY(MOD_LSFT, KC_8)
  28. #define AC_S09 ACTION_MODS_KEY(MOD_LSFT, KC_9)
  29. #define AC_S10 ACTION_MODS_KEY(MOD_LSFT, KC_0)
  30. #define AC_S11 ACTION_MODS_KEY(MOD_LSFT, KC_MINS)
  31. #define AC_S12 ACTION_MODS_KEY(MOD_LSFT, KC_EQL)
  32. #define AC_S13 ACTION_MODS_KEY(MOD_LSFT, KC_LBRC)
  33. #define AC_S14 ACTION_MODS_KEY(MOD_LSFT, KC_RBRC)
  34. #define AC_S15 ACTION_MODS_KEY(MOD_LSFT, KC_BSLS)
  35. #define AC_S16 ACTION_MODS_KEY(MOD_LSFT, KC_COMM)
  36. #define AC_S17 ACTION_MODS_KEY(MOD_LSFT, KC_DOT)
  37. #define AC_S18 ACTION_MODS_KEY(MOD_LSFT, KC_SLSH)
  38. #define AC_S19 ACTION_MODS_KEY(MOD_LSFT, KC_SCLN)
  39. #define AC_S20 ACTION_MODS_KEY(MOD_LSFT, KC_QUOT)
  40. #define AC_L01 ACTION_FUNCTION(RGBLED_TOGGLE)
  41. #define AC_L02 ACTION_FUNCTION(RGBLED_STEP_MODE)
  42. #define AC_L03 ACTION_FUNCTION(RGBLED_INCREASE_HUE)
  43. #define AC_L04 ACTION_FUNCTION(RGBLED_DECREASE_HUE)
  44. #define AC_L05 ACTION_FUNCTION(RGBLED_INCREASE_SAT)
  45. #define AC_L06 ACTION_FUNCTION(RGBLED_DECREASE_SAT)
  46. #define AC_L07 ACTION_FUNCTION(RGBLED_INCREASE_VAL)
  47. #define AC_L08 ACTION_FUNCTION(RGBLED_DECREASE_VAL)
  48. const action_t PROGMEM actionmaps[][MATRIX_ROWS][MATRIX_COLS] = {
  49. [0] = ACTIONMAP(
  50. Q, W, E, R, T,
  51. A, S, D, F, G,
  52. TM2, TM3, TL3, TL4, TL2,
  53. Y, U, I, O, P,
  54. H, J, K, L, ESC,
  55. TL1, TL5, TM4, TM5, TM1),
  56. [1] = ACTIONMAP(
  57. 1, 2, 3, 4, 5,
  58. F1, F2, F3, F4, F5,
  59. TRNS, TRNS, TRNS, TRNS, DEL,
  60. 6, 7, 8, 9, 0,
  61. F6, F7, F8, F9, F10,
  62. TRNS, TRNS, TRNS, TRNS, TRNS),
  63. [2] = ACTIONMAP(
  64. S01, S02, S03, S04, S05,
  65. F11, F12, TRNS, TRNS, TRNS,
  66. TRNS, TRNS, TRNS, TRNS, TRNS,
  67. S06, S07, S08, S09, S10,
  68. TRNS, TRNS, TRNS, TRNS, GRV,
  69. TRNS, TRNS, TRNS, TRNS, TRNS),
  70. [3] = ACTIONMAP(
  71. TRNS, TRNS, TRNS, TRNS, TRNS,
  72. TAB, TRNS, TRNS, TRNS, TRNS,
  73. TRNS, TRNS, TRNS, TRNS, TRNS,
  74. MINS, EQL, LBRC, RBRC, BSLS,
  75. COMM, DOT, SLSH, SCLN, QUOT,
  76. TRNS, LEFT, DOWN, UP, RGHT),
  77. [4] = ACTIONMAP(
  78. TRNS, TRNS, TRNS, TRNS, TRNS,
  79. TAB, TRNS, TRNS, TRNS, TRNS,
  80. TRNS, TRNS, TRNS, TRNS, TRNS,
  81. S11, S12, S13, S14, S15,
  82. S16, S17, S18, S19, S20,
  83. TRNS, HOME, PGDN, PGUP, END),
  84. [5] = ACTIONMAP(
  85. CALC, WHOM, MAIL, MYCM, TRNS,
  86. L01, L02, L03, L04, L05,
  87. TRNS, TRNS, TRNS, TRNS, BTLD,
  88. TRNS, TRNS, TRNS, TRNS, PSCR,
  89. L06, L07, L08, BLD, BLI,
  90. TRNS, TRNS, TRNS, TRNS, TRNS),
  91. };
  92. void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
  93. switch (id) {
  94. case RGBLED_TOGGLE:
  95. if (record->event.pressed) {
  96. rgblight_toggle();
  97. }
  98. break;
  99. case RGBLED_INCREASE_HUE:
  100. if (record->event.pressed) {
  101. rgblight_increase_hue();
  102. }
  103. break;
  104. case RGBLED_DECREASE_HUE:
  105. if (record->event.pressed) {
  106. rgblight_decrease_hue();
  107. }
  108. break;
  109. case RGBLED_INCREASE_SAT:
  110. if (record->event.pressed) {
  111. rgblight_increase_sat();
  112. }
  113. break;
  114. case RGBLED_DECREASE_SAT:
  115. if (record->event.pressed) {
  116. rgblight_decrease_sat();
  117. }
  118. break;
  119. case RGBLED_INCREASE_VAL:
  120. if (record->event.pressed) {
  121. rgblight_increase_val();
  122. }
  123. break;
  124. case RGBLED_DECREASE_VAL:
  125. if (record->event.pressed) {
  126. rgblight_decrease_val();
  127. }
  128. break;
  129. case RGBLED_STEP_MODE:
  130. if (record->event.pressed) {
  131. rgblight_step();
  132. }
  133. break;
  134. }
  135. }