keymap.c 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. /* Copyright 2015-2017 Jack Humbert
  2. * Modified by KeyPCB for the Fractal keyboard
  3. * Backlight isn't on the Fractal, so I've removed the keycode from the keymaps
  4. *
  5. * This program is free software: you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation, either version 2 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. #include QMK_KEYBOARD_H
  19. #include "drashna.h"
  20. #define LAYOUT_ortho_5x12_base( \
  21. K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
  22. K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
  23. K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \
  24. K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A \
  25. ) \
  26. LAYOUT_ortho_5x12_wrapper( \
  27. KC_GRV, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \
  28. KC_TAB, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_BSPC, \
  29. KC_ESC, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, KC_QUOT, \
  30. KC_MLSF, CTL_T(K31), K32, K33, K34, K35, K36, K37, K38, K39, CTL_T(K3A), KC_ENT, \
  31. KC_NO, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
  32. )
  33. #define LAYOUT_ortho_5x12_base_wrapper(...) LAYOUT_ortho_5x12_base(__VA_ARGS__)
  34. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  35. [_QWERTY] = LAYOUT_ortho_5x12_base_wrapper(
  36. ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
  37. _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
  38. _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
  39. _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
  40. ),
  41. [_COLEMAK] = LAYOUT_ortho_5x12_base_wrapper(
  42. ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
  43. _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
  44. _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
  45. _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
  46. ),
  47. [_DVORAK] = LAYOUT_ortho_5x12_base_wrapper(
  48. ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
  49. _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
  50. _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
  51. _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
  52. ),
  53. [_WORKMAN] = LAYOUT_ortho_5x12_base_wrapper(
  54. ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
  55. _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
  56. _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
  57. _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
  58. ),
  59. [_MODS] = LAYOUT_ortho_5x12_wrapper(
  60. _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
  61. _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
  62. _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
  63. KC_LSFT, ___________________BLANK___________________, ___________________BLANK___________________, _______,
  64. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  65. ),
  66. /* Lower
  67. * ,-----------------------------------------------------------------------------------.
  68. * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
  69. * |------+------+------+------+------+-------------+------+------+------+------+------|
  70. * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
  71. * |------+------+------+------+------+-------------+------+------+------+------+------|
  72. * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
  73. * |------+------+------+------+------+------|------+------+------+------+------+------|
  74. * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
  75. * |------+------+------+------+------+------+------+------+------+------+------+------|
  76. * | | | | | | | | Next | Vol- | Vol+ | Play |
  77. * `-----------------------------------------------------------------------------------'
  78. */
  79. [_LOWER] = LAYOUT_ortho_5x12_wrapper( \
  80. _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
  81. KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_PIPE,
  82. KC_DEL, _________________LOWER_L2__________________, _________________LOWER_R2__________________, _______,
  83. _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
  84. _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
  85. ),
  86. /* Raise
  87. * ,-----------------------------------------------------------------------------------.
  88. * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
  89. * |------+------+------+------+------+------+------+------+------+------+------+------|
  90. * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
  91. * |------+------+------+------+------+-------------+------+------+------+------+------|
  92. * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
  93. * |------+------+------+------+------+------|------+------+------+------+------+------|
  94. * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
  95. * |------+------+------+------+------+------+------+------+------+------+------+------|
  96. * | | | | | | | | Next | Vol- | Vol+ | Play |
  97. * `-----------------------------------------------------------------------------------'
  98. */
  99. [_RAISE] = LAYOUT_ortho_5x12_wrapper( \
  100. KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
  101. KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______,
  102. KC_DEL, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
  103. _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
  104. _______, _______, _______, _______, _______, _______, _______, _________________RAISE_R3__________________
  105. ),
  106. /* Adjust (Lower + Raise)
  107. * ,-----------------------------------------------------------------------------------.
  108. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
  109. * |------+------+------+------+------+------+------+------+------+------+------+------|
  110. * | | Reset| | | | | | | | | | Del |
  111. * |------+------+------+------+------+-------------+------+------+------+------+------|
  112. * | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
  113. * |------+------+------+------+------+------|------+------+------+------+------+------|
  114. * | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
  115. * |------+------+------+------+------+------+------+------+------+------+------+------|
  116. * | | | | | | | | | | | |
  117. * `-----------------------------------------------------------------------------------'
  118. */
  119. [_ADJUST] = LAYOUT_ortho_5x12_wrapper( \
  120. KC_MAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RST,
  121. VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST,
  122. _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, _______,
  123. _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
  124. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
  125. )
  126. };
  127. bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
  128. switch (keycode) {
  129. }
  130. return true;
  131. };
  132. void matrix_init_keymap(void) {
  133. #ifdef KEYBOARD_fractal
  134. setPinOutput(D5);
  135. writePinHigh(D5);
  136. setPinOutput(B0);
  137. writePinHigh(B0);
  138. #endif
  139. }