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
28 enum preonic_keycodes {
29 QWERTY = USER_SAFE_RANGE,
35 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38 * ,-----------------------------------------------------------------------------------.
39 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
40 * |------+------+------+------+------+------+------+------+------+------+------+------|
41 * | Tab/M| Q | W | E | R | T | Y | U | I | O | P | \ |
42 * |------+------+------+------+------+-------------+------+------+------+------+------|
43 * | Esc/C| A | S | D | F | G | H | J | K | L | ; | ' |
44 * |------+------+------+------+------+------|------+------+------+------+------+------|
45 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
46 * |------+------+------+------+------+------+------+------+------+------+------+------|
47 * |Leader| Game | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
48 * `-----------------------------------------------------------------------------------'
50 [_QWERTY] = LAYOUT_preonic_grid_wrapper( \
51 KC_GRV, _________________NUMBER_L1_________________, _________________NUMBER_R1_________________, KC_BSPC, \
52 KT_MTAB, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSLS, \
53 KT_CESC, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, \
54 KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_ENT, \
55 KC_LEAD, GAME, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
60 * Mostly transparent, but wanted to disable gui key.
61 * Also give a key to get back to qwerty layout.
63 * ,-----------------------------------------------------------------------------------.
64 * | | | | | | | | | | | | |
65 * |------+------+------+------+------+------+------+------+------+------+------+------|
66 * | | | | | | | | | | | | |
67 * |------+------+------+------+------+-------------+------+------+------+------+------|
68 * | | | | | | | | | | | | |
69 * |------+------+------+------+------+------|------+------+------+------+------+------|
70 * | | | | | | | | | | | | |
71 * |------+------+------+------+------+------+------+------+------+------+------+------|
72 * | |Qwerty| | Spc | | | | | | | |
73 * `-----------------------------------------------------------------------------------'
75 [_GAME] = LAYOUT_preonic_grid_wrapper( \
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
78 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
79 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
80 _______, QWERTY, _______, KC_SPC, _______, _______, _______, _______, _______, _______, _______, _______ \
84 * ,-----------------------------------------------------------------------------------.
85 * | E`~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
86 * |------+------+------+------+------+-------------+------+------+------+------+------|
87 * | | | | Up | | ` | < | { | } | _ | | | |
88 * |------+------+------+------+------+-------------+------+------+------+------+------|
89 * | | Del | Left | Down | Right| ~ | = | ( | ) | + | : | " |
90 * |------+------+------+------+------+------|------+------+------+------+------+------|
91 * | | Vol- | Prev | Play | Next | Vol+ | - | [ | ] | > | ? | |
92 * |------+------+------+------+------+------+------+------+------+------+------+------|
93 * | | Mute | | | | | | Home | PgDn | PgUp | End |
94 * `-----------------------------------------------------------------------------------'
96 [_LOWER] = LAYOUT_preonic_grid_wrapper( \
97 KC_GESC, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, _______, \
98 _______, _______, _______, KC_UP, _______, KC_GRV, _______, ____CRBRACES____, KC_UNDS, _______, KC_PIPE, \
99 _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TILD, KC_EQL, _____PARENS_____, KC_PLUS, KC_COLN, KC_DQT , \
100 _______, KC_VOLD, KC_MRWD, KC_MPLY, KC_MFFD, KC_VOLU, KC_MINS, ___SQBRACKETS___, _______, KC_QUES, _______, \
101 _______, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
105 * ,-----------------------------------------------------------------------------------.
106 * | | | | | | | | | | | | |
107 * |------+------+------+------+------+------+------+------+------+------+------+------|
108 * | | F9 | F10 | F11 | F12 | | * | 7 | 8 | 9 | 0 | |
109 * |------+------+------+------+------+-------------+------+------+------+------+------|
110 * | | F5 | F6 | F7 | F8 | | = | 4 | 5 | 6 | + | |
111 * |------+------+------+------+------+------|------+------+------+------+------+------|
112 * | | F1 | F2 | F3 | F4 | | - | 1 | 2 | 3 | / | |
113 * |------+------+------+------+------+------+------+------+------+------+------+------|
114 * | | | | | | | | 0 | 0 | | |
115 * `-----------------------------------------------------------------------------------'
117 [_RAISE] = LAYOUT_preonic_grid_wrapper( \
118 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
119 _______, ____________FUNCTION_3____________, _______, KC_ASTR, KC_7, KC_8, KC_9, KC_0, _______, \
120 _______, ____________FUNCTION_2____________, _______, KC_EQL, KC_4, KC_5, KC_6, KC_PLUS, _______, \
121 _______, ____________FUNCTION_1____________, _______, KC_MINS, KC_1, KC_2, KC_3, KC_SLASH, _______, \
122 _______, _______, _______, _______, _______, _______, _______, _______, KC_0, KC_0, _______, _______ \
125 /* Adjust (Lower + Raise)
126 * ,-----------------------------------------------------------------------------------.
127 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
128 * |------+------+------+------+------+------+------+------+------+------+------+------|
129 * | | MAKE | FLSH | | | | | | | | | Del |
130 * |------+------+------+------+------+-------------+------+------+------+------+------|
131 * | | RESET| DEBUG| | |Aud on|AudOff| | | | | |
132 * |------+------+------+------+------+------|------+------+------+------+------+------|
133 * | | VRSN | | |MusMod|Mus on|MusOff| | | | | |
134 * |------+------+------+------+------+------+------+------+------+------+------+------|
135 * | | | | | | | |Qwerty| Game | | |
136 * `-----------------------------------------------------------------------------------'
138 [_ADJUST] = LAYOUT_preonic_grid_wrapper( \
139 ____________FUNCTION_1____________, ____________FUNCTION_2____________, ____________FUNCTION_3____________, \
140 _______, KB_MAKE, KB_FLSH, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
141 _______, RESET, DEBUG, _______, _______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, \
142 _______, KB_VRSN, _______, _______, MU_MOD, MU_ON, MU_OFF, _______, _______, _______, _______, _______, \
143 _______, _______, _______, _______, _______, _______, _______, _______, QWERTY, GAME, _______, _______ \
148 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
151 if (record->event.pressed) {
152 set_single_persistent_default_layer(_QWERTY);
158 if (record->event.pressed) {
159 set_single_persistent_default_layer(_GAME);
165 if (record->event.pressed) {
167 update_tri_layer(_LOWER, _RAISE, _ADJUST);
170 update_tri_layer(_LOWER, _RAISE, _ADJUST);
176 if (record->event.pressed) {
178 update_tri_layer(_LOWER, _RAISE, _ADJUST);
181 update_tri_layer(_LOWER, _RAISE, _ADJUST);