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
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.
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.
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/>.
19 #include QMK_KEYBOARD_H
22 #define LAYOUT_ortho_5x12_base( \
23 K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
24 K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
25 K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \
26 K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A \
28 LAYOUT_ortho_5x12_wrapper( \
29 KC_GRV, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \
30 KC_TAB, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_BSPC, \
31 KC_ESC, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, KC_QUOT, \
32 KC_MLSF, CTL_T(K31), K32, K33, K34, K35, K36, K37, K38, K39, CTL_T(K3A), KC_ENT, \
33 KC_NO, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
35 #define LAYOUT_ortho_5x12_base_wrapper(...) LAYOUT_ortho_5x12_base(__VA_ARGS__)
38 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 [_QWERTY] = LAYOUT_ortho_5x12_base_wrapper(
41 ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
42 _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
43 _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
44 _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
47 [_COLEMAK] = LAYOUT_ortho_5x12_base_wrapper(
48 ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
49 _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
50 _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
51 _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
54 [_DVORAK] = LAYOUT_ortho_5x12_base_wrapper(
55 ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
56 _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
57 _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
58 _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
61 [_WORKMAN] = LAYOUT_ortho_5x12_base_wrapper(
62 ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
63 _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
64 _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
65 _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
68 [_MODS] = LAYOUT_ortho_5x12_wrapper(
69 _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
70 _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
71 _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
72 KC_LSFT, ___________________BLANK___________________, ___________________BLANK___________________, _______,
73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
77 * ,-----------------------------------------------------------------------------------.
78 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
79 * |------+------+------+------+------+-------------+------+------+------+------+------|
80 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
81 * |------+------+------+------+------+-------------+------+------+------+------+------|
82 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
83 * |------+------+------+------+------+------|------+------+------+------+------+------|
84 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
85 * |------+------+------+------+------+------+------+------+------+------+------+------|
86 * | | | | | | | | Next | Vol- | Vol+ | Play |
87 * `-----------------------------------------------------------------------------------'
89 [_LOWER] = LAYOUT_ortho_5x12_wrapper( \
90 _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
91 KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_PIPE,
92 KC_DEL, _________________LOWER_L2__________________, _________________LOWER_R2__________________, _______,
93 _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
94 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
98 * ,-----------------------------------------------------------------------------------.
99 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
100 * |------+------+------+------+------+------+------+------+------+------+------+------|
101 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
102 * |------+------+------+------+------+-------------+------+------+------+------+------|
103 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
104 * |------+------+------+------+------+------|------+------+------+------+------+------|
105 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
106 * |------+------+------+------+------+------+------+------+------+------+------+------|
107 * | | | | | | | | Next | Vol- | Vol+ | Play |
108 * `-----------------------------------------------------------------------------------'
110 [_RAISE] = LAYOUT_ortho_5x12_wrapper( \
111 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
112 KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______,
113 KC_DEL, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
114 _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
115 _______, _______, _______, _______, _______, _______, _______, _________________RAISE_R3__________________
118 /* Adjust (Lower + Raise)
119 * ,-----------------------------------------------------------------------------------.
120 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
121 * |------+------+------+------+------+------+------+------+------+------+------+------|
122 * | | Reset| | | | | | | | | | Del |
123 * |------+------+------+------+------+-------------+------+------+------+------+------|
124 * | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
125 * |------+------+------+------+------+------|------+------+------+------+------+------|
126 * | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
127 * |------+------+------+------+------+------+------+------+------+------+------+------|
128 * | | | | | | | | | | | |
129 * `-----------------------------------------------------------------------------------'
131 [_ADJUST] = LAYOUT_ortho_5x12_wrapper( \
132 KC_MAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RST,
133 VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST,
134 _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, _______,
135 _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
136 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
142 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
148 void matrix_init_keymap(void) {
149 #ifdef KEYBOARD_fractal