logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

keymap.c (7336B)


  1. #include QMK_KEYBOARD_H
  2. extern keymap_config_t keymap_config;
  3. #define BASE 0
  4. #define META 1
  5. #define SYMB 2
  6. #define GAME 3
  7. #define RGB 4
  8. #ifdef RGBLIGHT_ENABLE
  9. //Following line allows macro to read current RGB settings
  10. extern rgblight_config_t rgblight_config;
  11. #endif
  12. enum custom_keycodes {
  13. RGB_RST = SAFE_RANGE,
  14. TAP_ANIM
  15. };
  16. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  17. /* BASE
  18. * ,------------------------------------------------. ,------------------------------------------------.
  19. * | ESC | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | Bksp |
  20. * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
  21. * | Del | RCtrl| A | S | D | F | G | | H | J | K | L | ; | ] | Enter|
  22. * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
  23. * | RGB | LSft | Z | X | C | V | B | | N | M | , | . | / | UP | RSft |
  24. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  25. * | LGUI | LCtrl| ` | \ | LAlt | META |Space | |Space | ' | - | = | LEFT | DOWN | RIGHT|
  26. * `------------------------------------------------' `------------------------------------------------'
  27. */
  28. [BASE] = LAYOUT(
  29. KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_BSPC,
  30. KC_DEL, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RBRC, KC_ENT,
  31. MO(RGB), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT,
  32. KC_LGUI, KC_LCTL, KC_GRV, KC_BSLS, KC_LALT, MO(META), KC_SPC, KC_SPC, KC_QUOT, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT
  33. ),
  34. /* META
  35. * ,------------------------------------------------. ,------------------------------------------------.
  36. * | Reset| 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 | Bksp |
  37. * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
  38. * | Del | F1 | |Muhen | Henk | | | | Left | Down | Up |Right | | | Enter|
  39. * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
  40. * | RGB | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 | F12 |
  41. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  42. * | LGUI | LCtrl| ` | \ | LAlt | META |Space | |Space | ' | - | = | | | |
  43. * `------------------------------------------------' `------------------------------------------------'
  44. */
  45. [META] = LAYOUT(
  46. QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
  47. _______, KC_F1, XXXXXXX, KC_INT5, KC_INT4, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______,
  48. _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, S(KC_LBRC), S(KC_RBRC), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
  49. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
  50. ),
  51. /* SYMB
  52. * ,------------------------------------------------. ,------------------------------------------------.
  53. * | ESC | ! | @ | # | $ | % | [ | | ] | ^ | & | * | ( | ) | Bksp |
  54. * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
  55. * | Del | | | | | | ( | | ) | | | | | | Enter|
  56. * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
  57. * | RGB | | | | | | { | | } | | | | | UP | Sft |
  58. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  59. * | LGUI | LCtrl| ` | \ | LAlt | META |Space | |Space | ' | - | = | LEFT | DOWN | RIGHT|
  60. * `------------------------------------------------' `------------------------------------------------'
  61. */
  62. [SYMB] = LAYOUT(
  63. _______, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), KC_LBRC, KC_RBRC, S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), _______,
  64. _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_9), S(KC_0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
  65. _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_LBRC), S(KC_RBRC), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______,
  66. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  67. ),
  68. /* RGB
  69. * ,------------------------------------------------. ,------------------------------------------------.
  70. * | | | | | | | | | | | | | | | |
  71. * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
  72. * | | | | | | | | | | TOG | HUI | SAI | VAI |HUANIM| |
  73. * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
  74. * | | | | | | | | | | MOD | HUD | SAD | VAD |QK_BOOT | |
  75. * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
  76. * | | | | | | | | | | | | | |=>RGB | |
  77. * `------------------------------------------------' `------------------------------------------------'
  78. */
  79. [RGB] = LAYOUT(
  80. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
  81. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, TAP_ANIM,XXXXXXX,
  82. _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, RGB_RST, XXXXXXX,
  83. XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
  84. )
  85. };
  86. bool isTapAnim = false;
  87. bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  88. switch (keycode) {
  89. case QK_UNDERGLOW_MODE_NEXT:
  90. if (record->event.pressed) {
  91. isTapAnim = false;
  92. }
  93. break;
  94. case RGB_RST:
  95. #ifdef RGBLIGHT_ENABLE
  96. if (record->event.pressed) {
  97. eeconfig_update_rgblight_default();
  98. rgblight_enable();
  99. }
  100. #endif
  101. break;
  102. case TAP_ANIM:
  103. if (record->event.pressed) {
  104. isTapAnim = !isTapAnim;
  105. }
  106. break;
  107. }
  108. if (isTapAnim) {
  109. rgblight_mode_noeeprom(1);
  110. uint16_t hue = (rgblight_config.hue + 5) % 360;
  111. rgblight_sethsv_noeeprom(hue, rgblight_config.sat, rgblight_config.val);
  112. }
  113. return true;
  114. }