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.

124 lines
5.9 KiB

  1. #ifndef NQN_BASIC_LAYOUT_H
  2. #define NQN_BASIC_LAYOUT_H
  3. /*
  4. This is the basic NQN layout
  5. It consists of a block of 5x3, 5x4, 6x3, or 6x4 for each hand. This allows us
  6. to use these blocks for a variety of keyboards like the planck, preonic and
  7. even splits like the ergodox.
  8. You can see that we use some quirky preprocessor defines to achive what we
  9. desire. In the future I would like to see qmk taking a more generic approach
  10. like the KLL.
  11. The naming convention for these blocks is
  12. L<LAYER>_<SIDE>_<ROW>
  13. The LAYER is a number following the neo2 manner starting at 1 for the base
  14. layer, 2 is shift, 3 is for special chars etc.
  15. SIDE is, well either the left or right side/half of a keyboard.
  16. The ROW is starting from the top, numbering beginning at 1.
  17. */
  18. #include "nqn-common.h"
  19. /*
  20. *
  21. * LEFT RIGHT
  22. * ,----------------------------------. ,----------------------------------.
  23. * 01 | x | v | l | c | w | | k | h | g | f | q |
  24. * |------+------+------+------+------| |------+------+------+------+------|
  25. * 02 | u | i | a | e | o | | s | n | r | t | d |
  26. * |------+------+------+------+------| |------+------+------+------+------|
  27. * 03 | y | < | # | p | z | | b | m | , | . | j |
  28. * `----------------------------------' `----------------------------------'
  29. */
  30. #define L01_LEFT_01 KC_X, KC_V, KC_L, KC_C, KC_W
  31. #define L01_LEFT_02 KC_U, KC_I, KC_A, KC_E, KC_O
  32. #define L01_LEFT_03 N_Y, N_LT, N_HS, KC_P, N_Z
  33. #define L01_RIGHT_02 KC_S, KC_N, KC_R, KC_T, KC_D
  34. #define L01_RIGHT_01 KC_K, KC_H, KC_G, KC_F, KC_Q
  35. #define L01_RIGHT_03 KC_B, KC_M, KC_COMM, KC_DOT, KC_J
  36. /*
  37. *
  38. * LEFT RIGHT
  39. * ,----------------------------------. ,----------------------------------.
  40. * 01 | | _ | [ | ] | ^ | | ! | < | > | = | & |
  41. * |------+------+------+------+------| |------+------+------+------+------|
  42. * 02 | \ | / | { | } | * | | ? | ( | ) | - | @ |
  43. * |------+------+------+------+------| |------+------+------+------+------|
  44. * 03 | # | $ | | | ~ | ` | | + | % | " | ' | ° |
  45. * `----------------------------------' `----------------------------------'
  46. */
  47. #define L03_LEFT_01 N_DOTS, N_USC, N_LSQBR, N_RSQBR, N_CIRC
  48. #define L03_LEFT_02 N_BSLS, N_SLSH, N_LCUBR, N_RCUBR, N_ASTR
  49. #define L03_LEFT_03 N_HASH, N_DLR, N_PIPE, N_TILD, N_GRAVE
  50. #define L03_RIGHT_01 N_EXKL, N_LT, N_GT, N_EQ, N_AMP
  51. #define L03_RIGHT_02 N_QUES, N_LPARN, N_RPARN, N_MINS, N_AT
  52. #define L03_RIGHT_03 N_PLUS, N_PERC, N_QUOT, N_SING, N_DEGRE
  53. /*
  54. *
  55. * LEFT RIGHT
  56. * ,----------------------------------. ,----------------------------------.
  57. * 01 | PAGEU| BACKS| UP | DELET| PAGED| | / | 7 | 8 | 9 | - |
  58. * |------+------+------+------+------| |------+------+------+------+------|
  59. * 02 | HOME | LEFT | DOWN | RIGHT| END | | * | 4 | 5 | 6 | + |
  60. * |------+------+------+------+------| |------+------+------+------+------|
  61. * 03 | ESC | TAB | INSRT| ENTER| UNDO | | ENTER| 1 | 2 | 3 | , |
  62. * `----------------------------------' `----------------------------------'
  63. */
  64. #define L04_LEFT_01 KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN
  65. #define L04_LEFT_02 KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END
  66. #define L04_LEFT_03 KC_ESC, KC_TAB, KC_INS, KC_ENTER, N_UNDO
  67. #define L04_RIGHT_01 KC_KP_SLASH, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS
  68. #define L04_RIGHT_02 KC_KP_ASTERISK, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS
  69. #define L04_RIGHT_03 KC_KP_ENTER, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_DOT
  70. /*
  71. * LEFT RIGHT
  72. * ,----------------------------------. ,----------------------------------.
  73. * 01 | | | | | | | | | | | |
  74. * |------+------+------+------+------| |------+------+------+------+------|
  75. * 02 | ü | | ä | | ö | | ß | | | | |
  76. * |------+------+------+------+------| |------+------+------+------+------|
  77. * 03 | | | | | | | | µ | | | |
  78. * `----------------------------------' `----------------------------------'
  79. */
  80. #define L05_LEFT_01 _______, _______, _______, _______, _______
  81. #define L05_LEFT_02 N_UE, _______, N_AE, N_EURO, N_OE
  82. #define L05_LEFT_03 _______, _______, _______, _______, _______
  83. #define L05_RIGHT_01 _______, _______, _______, _______, _______
  84. #define L05_RIGHT_02 N_SS, _______, _______, _______, _______
  85. #define L05_RIGHT_03 _______, N_MU, _______, _______, _______
  86. /*
  87. *
  88. * LEFT RIGHT
  89. * ,----------------------------------. ,----------------------------------.
  90. * 01 | F1 | F2 | F3 | F4 | | | MAIL | MUSIC| FILES| CALC | PASTE|
  91. * |------+------+------+------+------| |------+------+------+------+------|
  92. * 02 | F5 | F6 | F7 | F8 | | | PREV |PLAY/P| NEXT | STOP | COPY |
  93. * |------+------+------+------+------| |------+------+------+------+------|
  94. * 03 | F9 | F10 | F11 | F12 | | | PRINT| SCROL| PAUSE| NUMLK| CUT |
  95. * `----------------------------------' `----------------------------------'
  96. */
  97. #define L06_LEFT_01 KC_F1, KC_F2, KC_F3, KC_F4, _______
  98. #define L06_LEFT_02 KC_F5, KC_F6, KC_F7, KC_F8, _______
  99. #define L06_LEFT_03 KC_F9, KC_F10, KC_F11, KC_F12, _______
  100. #define L06_RIGHT_01 KC_MAIL, KC_MSEL, KC_MY_COMPUTER, KC_CALCULATOR, N_PASTE
  101. #define L06_RIGHT_02 KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, N_COPY
  102. #define L06_RIGHT_03 KC_PSCR, KC_SLCK, KC_PAUS, KC_NLCK, N_CUT
  103. #endif