logo

qmk_firmware

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

keymap.c (3012B)


  1. #include QMK_KEYBOARD_H
  2. #if __has_include("keymap.h")
  3. # include "keymap.h"
  4. #endif
  5. #define A_SPC ALT_T(KC_SPC)
  6. // clang-format off
  7. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  8. [0] = LAYOUT(
  9. KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, /** : **/ KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV,
  10. KC_ENT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, /** : **/ KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
  11. KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, MO(1), /** : **/ KC_APP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
  12. KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, /** : **/ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
  13. KC_NO, KC_NO, KC_LGUI, KC_LGUI, A_SPC, /* */ KC_DEL, /** : **/ KC_INS, /* */ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL,
  14. KC_TAB, KC_NO, KC_NO, /** : **/ KC_LALT, KC_INS, KC_BSPC
  15. ),
  16. [1] = LAYOUT(
  17. KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, /** : **/ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
  18. KC_TRNS, KC_NO, KC_NO, KC_NO, EE_CLR, KC_NO, KC_NO, /** : **/ KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_MPLY, KC_NO,
  19. KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, /** : **/ KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO,
  20. KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /** : **/ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
  21. KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, /* */ RM_VALU, /** : **/ RM_TOGG, /* */ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
  22. RM_HUED, RM_VALD, RM_HUEU, /** : **/ KC_TRNS, RM_NEXT, RM_PREV
  23. )
  24. };
  25. // clang-format on
  26. // Taken from docs/features/rgb_matrix.md
  27. // "Layer indicator only on keys with configured keycodes:"
  28. // And then modified
  29. bool
  30. rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
  31. // None for default layer
  32. if (IS_LAYER_ON_STATE(layer_state, 0)) return false;
  33. uint8_t layer = get_highest_layer(layer_state);
  34. // HSV_GREEN: defined in quantum/color.h
  35. hsv_t color_hsv = {HSV_GREEN};
  36. color_hsv.v = rgb_matrix_get_val()/2; // Half-bright as normal effects
  37. rgb_t color_rgb = hsv_to_rgb(color_hsv);
  38. for (uint8_t row = 0; row < MATRIX_ROWS; ++row)
  39. {
  40. for (uint8_t col = 0; col < MATRIX_COLS; ++col)
  41. {
  42. uint8_t index = g_led_config.matrix_co[row][col];
  43. if (
  44. index >= led_min
  45. && index < led_max
  46. && index != NO_LED
  47. && keymap_key_to_keycode(layer, (keypos_t){col,row}) > KC_TRNS
  48. )
  49. {
  50. rgb_matrix_set_color(index, color_rgb.r, color_rgb.g, color_rgb.b);
  51. }
  52. }
  53. }
  54. return false;
  55. }
  56. #ifdef OTHER_KEYMAP_C
  57. # include OTHER_KEYMAP_C
  58. #endif // OTHER_KEYMAP_C