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_nano.c 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #include "keymap_common.h"
  2. const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  3. KEYMAP(
  4. FN0, VOLD, MUTE, VOLU,
  5. MPRV, MPLY, MSTP, MNXT
  6. ),
  7. KEYMAP(
  8. TRNS, FN2, FN3, FN4,
  9. FN5, FN6, FN7, FN8
  10. ),
  11. };
  12. enum function_id {
  13. RGBLED_TOGGLE,
  14. RGBLED_STEP_MODE,
  15. RGBLED_INCREASE_HUE,
  16. RGBLED_DECREASE_HUE,
  17. RGBLED_INCREASE_SAT,
  18. RGBLED_DECREASE_SAT,
  19. RGBLED_INCREASE_VAL,
  20. RGBLED_DECREASE_VAL,
  21. };
  22. const action_t PROGMEM fn_actions[] = {
  23. [0] = ACTION_LAYER_TAP_KEY(1, KC_ESC),
  24. [1] = ACTION_FUNCTION(RGBLED_TOGGLE),
  25. [2] = ACTION_FUNCTION(RGBLED_STEP_MODE),
  26. [3] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
  27. [4] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
  28. [5] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
  29. [6] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
  30. [7] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
  31. [8] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
  32. };
  33. void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
  34. switch (id) {
  35. case RGBLED_TOGGLE:
  36. if (record->event.pressed) {
  37. rgblight_toggle();
  38. }
  39. break;
  40. case RGBLED_INCREASE_HUE:
  41. if (record->event.pressed) {
  42. rgblight_increase_hue();
  43. }
  44. break;
  45. case RGBLED_DECREASE_HUE:
  46. if (record->event.pressed) {
  47. rgblight_decrease_hue();
  48. }
  49. break;
  50. case RGBLED_INCREASE_SAT:
  51. if (record->event.pressed) {
  52. rgblight_increase_sat();
  53. }
  54. break;
  55. case RGBLED_DECREASE_SAT:
  56. if (record->event.pressed) {
  57. rgblight_decrease_sat();
  58. }
  59. break;
  60. case RGBLED_INCREASE_VAL:
  61. if (record->event.pressed) {
  62. rgblight_increase_val();
  63. }
  64. break;
  65. case RGBLED_DECREASE_VAL:
  66. if (record->event.pressed) {
  67. rgblight_decrease_val();
  68. }
  69. break;
  70. case RGBLED_STEP_MODE:
  71. if (record->event.pressed) {
  72. rgblight_step();
  73. }
  74. break;
  75. }
  76. }