keymap.c 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. /*
  2. NQN is not-quite-neo
  3. A layout based on the
  4. */
  5. #include QMK_KEYBOARD_H
  6. #include "nqn-keys-on-quertz-de-latin1.h"
  7. #include "nqn-basic-layout.h"
  8. // Automatic number generation of important keywords
  9. enum my_keycodes{
  10. // Layer numbers follow the neo2 terminology, i.e. base layer = layer 1
  11. L01 = 0,
  12. /* L02, SHIFT is not (yet) implemented as a fully customizable layer */
  13. L03,
  14. L04,
  15. L05,
  16. /* L06, UNSPECIFIED not (yet) needed */
  17. LFN
  18. };
  19. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  20. /* L01 -> default: BASE LAYER
  21. * ,-----------------------------------------------------------------------------------.
  22. * | ESC | | | ENTER|
  23. * |------+ | +------|
  24. * | L03 | L01_LEFT | L01_RIGHT | L03 |
  25. * |------+ | +------|
  26. * | SHIFT| | | SHIFT|
  27. * |------+------+------+------+------+------+------+------+------+------+------+------|
  28. * | CTLR | GUI | ALT | L05 | L04 | SPACE| SPACE| L04 | L05 | ALTGR| LFN | CTLR |
  29. * `-----------------------------------------------------------------------------------'
  30. */
  31. [L01] = LAYOUT_planck_grid(
  32. KC_ESC, L01_LEFT_01, L01_RIGHT_01, KC_ENTER,
  33. MO(L03), L01_LEFT_02, L01_RIGHT_02, MO(L03),
  34. KC_LSFT, L01_LEFT_03, L01_RIGHT_03, KC_RSFT,
  35. KC_LCTL, KC_LGUI, KC_LALT, MO(L05), MO(L04), KC_SPC, KC_SPC, MO(L04), MO(L05), KC_RALT, MO(LFN), KC_RCTL
  36. ),
  37. /*
  38. L02 -> MO(L02): SHIFT (as a layer not used, not defined, not reachable)
  39. */
  40. /* L03 -> MO(L03): PROGRAMMING
  41. * ,-----------------------------------------------------------------------------------.
  42. * | | | | |
  43. * |------+ | +------|
  44. * | | L03_LEFT | L03_RIGHT | |
  45. * |------+ | +------|
  46. * | | | | |
  47. * |------+------+------+------+------+------+------+------+------+------+------+------|
  48. * | | | | | | | | | | | | |
  49. * `-----------------------------------------------------------------------------------'
  50. */
  51. [L03] = LAYOUT_planck_grid(
  52. _______, L03_LEFT_01, L03_RIGHT_01, _______,
  53. _______, L03_LEFT_02, L03_RIGHT_02, _______,
  54. _______, L03_LEFT_03, L03_RIGHT_03, _______,
  55. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  56. ),
  57. /* L04 -> MO(L04): NAVIGATION AND NUMBERS
  58. * ,-----------------------------------------------------------------------------------.
  59. * | | | | |
  60. * |------+ | +------|
  61. * | | L04_LEFT | L04_RIGHT | |
  62. * |------+ | +------|
  63. * | | | | |
  64. * |------+------+------+------+------+------+------+------+------+------+------+------|
  65. * | | | | | | | 0 | | | | | |
  66. * `-----------------------------------------------------------------------------------'
  67. */
  68. [L04] = LAYOUT_planck_grid(
  69. _______, L04_LEFT_01, L04_RIGHT_01, _______,
  70. _______, L04_LEFT_02, L04_RIGHT_02, _______,
  71. _______, L04_LEFT_03, L04_RIGHT_03, _______,
  72. _______, _______, _______, _______, _______, _______, KC_0, _______, _______, _______, _______, _______
  73. ),
  74. /* L05 -> MO(L05): ALTERNATE
  75. * ,-----------------------------------------------------------------------------------.
  76. * | | | | |
  77. * |------+ | +------|
  78. * | | L05_LEFT | L05_RIGHT | |
  79. * |------+ | +------|
  80. * | | | | |
  81. * |------+------+------+------+------+------+------+------+------+------+------+------|
  82. * | | | | | | | | | | | | |
  83. * `-----------------------------------------------------------------------------------'
  84. */
  85. [L05] = LAYOUT_planck_grid(
  86. _______, L05_LEFT_01, L05_RIGHT_01, _______,
  87. _______, L05_LEFT_02, L05_RIGHT_02, _______,
  88. _______, L05_LEFT_03, L05_RIGHT_03, _______,
  89. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  90. ),
  91. /*
  92. L06 -> <TBD>: UNSPECIFIED
  93. */
  94. /* LFN -> MO(FN): FUNCTION
  95. * ,-----------------------------------------------------------------------------------.
  96. * | QK_BOOT| | | BACKS|
  97. * |------+ | +------|
  98. * | | L06_LEFT | L06_RIGHT |INSERT|
  99. * |------+ | +------|
  100. * | | | |DELETE|
  101. * |------+------+------+------+------+------+------+------+------+------+------+------|
  102. * |VOICE-|VOICE+|MUS ON|MUS OF| LIGHT| | | VOL+ | VOL- | MUTE | | |
  103. * `-----------------------------------------------------------------------------------'
  104. */
  105. [LFN] = LAYOUT_planck_grid(
  106. QK_BOOT, L06_LEFT_01, L06_RIGHT_01, KC_BSPC,
  107. _______, L06_LEFT_02, L06_RIGHT_02, KC_INS,
  108. _______, L06_LEFT_03, L06_RIGHT_03, KC_DEL,
  109. AU_PREV, AU_NEXT, MU_ON, MU_OFF, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______
  110. )
  111. };