keymap.c 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. #include QMK_KEYBOARD_H
  2. #include "action_layer.h"
  3. #define _BL 0
  4. #define _AL 1
  5. #define _FL 2
  6. #define _UL 3
  7. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  8. /*
  9. * ISO Base, Mac style
  10. * ,-----------------------------------------------------------------------------.
  11. * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| = | Backsp |
  12. * |-----------------------------------------------------------------------------|
  13. * |Tab | Q | W | E | R | T | Y | U | I| O| P| [| ]| |
  14. * |----------------------------------------------------------------------- |
  15. * |Caps/Fn | A| S| D| F| G| H| J| K| L| ;| '| #|Enter|
  16. * |-----------------------------------------------------------------------------|
  17. * |Shift| \| Z| X| C| V| B| N| M| ,| .| /| Shift |
  18. * |-----------------------------------------------------------------------------|
  19. * |Fn|Alt |Gui | Space(tapped), Fn(held) |Gui |Alt |Menu(tapped, Fn2(held)|Ctrl|
  20. * `-----------------------------------------------------------------------------'
  21. */
  22. [_BL] = LAYOUT_60_iso(
  23. 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_BSPC, \
  24. 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_RBRC, \
  25. KC_LCTL,KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_NUHS,KC_ENT, \
  26. KC_LSFT,KC_NUBS,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_RSFT, \
  27. MO(1),KC_LALT,KC_LGUI, LT(1,KC_SPACE), KC_RGUI, KC_RALT, LT(2,KC_MENU), KC_RCTL),
  28. /*
  29. * Pok3r style arrow cluster
  30. * ,-----------------------------------------------------------.
  31. * |`~ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|DEL |
  32. * |-----------------------------------------------------------|
  33. * | | | | | | | | |Up| | | | | |
  34. * |------------------------------------------------------- |
  35. * | | | | | | | |Left|Down|Right| | | |
  36. * |-----------------------------------------------------------|
  37. * | | | | | | | | | | | | |
  38. * |-----------------------------------------------------------|
  39. * | | | | | | | | |
  40. * `-----------------------------------------------------------'
  41. */
  42. [_AL] = LAYOUT_60_iso(
  43. KC_GRV,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_DELETE, \
  44. KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
  45. KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
  46. KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
  47. KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
  48. /*
  49. * Secondary function layer
  50. * ,-------------------------------------------------------------.
  51. * | | | | | | | | RW|Play|FF| Mute| Vol Down | Vol up |Reset |
  52. * |-------------------------------------------------------------|
  53. * | | | | | | | | | |PgUp| | | | |
  54. * |-------------------------------------------------------- |
  55. * | | | | | | | |Home|PgDown|End| | | | |
  56. * |-------------------------------------------------------------|
  57. * | | | | | | | | | | | | |
  58. * |-------------------------------------------------------------|
  59. * | | | | | | | | |
  60. * `-------------------------------------------------------------'
  61. */
  62. [_FL] = LAYOUT_60_iso(
  63. KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MPRV,KC_MPLY,KC_MNXT,KC_MUTE,KC_VOLD,KC_VOLU,QK_BOOT, \
  64. KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PGUP,KC_TRNS,KC_TRNS,KC_TRNS, \
  65. KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_HOME,KC_TRNS,KC_HOME,KC_PGDN,KC_END,KC_TRNS,KC_TRNS,KC_TRNS, \
  66. KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
  67. KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
  68. /*
  69. * Locking layer for controlling the underglow.
  70. * NOTE: currently unused.
  71. *
  72. * ,-----------------------------------------------------------.
  73. * | | | | | | | | | | | | | | |
  74. * |-----------------------------------------------------------|
  75. * | | | | | | | | | | | | | | |
  76. * |------------------------------------------------------- |
  77. * | |On|Mode| | | | | | | | | | | |
  78. * |-----------------------------------------------------------|
  79. * | | |Hue+|Hue-|Sat+|Sat-|Val+|Val-| | | | |
  80. * |-----------------------------------------------------------|
  81. * | | | | | | | | |
  82. * `-----------------------------------------------------------'
  83. */
  84. [_UL] = LAYOUT_60_iso(
  85. KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
  86. KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
  87. KC_TRNS,RGB_TOG,RGB_MOD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
  88. KC_TRNS,KC_TRNS,KC_TRNS,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
  89. KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
  90. };
  91. void matrix_scan_user(void) {
  92. // Layer LED indicators
  93. // ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
  94. #ifdef KEYBOARD_gh60
  95. uint32_t layer = layer_state;
  96. if (layer & (1<<1)) {
  97. gh60_wasd_leds_on();
  98. } else {
  99. gh60_wasd_leds_off();
  100. }
  101. if (layer & (1<<2)) {
  102. gh60_esc_led_on();
  103. } else {
  104. gh60_esc_led_off();
  105. }
  106. #endif
  107. };