1 /* Copyright 2015-2017 Jack Humbert
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #include QMK_KEYBOARD_H
29 enum preonic_keycodes {
37 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 * ,-----------------------------------------------------------------------------------.
41 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
42 * |------+------+------+------+------+------+------+------+------+------+------+------|
43 * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ |
44 * |------+------+------+------+------+-------------+------+------+------+------+------|
45 * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
46 * |------+------+------+------+------+------|------+------+------+------+------+------|
47 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
48 * |------+------+------+------+------+------+------+------+------+------+------+------|
49 * |Leader| Game | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
50 * `-----------------------------------------------------------------------------------'
52 [_QWERTY] = LAYOUT_preonic_grid_wrapper( \
53 KC_ESC, _________________NUMBER_L1_________________, _________________NUMBER_R1_________________, KC_BSPC, \
54 KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSLS, \
55 KC_LCTL, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, \
56 KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_ENT, \
57 KC_LEAD, GAME, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
61 * ,-----------------------------------------------------------------------------------.
62 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
63 * |------+------+------+------+------+------+------+------+------+------+------+------|
64 * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ |
65 * |------+------+------+------+------+-------------+------+------+------+------+------|
66 * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
67 * |------+------+------+------+------+------|------+------+------+------+------+------|
68 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
69 * |------+------+------+------+------+------+------+------+------+------+------+------|
70 * |Leader|Qwerty| Alt | Spc |Game+ | Space |Game+ | Left | Down | Up |Right |
71 * `-----------------------------------------------------------------------------------'
73 [_GAME] = LAYOUT_preonic_grid_wrapper( \
74 KC_ESC, _________________NUMBER_L1_________________, _________________NUMBER_R1_________________, KC_BSPC, \
75 KC_TAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSLS, \
76 KC_LCTL, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, \
77 KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_ENT, \
78 KC_LEAD, QWERTY, KC_LALT, KC_SPC, GAME_MOD, KC_SPC, KC_SPC, GAME_MOD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
82 * ,-----------------------------------------------------------------------------------.
83 * | | | | | | | | | | | | |
84 * |------+------+------+------+------+------+------+------+------+------+------+------|
85 * | | F9 | F10 | F11 | F12 | ` | | 7 | 8 | 9 | | |
86 * |------+------+------+------+------+-------------+------+------+------+------+------|
87 * | | F5 | F6 | F7 | F8 | ~ | | 4 | 5 | 6 | | |
88 * |------+------+------+------+------+------|------+------+------+------+------+------|
89 * |Shift | F1 | F2 | F3 | F4 | | | 1 | 2 | 3 | | |
90 * |------+------+------+------+------+------+------+------+------+------+------+------|
91 * | | | | | | | | 0 | 0 | | |
92 * `-----------------------------------------------------------------------------------'
94 [_GAME_MOD] = LAYOUT_preonic_grid_wrapper( \
95 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
96 _______, ____________FUNCTION_3____________, KC_GRV, _______, KC_7, KC_8, KC_9, _______, _______, \
97 _______, ____________FUNCTION_2____________, KC_TILD, _______, KC_4, KC_5, KC_6, _______, _______, \
98 KC_LSFT, ____________FUNCTION_1____________, _______, _______, KC_1, KC_2, KC_3, _______, _______, \
99 _______, _______, _______, _______, _______, _______, _______, _______, KC_0, KC_0, _______, _______ \
103 * ,-----------------------------------------------------------------------------------.
104 * | ~ | ! | @ | # | $ | % | ^ | < | > | | | |
105 * |------+------+------+------+------+-------------+------+------+------+------+------|
106 * | | | | Up | | ` | | { | } | _ | | | |
107 * |------+------+------+------+------+-------------+------+------+------+------+------|
108 * | | Del | Left | Down | Right| ~ | = | ( | ) | + | : | " |
109 * |------+------+------+------+------+------|------+------+------+------+------+------|
110 * | | Vol- | Prev | Play | Next | Vol+ | - | [ | ] | | ? | |
111 * |------+------+------+------+------+------+------+------+------+------+------+------|
112 * | | Mute | | | | Esc | | Home | PgUp | PgDwn| End |
113 * `-----------------------------------------------------------------------------------'
115 [_LOWER] = LAYOUT_preonic_grid_wrapper( \
116 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_LT, KC_GT, _______, _______, _______, \
117 _______, _______, _______, KC_UP, _______, KC_GRV, _______, KC_LCBR, KC_RCBR, KC_UNDS, _______, KC_PIPE, \
118 _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TILD, KC_EQL, KC_LPRN, KC_RPRN, KC_PLUS, KC_COLN, KC_DQT , \
119 _______, KC_VOLD, KC_MRWD, KC_MPLY, KC_MFFD, KC_VOLU, KC_MINS, KC_LBRC, KC_RBRC, _______, KC_QUES, _______, \
120 _______, KC_MUTE, _______, _______, _______, KC_ESC, KC_ESC, _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END \
124 * ,-----------------------------------------------------------------------------------.
125 * | E`~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
126 * |------+------+------+------+------+-------------+------+------+------+------+------|
127 * | | F9 | F10 | F11 | F12 | | | | | | | Bksp |
128 * |------+------+------+------+------+------+------+------+------+------+------+------|
129 * | | F5 | F6 | F7 | F8 | | | | | | | |
130 * |------+------+------+------+------+------|------+------+------+------+------+------|
131 * | | F1 | F2 | F3 | F4 | | | | | | | |
132 * |------+------+------+------+------+------+------+------+------+------+------+------|
133 * | | | | | | Enter | | Home | PgUp | PgDwn| End |
134 * `-----------------------------------------------------------------------------------'
136 [_RAISE] = LAYOUT_preonic_grid_wrapper( \
137 KC_GESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
138 _______, ____________FUNCTION_3____________, _______, _______, _______, _______, _______, _______, KC_BSPC, \
139 _______, ____________FUNCTION_2____________, _______, _______, _______, _______, _______, _______, _______, \
140 _______, ____________FUNCTION_1____________, _______, _______, _______, _______, _______, _______, _______, \
141 _______, _______, _______, _______, _______, KC_ENT, KC_ENT, _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END \
144 /* Adjust (Lower + Raise)
145 * ,-----------------------------------------------------------------------------------.
146 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
147 * |------+------+------+------+------+------+------+------+------+------+------+------|
148 * | | Reset| Debug| | | | | | | | | Del |
149 * |------+------+------+------+------+-------------+------+------+------+------+------|
150 * | | | | | |Aud on|AudOff| | | | | |
151 * |------+------+------+------+------+------|------+------+------+------+------+------|
152 * | | | | |MusMod|Mus on|MusOff| | | | | |
153 * |------+------+------+------+------+------+------+------+------+------+------+------|
154 * | | | | | | | |Qwerty| Game | | |
155 * `-----------------------------------------------------------------------------------'
157 [_ADJUST] = LAYOUT_preonic_grid_wrapper( \
158 ____________FUNCTION_1____________, ____________FUNCTION_2____________, ____________FUNCTION_3____________, \
159 _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
160 _______, _______, _______, _______, _______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, \
161 _______, _______, _______, _______, MU_MOD, MU_ON, MU_OFF, _______, _______, _______, _______, _______, \
162 _______, _______, _______, _______, _______, _______, _______, _______, QWERTY, GAME, _______, _______ \
167 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
170 if (record->event.pressed) {
171 set_single_persistent_default_layer(_QWERTY);
177 if (record->event.pressed) {
178 set_single_persistent_default_layer(_GAME);
184 if (record->event.pressed) {
187 layer_off(_GAME_MOD);
193 if (record->event.pressed) {
195 update_tri_layer(_LOWER, _RAISE, _ADJUST);
198 update_tri_layer(_LOWER, _RAISE, _ADJUST);
204 if (record->event.pressed) {
206 update_tri_layer(_LOWER, _RAISE, _ADJUST);
209 update_tri_layer(_LOWER, _RAISE, _ADJUST);