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.

keymap_luddite.c 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #include "keymap_common.h"
  2. #include "rgblight.h"
  3. enum function_id {
  4. RGBLED_TOGGLE,
  5. RGBLED_STEP_MODE,
  6. RGBLED_INCREASE_HUE,
  7. RGBLED_DECREASE_HUE,
  8. RGBLED_INCREASE_SAT,
  9. RGBLED_DECREASE_SAT,
  10. RGBLED_INCREASE_VAL,
  11. RGBLED_DECREASE_VAL,
  12. };
  13. const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
  14. /* 0: qwerty
  15. * ,-----------------------------------------------------------.
  16. * |` | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Bsp |
  17. * |-----------------------------------------------------------|
  18. * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
  19. * |-----------------------------------------------------------|
  20. * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Enter |
  21. * |-----------------------------------------------------------|
  22. * | Shft | Z| X| C| V| B| N| M| ,| .| /| Shift |
  23. * |-----------------------------------------------------------'
  24. * |Ctrl|Gui |Alt | Space |Alt |App |Ctrl| FN |
  25. * `-----------------------------------------------------------'
  26. */
  27. [0] = KEYMAP( \
  28. ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
  29. FN2, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
  30. LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT,ENT, \
  31. LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH,RSFT, \
  32. LCTL,LGUI,LALT, SPC, RALT, APP,RCTL,FN0),
  33. [1] = KEYMAP( \
  34. GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, \
  35. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS, UP, TRNS,BSPC, \
  36. TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT,PENT, \
  37. TRNS,TRNS,TRNS,TRNS,TRNS,PPLS,PMNS,END, PGDN,DOWN,TRNS,TRNS, \
  38. TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
  39. [2] = KEYMAP( \
  40. CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
  41. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
  42. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
  43. TRNS,FN12,FN13,FN4, FN5, FN6, FN7, FN8, FN9, FN10,FN11,TRNS, \
  44. TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
  45. };
  46. const action_t PROGMEM fn_actions[] = {
  47. [0] = ACTION_LAYER_MOMENTARY(1),
  48. [1] = ACTION_LAYER_MOMENTARY(2),
  49. [2] = ACTION_LAYER_TAP_KEY(2, KC_TAB),
  50. [3] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT),
  51. [4] = ACTION_FUNCTION(RGBLED_TOGGLE),
  52. [5] = ACTION_FUNCTION(RGBLED_STEP_MODE),
  53. [6] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
  54. [7] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
  55. [8] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
  56. [9] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
  57. [10] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
  58. [11] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
  59. [12] = ACTION_BACKLIGHT_DECREASE(),
  60. [13] = ACTION_BACKLIGHT_INCREASE(),
  61. };
  62. void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
  63. switch (id) {
  64. case RGBLED_TOGGLE:
  65. if (record->event.pressed) {
  66. rgblight_toggle();
  67. }
  68. break;
  69. case RGBLED_INCREASE_HUE:
  70. if (record->event.pressed) {
  71. rgblight_increase_hue();
  72. }
  73. break;
  74. case RGBLED_DECREASE_HUE:
  75. if (record->event.pressed) {
  76. rgblight_decrease_hue();
  77. }
  78. break;
  79. case RGBLED_INCREASE_SAT:
  80. if (record->event.pressed) {
  81. rgblight_increase_sat();
  82. }
  83. break;
  84. case RGBLED_DECREASE_SAT:
  85. if (record->event.pressed) {
  86. rgblight_decrease_sat();
  87. }
  88. break;
  89. case RGBLED_INCREASE_VAL:
  90. if (record->event.pressed) {
  91. rgblight_increase_val();
  92. }
  93. break;
  94. case RGBLED_DECREASE_VAL:
  95. if (record->event.pressed) {
  96. rgblight_decrease_val();
  97. }
  98. break;
  99. case RGBLED_STEP_MODE:
  100. if (record->event.pressed) {
  101. rgblight_step();
  102. }
  103. break;
  104. }
  105. }