diff options
author | Akshay <[email protected]> | 2022-04-10 12:13:40 +0100 |
---|---|---|
committer | Akshay <[email protected]> | 2022-04-10 12:13:40 +0100 |
commit | dc90387ce7d8ba7b607d9c48540bf6d8b560f14d (patch) | |
tree | 4ccb8fa5886b66fa9d480edef74236c27f035e16 /keyboards/contra/keymaps |
Diffstat (limited to 'keyboards/contra/keymaps')
42 files changed, 2514 insertions, 0 deletions
diff --git a/keyboards/contra/keymaps/alper/config.h b/keyboards/contra/keymaps/alper/config.h new file mode 100644 index 000000000..6114392f6 --- /dev/null +++ b/keyboards/contra/keymaps/alper/config.h | |||
@@ -0,0 +1,35 @@ | |||
1 | #pragma once | ||
2 | |||
3 | |||
4 | #ifdef AUDIO_ENABLE | ||
5 | #define STARTUP_SONG SONG(PLANCK_SOUND) | ||
6 | // #define STARTUP_SONG SONG(NO_SOUND) | ||
7 | |||
8 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
9 | SONG(COLEMAK_SOUND), \ | ||
10 | SONG(DVORAK_SOUND) \ | ||
11 | } | ||
12 | #endif | ||
13 | |||
14 | #define MUSIC_MASK (keycode != KC_NO) | ||
15 | |||
16 | /* | ||
17 | * MIDI options | ||
18 | */ | ||
19 | |||
20 | /* enable basic MIDI features: | ||
21 | - MIDI notes can be sent when in Music mode is on | ||
22 | */ | ||
23 | |||
24 | #define MIDI_BASIC | ||
25 | |||
26 | /* enable advanced MIDI features: | ||
27 | - MIDI notes can be added to the keymap | ||
28 | - Octave shift and transpose | ||
29 | - Virtual sustain, portamento, and modulation wheel | ||
30 | - etc. | ||
31 | */ | ||
32 | //#define MIDI_ADVANCED | ||
33 | |||
34 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
35 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 | ||
diff --git a/keyboards/contra/keymaps/alper/keymap.c b/keyboards/contra/keymaps/alper/keymap.c new file mode 100644 index 000000000..8be751355 --- /dev/null +++ b/keyboards/contra/keymaps/alper/keymap.c | |||
@@ -0,0 +1,191 @@ | |||
1 | /* Copyright 2015-2017 Jack Humbert | ||
2 | * | ||
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. | ||
7 | * | ||
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. | ||
12 | * | ||
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/>. | ||
15 | */ | ||
16 | |||
17 | #include QMK_KEYBOARD_H | ||
18 | |||
19 | enum planck_layers { | ||
20 | _QWERTY, | ||
21 | _COLEMAK, | ||
22 | _DVORAK, | ||
23 | _LOWER, | ||
24 | _RAISE, | ||
25 | _ADJUST | ||
26 | }; | ||
27 | |||
28 | enum planck_keycodes { | ||
29 | QWERTY = SAFE_RANGE, | ||
30 | COLEMAK, | ||
31 | DVORAK, | ||
32 | LOWER, | ||
33 | RAISE | ||
34 | }; | ||
35 | |||
36 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
37 | |||
38 | /* Qwerty | ||
39 | * ,---------------------------------------------------------------------------------------------------. | ||
40 | * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
41 | * |-----------+------+------+------+------+-------------+------+----------+------+------+-------------| | ||
42 | * | Ctrl/Tab | A | S | D | F | G | H | J | K | L | ; | " | | ||
43 | * |-----------+------+------+------+------+------|------+------+----------+------+------+-------------| | ||
44 | * | Shift/Esc | Z | X | C | V | B | N | M | , | . | / | Shift/Enter | | ||
45 | * |-----------+------+------+------+------+------+------+------+----------+------+------+-------------| | ||
46 | * | Tab | Ctrl | Alt | GUI |Lower | Space |Raise | GUI/Left | Down | Up | Right | | ||
47 | * `---------------------------------------------------------------------------------------------------' | ||
48 | */ | ||
49 | [_QWERTY] = LAYOUT_planck_mit( | ||
50 | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
51 | MT(MOD_LCTL, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
52 | MT(MOD_LSFT, KC_ESC), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_ENT), | ||
53 | KC_TAB, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, MT(MOD_RGUI, KC_LEFT), KC_DOWN, KC_UP, KC_RGHT | ||
54 | ), | ||
55 | |||
56 | /* Colemak | ||
57 | * ,---------------------------------------------------------------------------------------------------. | ||
58 | * | Esc | Q | W | F | P | G | J | L | U | Y | ; | Bksp | | ||
59 | * |-----------+------+------+------+------+-------------+------+----------+------+------+-------------| | ||
60 | * | Ctrl/Tab | A | R | S | T | D | H | N | E | I | O | " | | ||
61 | * |-----------+------+------+------+------+------|------+------+----------+------+------+-------------| | ||
62 | * | Shift/Esc | Z | X | C | V | B | K | M | , | . | / | Shift/Enter | | ||
63 | * |-----------+------+------+------+------+-------------+------+----------+------+------+------+------| | ||
64 | * | Tab | Ctrl | Alt | GUI |Lower | Space |Raise | GUI/Left | Down | Up | Right | | ||
65 | * `---------------------------------------------------------------------------------------------------' | ||
66 | */ | ||
67 | [_COLEMAK] = LAYOUT_planck_mit( | ||
68 | KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, | ||
69 | MT(MOD_LCTL, KC_TAB), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, | ||
70 | MT(MOD_LSFT, KC_ESC), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_ENT), | ||
71 | KC_TAB, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, MT(MOD_RGUI, KC_LEFT), KC_DOWN, KC_UP, KC_RGHT | ||
72 | ), | ||
73 | |||
74 | /* Dvorak | ||
75 | * ,---------------------------------------------------------------------------------------------------. | ||
76 | * | Esc | " | , | . | P | Y | F | G | C | R | L | Bksp | | ||
77 | * |-----------+------+------+------+------+-------------+------+----------+------+------+-------------| | ||
78 | * | Ctrl/Tab | A | O | E | U | I | D | H | T | N | S | / | | ||
79 | * |-----------+------+------+------+------+------|------+------+----------+------+------+-------------| | ||
80 | * | Shift/Esc | ; | Q | J | K | X | B | M | W | V | Z | Shift/Enter | | ||
81 | * |-----------+------+------+------+------+------+------+------+----------+------+------+-------------| | ||
82 | * | Tab | Ctrl | Alt | GUI |Lower | Space |Raise | GUI/Left | Down | Up | Right | | ||
83 | * `---------------------------------------------------------------------------------------------------' | ||
84 | */ | ||
85 | [_DVORAK] = LAYOUT_planck_mit( | ||
86 | KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, | ||
87 | MT(MOD_LCTL, KC_TAB), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, | ||
88 | MT(MOD_LSFT, KC_ESC), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, MT(MOD_RSFT, KC_ENT), | ||
89 | KC_TAB, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, MT(MOD_RGUI, KC_LEFT), KC_DOWN, KC_UP, KC_RGHT | ||
90 | ), | ||
91 | |||
92 | /* Lower | ||
93 | * ,-----------------------------------------------------------------------------------. | ||
94 | * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | ||
95 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
96 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | ||
97 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
98 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | | ||
99 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
100 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
101 | * `-----------------------------------------------------------------------------------' | ||
102 | */ | ||
103 | [_LOWER] = LAYOUT_planck_mit( | ||
104 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
105 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
106 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
107 | _______, _______, _______, _______, _______, _______, _______, KC_MFFD, KC_VOLD, KC_VOLU, KC_MPLY | ||
108 | ), | ||
109 | |||
110 | /* Raise | ||
111 | * ,----------------------------------------------------------------------------------------------. | ||
112 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | ||
113 | * |-----------+---------+---------+------+------+-------------+------+------+------+------+------| | ||
114 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | ||
115 | * |-----------+---------+---------+------+------+------|------+------+------+------+------+------| | ||
116 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | ||
117 | * |-----------+---------+---------+------+------+------+------+------+------+------+------+------| | ||
118 | * | AppSwitch | PrevTab | NextTab | | | | | Next | Vol- | Vol+ | Play | | ||
119 | * `----------------------------------------------------------------------------------------------' | ||
120 | */ | ||
121 | [_RAISE] = LAYOUT_planck_mit( | ||
122 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
123 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
124 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
125 | LGUI(KC_GRAVE), LGUI(LSFT(KC_LBRACKET)), LGUI(LSFT(KC_RBRACKET)), _______, _______, _______, _______, KC_MFFD, KC_VOLD, KC_VOLU, KC_MPLY | ||
126 | ), | ||
127 | |||
128 | /* Adjust (Lower + Raise) | ||
129 | * ,-----------------------------------------------------------------------------------. | ||
130 | * | | Reset| | | | | | | | | | Del | | ||
131 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
132 | * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | | ||
133 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
134 | * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | | ||
135 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
136 | * | | | | | | | | | | | | | ||
137 | * `-----------------------------------------------------------------------------------' | ||
138 | */ | ||
139 | [_ADJUST] = LAYOUT_planck_mit( | ||
140 | _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , | ||
141 | _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, | ||
142 | _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, | ||
143 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
144 | ) | ||
145 | |||
146 | }; | ||
147 | |||
148 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
149 | switch (keycode) { | ||
150 | case QWERTY: | ||
151 | if (record->event.pressed) { | ||
152 | print("mode just switched to qwerty and this is a huge string\n"); | ||
153 | set_single_persistent_default_layer(_QWERTY); | ||
154 | } | ||
155 | return false; | ||
156 | break; | ||
157 | case COLEMAK: | ||
158 | if (record->event.pressed) { | ||
159 | set_single_persistent_default_layer(_COLEMAK); | ||
160 | } | ||
161 | return false; | ||
162 | break; | ||
163 | case DVORAK: | ||
164 | if (record->event.pressed) { | ||
165 | set_single_persistent_default_layer(_DVORAK); | ||
166 | } | ||
167 | return false; | ||
168 | break; | ||
169 | case LOWER: | ||
170 | if (record->event.pressed) { | ||
171 | layer_on(_LOWER); | ||
172 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
173 | } else { | ||
174 | layer_off(_LOWER); | ||
175 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
176 | } | ||
177 | return false; | ||
178 | break; | ||
179 | case RAISE: | ||
180 | if (record->event.pressed) { | ||
181 | layer_on(_RAISE); | ||
182 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
183 | } else { | ||
184 | layer_off(_RAISE); | ||
185 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
186 | } | ||
187 | return false; | ||
188 | break; | ||
189 | } | ||
190 | return true; | ||
191 | } | ||
diff --git a/keyboards/contra/keymaps/alper/readme.md b/keyboards/contra/keymaps/alper/readme.md new file mode 100644 index 000000000..0b9cab507 --- /dev/null +++ b/keyboards/contra/keymaps/alper/readme.md | |||
@@ -0,0 +1,22 @@ | |||
1 | # Alper's Contra Layout | ||
2 | |||
3 |  | ||
4 | |||
5 | ## Rationale | ||
6 | |||
7 | I based this off the default and changed some stuff because I'm a macOS user who types in Dvorak: | ||
8 | |||
9 | * Ctrl/Tab: It is normal to remap Caps Lock to control there and having a press button there for Tab would solve a lot of problems. BUT on my Contra this button is broken, so I've mapped 0,0 to Tab as well. | ||
10 | * Shift/Esc: A standard left shift with an Escape that I have not been utilizing much in favor of the top corner button. | ||
11 | * Tab: The replacement tab. | ||
12 | * Overloaded the Left arrow with another GUI (Command) button because that is essential on macOS. | ||
13 | * Overloaded the Enter button with a Shift because like Command, it is essential for me to have these on both sides of the keyboard. | ||
14 | * Raise-0,0: Switches between windows of an application. | ||
15 | * Raise-0,1-2: Dedicated next and previous tab buttons since these key combinations caused a finger twister. | ||
16 | |||
17 | |||
18 | ## TODO | ||
19 | |||
20 | * Try out tapdance for brackets (see ryanm101/keymap.c) | ||
21 | * REMAP ESC To LT() so I can use it to select numbers (_NUMB) and functions more easily? (see msiu/keymap.c) https://docs.qmk.fm/#/feature_advanced_keycodes?id=switching-and-toggling-layers | ||
22 | * Wipe everything except Dvorak and Qwerty (see deastiny/keymap.c) \ No newline at end of file | ||
diff --git a/keyboards/contra/keymaps/basic/config.h b/keyboards/contra/keymaps/basic/config.h new file mode 100644 index 000000000..cd03b846e --- /dev/null +++ b/keyboards/contra/keymaps/basic/config.h | |||
@@ -0,0 +1,39 @@ | |||
1 | #ifndef CONFIG_USER_H | ||
2 | #define CONFIG_USER_H | ||
3 | |||
4 | #include "config_common.h" | ||
5 | |||
6 | #ifdef AUDIO_ENABLE | ||
7 | #define STARTUP_SONG SONG(PLANCK_SOUND) | ||
8 | // #define STARTUP_SONG SONG(NO_SOUND) | ||
9 | |||
10 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
11 | SONG(COLEMAK_SOUND), \ | ||
12 | SONG(DVORAK_SOUND) \ | ||
13 | } | ||
14 | #endif | ||
15 | |||
16 | #define MUSIC_MASK (keycode != KC_NO) | ||
17 | |||
18 | /* | ||
19 | * MIDI options | ||
20 | */ | ||
21 | |||
22 | /* enable basic MIDI features: | ||
23 | - MIDI notes can be sent when in Music mode is on | ||
24 | */ | ||
25 | |||
26 | #define MIDI_BASIC | ||
27 | |||
28 | /* enable advanced MIDI features: | ||
29 | - MIDI notes can be added to the keymap | ||
30 | - Octave shift and transpose | ||
31 | - Virtual sustain, portamento, and modulation wheel | ||
32 | - etc. | ||
33 | */ | ||
34 | //#define MIDI_ADVANCED | ||
35 | |||
36 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
37 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 | ||
38 | |||
39 | #endif \ No newline at end of file | ||
diff --git a/keyboards/contra/keymaps/basic/keymap.c b/keyboards/contra/keymaps/basic/keymap.c new file mode 100644 index 000000000..1b5336b8e --- /dev/null +++ b/keyboards/contra/keymaps/basic/keymap.c | |||
@@ -0,0 +1,167 @@ | |||
1 | /* Copyright 2015-2017 Jack Humbert | ||
2 | * | ||
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. | ||
7 | * | ||
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. | ||
12 | * | ||
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/>. | ||
15 | */ | ||
16 | |||
17 | #include QMK_KEYBOARD_H | ||
18 | |||
19 | extern keymap_config_t keymap_config; | ||
20 | |||
21 | enum planck_layers { | ||
22 | _QWERTY, | ||
23 | _COLEMAK, | ||
24 | _LOWER, | ||
25 | _RAISE, | ||
26 | _ADJUST | ||
27 | }; | ||
28 | |||
29 | enum planck_keycodes { | ||
30 | QWERTY = SAFE_RANGE, | ||
31 | COLEMAK, | ||
32 | LOWER, | ||
33 | RAISE | ||
34 | }; | ||
35 | |||
36 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
37 | |||
38 | /* Qwerty | ||
39 | * ,-----------------------------------------------------------------------------------. | ||
40 | * | ` | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
41 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
42 | * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | | ||
43 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
44 | * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | ||
45 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
46 | * | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | | ||
47 | * `-----------------------------------------------------------------------------------' | ||
48 | */ | ||
49 | [_QWERTY] = LAYOUT_planck_mit( | ||
50 | KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
51 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
52 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , | ||
53 | KC_ESC, KC_TAB, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN | ||
54 | ), | ||
55 | |||
56 | /* Colemak | ||
57 | * ,-----------------------------------------------------------------------------------. | ||
58 | * | ` | Q | W | F | P | G | J | L | U | Y | ; | Bksp | | ||
59 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
60 | * | Ctrl | A | R | S | T | D | H | N | E | I | O | ' | | ||
61 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
62 | * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | | ||
63 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
64 | * | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | | ||
65 | * `-----------------------------------------------------------------------------------' | ||
66 | */ | ||
67 | [_COLEMAK] = LAYOUT_planck_mit( | ||
68 | KC_GRV, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, | ||
69 | KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, | ||
70 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , | ||
71 | KC_ESC, KC_TAB, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN | ||
72 | ), | ||
73 | |||
74 | /* Lower | ||
75 | * ,-----------------------------------------------------------------------------------. | ||
76 | * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | ||
77 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
78 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | ||
79 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
80 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | | ||
81 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
82 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
83 | * `-----------------------------------------------------------------------------------' | ||
84 | */ | ||
85 | [_LOWER] = LAYOUT_planck_mit( | ||
86 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
87 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
88 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
89 | _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
90 | ), | ||
91 | |||
92 | /* Raise | ||
93 | * ,-----------------------------------------------------------------------------------. | ||
94 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | ||
95 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
96 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | ||
97 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
98 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | ||
99 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
100 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
101 | * `-----------------------------------------------------------------------------------' | ||
102 | */ | ||
103 | [_RAISE] = LAYOUT_planck_mit( | ||
104 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
105 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
106 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
107 | _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
108 | ), | ||
109 | |||
110 | /* Adjust (Lower + Raise) | ||
111 | * ,-----------------------------------------------------------------------------------. | ||
112 | * | | | | | | | | | | | | Del | | ||
113 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
114 | * | | | | | |AGnorm|AGswap|Qwerty|Colemk| | | | | ||
115 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
116 | * | | | | | | | | | | | | | | ||
117 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
118 | * | | | | | | | | | | | | | ||
119 | * `-----------------------------------------------------------------------------------' | ||
120 | */ | ||
121 | [_ADJUST] = LAYOUT_planck_mit( | ||
122 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , | ||
123 | _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______, | ||
124 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
125 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
126 | ) | ||
127 | |||
128 | }; | ||
129 | |||
130 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
131 | switch (keycode) { | ||
132 | case QWERTY: | ||
133 | if (record->event.pressed) { | ||
134 | print("mode just switched to qwerty and this is a huge string\n"); | ||
135 | set_single_persistent_default_layer(_QWERTY); | ||
136 | } | ||
137 | return false; | ||
138 | break; | ||
139 | case COLEMAK: | ||
140 | if (record->event.pressed) { | ||
141 | set_single_persistent_default_layer(_COLEMAK); | ||
142 | } | ||
143 | return false; | ||
144 | break; | ||
145 | case LOWER: | ||
146 | if (record->event.pressed) { | ||
147 | layer_on(_LOWER); | ||
148 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
149 | } else { | ||
150 | layer_off(_LOWER); | ||
151 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
152 | } | ||
153 | return false; | ||
154 | break; | ||
155 | case RAISE: | ||
156 | if (record->event.pressed) { | ||
157 | layer_on(_RAISE); | ||
158 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
159 | } else { | ||
160 | layer_off(_RAISE); | ||
161 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
162 | } | ||
163 | return false; | ||
164 | break; | ||
165 | } | ||
166 | return true; | ||
167 | } | ||
diff --git a/keyboards/contra/keymaps/basic/readme.md b/keyboards/contra/keymaps/basic/readme.md new file mode 100644 index 000000000..195bc2c1b --- /dev/null +++ b/keyboards/contra/keymaps/basic/readme.md | |||
@@ -0,0 +1,72 @@ | |||
1 | # A Basic Contra Layout | ||
2 | |||
3 | The *default* layout currently (as of Mar 19, 2018) has a lot of components from Planck's default layout and is not very suitable for a basic Contra board. This basic layout is developed from Planck's default layout but has removed the parts that's irrelevant to a Contra board. | ||
4 | |||
5 | My other keyboard is a HHKB and I don't use `Tab` or `Esc` key that much and hence the unusual placements for those keys. | ||
6 | |||
7 | ## QWERTY (Normal) Layer | ||
8 | ``` | ||
9 | ,-----------------------------------------------------------------------------------. | ||
10 | | ` | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
11 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
12 | | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | | ||
13 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
14 | | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | ||
15 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
16 | | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | | ||
17 | `-----------------------------------------------------------------------------------' | ||
18 | ``` | ||
19 | |||
20 | ## Colemak Layer | ||
21 | Switch from `Adjust` layer. | ||
22 | ``` | ||
23 | ,-----------------------------------------------------------------------------------. | ||
24 | | ` | Q | W | F | P | G | J | L | U | Y | ; | Bksp | | ||
25 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
26 | | Ctrl | A | R | S | T | D | H | N | E | I | O | ' | | ||
27 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
28 | | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | | ||
29 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
30 | | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | | ||
31 | `-----------------------------------------------------------------------------------' | ||
32 | ``` | ||
33 | |||
34 | ## Lower | ||
35 | ``` | ||
36 | ,-----------------------------------------------------------------------------------. | ||
37 | | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | ||
38 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
39 | | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | ||
40 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
41 | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | | ||
42 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
43 | | | | | | | | | Next | Vol- | Vol+ | Play | | ||
44 | `-----------------------------------------------------------------------------------' | ||
45 | ``` | ||
46 | |||
47 | ## Raise | ||
48 | ``` | ||
49 | ,-----------------------------------------------------------------------------------. | ||
50 | | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | ||
51 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
52 | | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | ||
53 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
54 | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | ||
55 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
56 | | | | | | | | | Next | Vol- | Vol+ | Play | | ||
57 | `-----------------------------------------------------------------------------------' | ||
58 | ``` | ||
59 | |||
60 | ## Adjust | ||
61 | `AGnorm` and `AGswap` switches `alt` and `os` key on the keyboard. | ||
62 | ``` | ||
63 | ,-----------------------------------------------------------------------------------. | ||
64 | | | | | | | | | | | | | Del | | ||
65 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
66 | | | | | | |AGnorm|AGswap|Qwerty|Colemk| | | | | ||
67 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
68 | | | | | | | | | | | | | | | ||
69 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
70 | | | | | | | | | | | | | | ||
71 | `-----------------------------------------------------------------------------------' | ||
72 | ``` \ No newline at end of file | ||
diff --git a/keyboards/contra/keymaps/bramver/README.md b/keyboards/contra/keymaps/bramver/README.md new file mode 100644 index 000000000..5327beba7 --- /dev/null +++ b/keyboards/contra/keymaps/bramver/README.md | |||
@@ -0,0 +1,35 @@ | |||
1 | # Contra layout | ||
2 | |||
3 | My current setup consists of a very simple base layer, numbers layer, mouse layer and emoji layer. | ||
4 | Still many options, but time will tell if changes are needed. | ||
5 | |||
6 | ## Keymap | ||
7 | |||
8 | ``` | ||
9 | #define SP_MSE LT(_MOUSE, KC_SPC) | ||
10 | |||
11 | |||
12 | BASE layer | ||
13 | { KC_GESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC }, | ||
14 | { KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_ENT }, | ||
15 | { KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_QUOT }, | ||
16 | { KC_LCTL , KC_GRV , KC_LALT , KC_LGUI , MO(1) , SP_MSE , SP_MSE , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , MO(2) }, | ||
17 | |||
18 | LOWER layer | ||
19 | { _______ , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL }, | ||
20 | { _______ , KC_F1 , KC_F2 , KC_F3 , KC_LBRC , KC_MINS , KC_EQL , KC_RBRC , KC_F7 , KC_F8 , KC_F9 , _______ }, | ||
21 | { _______ , KC_F4 , KC_F5 , KC_F6 , KC_HOME , KC_BSLS , KC_MPLY , KC_END , KC_F10 , KC_F11 , KC_F12 , _______ }, | ||
22 | { _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ }, | ||
23 | |||
24 | EMOJI layer | ||
25 | { _______ , X(CLAP) , X(CUM) , X(BNIS) , X(BUTT) , X(CAR) , X(FIRE) , X(REDB) , X(MONY) , X(HNDR) , X(SOS) , _______ }, | ||
26 | { _______ , X(CELE) , X(PRAY) , X(NAIL) , X(OK) , X(THNK) , X(UNAM) , X(HEYE) , X(COOL) , X(EYES) , X(SMIR) , _______ }, | ||
27 | { _______ , X(TRIU) , X(SCRM) , X(VOMI) , X(DTIV) , X(EXPL) , X(HAIR) , X(DANC) , X(STRN) , X(LEFT) , X(RGHT) , _______ }, | ||
28 | { _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ }, | ||
29 | |||
30 | MOUSE layer | ||
31 | { _______ , KC_WH_L , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_U , KC_WH_U , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_L , _______ }, | ||
32 | { _______ , KC_WH_R , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_D , KC_WH_D , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_R , _______ }, | ||
33 | { _______ , KC_VOLD , KC_VOLU , KC_MPRV , KC_MNXT , KC_MPLY , KC_MPLY , KC_MPRV , KC_MNXT , KC_VOLD , KC_VOLU , _______ }, | ||
34 | { _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ }, | ||
35 | ``` \ No newline at end of file | ||
diff --git a/keyboards/contra/keymaps/bramver/config.h b/keyboards/contra/keymaps/bramver/config.h new file mode 100755 index 000000000..de2a9b0ee --- /dev/null +++ b/keyboards/contra/keymaps/bramver/config.h | |||
@@ -0,0 +1,9 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #define MOUSEKEY_DELAY 0 | ||
4 | #define MOUSEKEY_INTERVAL 16 | ||
5 | #define MOUSEKEY_MAX_SPEED 7 | ||
6 | #define MOUSEKEY_TIME_TO_MAX 60 | ||
7 | #define MOUSEKEY_WHEEL_MAX_SPEED 8 | ||
8 | #define MOUSEKEY_WHEEL_TIME_TO_MAX 40 | ||
9 | #define MOUSEKEY_WHEEL_DELAY 0 | ||
diff --git a/keyboards/contra/keymaps/bramver/keymap.c b/keyboards/contra/keymaps/bramver/keymap.c new file mode 100644 index 000000000..8ccaf686b --- /dev/null +++ b/keyboards/contra/keymaps/bramver/keymap.c | |||
@@ -0,0 +1,126 @@ | |||
1 | /* Copyright 2018 darm | ||
2 | * | ||
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. | ||
7 | * | ||
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. | ||
12 | * | ||
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/>. | ||
15 | */ | ||
16 | #include QMK_KEYBOARD_H | ||
17 | |||
18 | enum emoji_map { | ||
19 | UNAM, // unamused 😒 | ||
20 | HEYE, // smiling face with heart shaped eyes 😍 | ||
21 | OK, // ok hand sign 👌 | ||
22 | SMIR, // smirk 😏 | ||
23 | PRAY, // pray 🙏 | ||
24 | CELE, // celebration 🙌 | ||
25 | COOL, // smile with sunglasses 😎 | ||
26 | EYES, // eyes | ||
27 | THNK, // BIG THONK | ||
28 | NAIL, // Nailcare | ||
29 | SOS, // Vuile sos | ||
30 | REDB, // Red B | ||
31 | HNDR, // 100 | ||
32 | MONY, | ||
33 | FIRE, | ||
34 | CAR, | ||
35 | BUTT, | ||
36 | BNIS, | ||
37 | CUM, | ||
38 | CLAP, | ||
39 | TRIU, // Fart from nose | ||
40 | SCRM, | ||
41 | VOMI, | ||
42 | DTIV, // Detective | ||
43 | EXPL, // Brainsplosion | ||
44 | HAIR, // Haircut | ||
45 | DANC, // Salsa dancer | ||
46 | STRN, // Stronk | ||
47 | LEFT, // Point Left | ||
48 | RGHT, // Point Right | ||
49 | }; | ||
50 | |||
51 | const uint32_t PROGMEM unicode_map[] = { | ||
52 | [UNAM] = 0x1F612, | ||
53 | [HEYE] = 0x1f60d, | ||
54 | [OK] = 0x1F44C, | ||
55 | [SMIR] = 0x1F60F, | ||
56 | [PRAY] = 0x1F64F, | ||
57 | [CELE] = 0x1F64C, | ||
58 | [COOL] = 0x1F60E, | ||
59 | [EYES] = 0x1F440, | ||
60 | [THNK] = 0x1F914, | ||
61 | [NAIL] = 0x1F485, | ||
62 | [SOS] = 0x1F198, | ||
63 | [REDB] = 0x1F171, | ||
64 | [HNDR] = 0x1F4AF, | ||
65 | [MONY] = 0x1F480, | ||
66 | [FIRE] = 0x1F525, | ||
67 | [CAR] = 0x1F697, | ||
68 | [BUTT] = 0x1F351, | ||
69 | [BNIS] = 0x1F346, | ||
70 | [CUM] = 0x1F4A6, | ||
71 | [CLAP] = 0x1F44F, | ||
72 | [TRIU] = 0x1F624, | ||
73 | [SCRM] = 0x1F631, | ||
74 | [VOMI] = 0x1F92E, | ||
75 | [DTIV] = 0x1F575, | ||
76 | [EXPL] = 0x1F92F, | ||
77 | [HAIR] = 0x2640, | ||
78 | [DANC] = 0x1F483, | ||
79 | [STRN] = 0x1F4AA, | ||
80 | [LEFT] = 0x1F448, | ||
81 | [RGHT] = 0x1F449, | ||
82 | }; | ||
83 | |||
84 | // Layer shorthand | ||
85 | #define _BASE 0 | ||
86 | #define _LOWER 1 | ||
87 | #define _EMOJI 2 | ||
88 | #define _MOUSE 3 | ||
89 | |||
90 | #define SP_MSE LT(_MOUSE, KC_SPC) | ||
91 | |||
92 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
93 | |||
94 | [_BASE] = LAYOUT_ortho_4x12( | ||
95 | KC_GESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC , | ||
96 | KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_ENT , | ||
97 | KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_QUOT , | ||
98 | KC_LCTL , KC_GRV , KC_LALT , KC_LGUI , MO(1) , SP_MSE , SP_MSE , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , MO(2) | ||
99 | ), | ||
100 | |||
101 | [_LOWER] = LAYOUT_ortho_4x12( | ||
102 | _______ , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL , | ||
103 | _______ , KC_F1 , KC_F2 , KC_F3 , KC_LBRC , KC_MINS , KC_EQL , KC_RBRC , KC_F7 , KC_F8 , KC_F9 , _______ , | ||
104 | _______ , KC_F4 , KC_F5 , KC_F6 , KC_HOME , KC_BSLS , KC_MPLY , KC_END , KC_F10 , KC_F11 , KC_F12 , _______ , | ||
105 | _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ | ||
106 | ), | ||
107 | |||
108 | [_EMOJI] = LAYOUT_ortho_4x12( | ||
109 | _______ , X(CLAP) , X(CUM) , X(BNIS) , X(BUTT) , X(CAR) , X(FIRE) , X(REDB) , X(MONY) , X(HNDR) , X(SOS) , _______ , | ||
110 | _______ , X(CELE) , X(PRAY) , X(NAIL) , X(OK) , X(THNK) , X(UNAM) , X(HEYE) , X(COOL) , X(EYES) , X(SMIR) , _______ , | ||
111 | _______ , X(TRIU) , X(SCRM) , X(VOMI) , X(DTIV) , X(EXPL) , X(HAIR) , X(DANC) , X(STRN) , X(LEFT) , X(RGHT) , _______ , | ||
112 | _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ | ||
113 | ), | ||
114 | |||
115 | [_MOUSE] = LAYOUT_ortho_4x12( | ||
116 | _______ , KC_WH_L , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_U , KC_WH_U , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_L , _______ , | ||
117 | _______ , KC_WH_R , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_D , KC_WH_D , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_R , _______ , | ||
118 | _______ , KC_VOLD , KC_VOLU , KC_MPRV , KC_MNXT , KC_MPLY , KC_MPLY , KC_MPRV , KC_MNXT , KC_VOLD , KC_VOLU , _______ , | ||
119 | _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ | ||
120 | ) | ||
121 | |||
122 | }; | ||
123 | |||
124 | void matrix_init_user(void) { | ||
125 | set_unicode_input_mode(UC_LNX); | ||
126 | } | ||
diff --git a/keyboards/contra/keymaps/bramver/rules.mk b/keyboards/contra/keymaps/bramver/rules.mk new file mode 100755 index 000000000..925b1c2b2 --- /dev/null +++ b/keyboards/contra/keymaps/bramver/rules.mk | |||
@@ -0,0 +1,6 @@ | |||
1 | MOUSEKEY_ENABLE = yes # Mouse keys(+4700) | ||
2 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
3 | NKRO_ENABLE = yes # USB Nkey Rollover | ||
4 | UNICODEMAP_ENABLE = yes # Unicode | ||
5 | BOOTLOADER = atmel-dfu | ||
6 | |||
diff --git a/keyboards/contra/keymaps/dana/config.h b/keyboards/contra/keymaps/dana/config.h new file mode 100644 index 000000000..2846b5791 --- /dev/null +++ b/keyboards/contra/keymaps/dana/config.h | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | Copyright 2012 Jun Wako <[email protected]> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #ifndef CONFIG_USER_H | ||
19 | #define CONFIG_USER_H | ||
20 | |||
21 | #include "../../config.h" | ||
22 | |||
23 | |||
24 | #undef TAPPING_TERM | ||
25 | #define TAPPING_TERM 190 | ||
26 | |||
27 | #define MUSIC_MASK (keycode != KC_NO) | ||
28 | #define MIDI_ADVANCED | ||
29 | |||
30 | #endif | ||
diff --git a/keyboards/contra/keymaps/dana/keymap.c b/keyboards/contra/keymaps/dana/keymap.c new file mode 100644 index 000000000..51fa9f75f --- /dev/null +++ b/keyboards/contra/keymaps/dana/keymap.c | |||
@@ -0,0 +1,32 @@ | |||
1 | // This is the canonical layout file for the Quantum project. If you want to add another keyboard, | ||
2 | // this is the style you want to emulate. | ||
3 | |||
4 | #include QMK_KEYBOARD_H | ||
5 | |||
6 | extern keymap_config_t keymap_config; | ||
7 | |||
8 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
9 | |||
10 | /* Qwerty | ||
11 | * ,-----------------------------------------------------------------------------------. | ||
12 | * | ` | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
13 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
14 | * | Tab | A | S | D | F | G | H | J | K | L | ; | " | | ||
15 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
16 | * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift | | ||
17 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
18 | * | Brite| Ctrl | Alt | Cmd |Lower | Space |Raise | Enter| Cmd | Alt |Ctrl | | ||
19 | * `-----------------------------------------------------------------------------------' | ||
20 | */ | ||
21 | [0] = LAYOUT_ortho_4x12( | ||
22 | MI_C_4, MI_Cs_4, MI_D_4, MI_Ds_4, MI_E_4, MI_F_4, MI_Fs_4, MI_G_4, MI_Gs_4, MI_A_4, MI_As_4, MI_B_4, | ||
23 | MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3, MI_A_3, MI_As_3, MI_B_3, | ||
24 | MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2, | ||
25 | MI_C_1, MI_Cs_1, MI_D_1, MI_Ds_1, MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1, MI_A_1, MI_As_1, MI_B_1 | ||
26 | ) | ||
27 | |||
28 | }; | ||
29 | |||
30 | |||
31 | |||
32 | |||
diff --git a/keyboards/contra/keymaps/dana/readme.md b/keyboards/contra/keymaps/dana/readme.md new file mode 100644 index 000000000..75b4582d4 --- /dev/null +++ b/keyboards/contra/keymaps/dana/readme.md | |||
@@ -0,0 +1,6 @@ | |||
1 | # Dana musical MIDI keyboard layout | ||
2 | |||
3 | Has the contra mapped as a MIDI keyboard, where each row is an octave. | ||
4 | |||
5 | The keyboard has only MIDI, nothing else! | ||
6 | |||
diff --git a/keyboards/contra/keymaps/dana/rules.mk b/keyboards/contra/keymaps/dana/rules.mk new file mode 100644 index 000000000..bd29e0f41 --- /dev/null +++ b/keyboards/contra/keymaps/dana/rules.mk | |||
@@ -0,0 +1,22 @@ | |||
1 | |||
2 | |||
3 | # Build Options | ||
4 | # change to "no" to disable the options, or define them in the Makefile in | ||
5 | # the appropriate keymap folder that will get included automatically | ||
6 | # | ||
7 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | ||
8 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | ||
9 | EXTRAKEY_ENABLE = no # Audio control and System control(+450) | ||
10 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
11 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
12 | NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
13 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
14 | MIDI_ENABLE = yes # MIDI controls | ||
15 | AUDIO_ENABLE = no # Audio output on port C6 | ||
16 | UNICODE_ENABLE = no # Unicode | ||
17 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
18 | RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight | ||
19 | |||
20 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
21 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
22 | |||
diff --git a/keyboards/contra/keymaps/deastiny/config.h b/keyboards/contra/keymaps/deastiny/config.h new file mode 100644 index 000000000..6166fea4a --- /dev/null +++ b/keyboards/contra/keymaps/deastiny/config.h | |||
@@ -0,0 +1,34 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #ifdef AUDIO_ENABLE | ||
4 | #define STARTUP_SONG SONG(PLANCK_SOUND) | ||
5 | // #define STARTUP_SONG SONG(NO_SOUND) | ||
6 | |||
7 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
8 | SONG(COLEMAK_SOUND), \ | ||
9 | SONG(DVORAK_SOUND) \ | ||
10 | } | ||
11 | #endif | ||
12 | |||
13 | #define MUSIC_MASK (keycode != KC_NO) | ||
14 | |||
15 | /* | ||
16 | * MIDI options | ||
17 | */ | ||
18 | |||
19 | /* enable basic MIDI features: | ||
20 | - MIDI notes can be sent when in Music mode is on | ||
21 | */ | ||
22 | |||
23 | #define MIDI_BASIC | ||
24 | |||
25 | /* enable advanced MIDI features: | ||
26 | - MIDI notes can be added to the keymap | ||
27 | - Octave shift and transpose | ||
28 | - Virtual sustain, portamento, and modulation wheel | ||
29 | - etc. | ||
30 | */ | ||
31 | //#define MIDI_ADVANCED | ||
32 | |||
33 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
34 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 | ||
diff --git a/keyboards/contra/keymaps/deastiny/keymap.c b/keyboards/contra/keymaps/deastiny/keymap.c new file mode 100644 index 000000000..026db263e --- /dev/null +++ b/keyboards/contra/keymaps/deastiny/keymap.c | |||
@@ -0,0 +1,142 @@ | |||
1 | /* Copyright 2015-2017 Jack Humbert | ||
2 | * | ||
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. | ||
7 | * | ||
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. | ||
12 | * | ||
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/>. | ||
15 | */ | ||
16 | |||
17 | #include QMK_KEYBOARD_H | ||
18 | #include "keymap_extras/keymap_german.h" | ||
19 | |||
20 | extern keymap_config_t keymap_config; | ||
21 | |||
22 | enum planck_layers { | ||
23 | _DVORAK, | ||
24 | _LOWER, | ||
25 | _RAISE, | ||
26 | _ADJUST | ||
27 | }; | ||
28 | |||
29 | enum planck_keycodes { | ||
30 | DVORAK = SAFE_RANGE, | ||
31 | LOWER, | ||
32 | RAISE | ||
33 | }; | ||
34 | |||
35 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
36 | |||
37 | /** | ||
38 | ,-----------------------------------------------------------------------------------. | ||
39 | | ESC | Ü | , | . | P | Y | F | G | C | T | Z | Bksp | | ||
40 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
41 | | TAB | A | O | E | I | U | H | D | R | N | S | L | | ||
42 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
43 | | Shift| Ä | Ö | Q | J | K | X | B | M | W | V |Enter | | ||
44 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
45 | | CTRL | GUI | Alt | MOD |Lower | Space |Raise | Left |Right | Up |Down | | ||
46 | `-----------------------------------------------------------------------------------' | ||
47 | **/ | ||
48 | [_DVORAK] = LAYOUT_planck_mit( | ||
49 | KC_ESC, DE_UDIA, DE_COMM, DE_DOT, DE_P, DE_Y, DE_F, DE_G, DE_C, DE_T, DE_Z, KC_BSPC, | ||
50 | KC_TAB, DE_A, DE_O, DE_E, DE_I, DE_U, DE_H, DE_D, DE_R, DE_N, DE_S, DE_L, | ||
51 | KC_LSFT, DE_ADIA, DE_ODIA, DE_Q, DE_J, DE_K, DE_X, DE_B, DE_M, DE_W, DE_V, KC_ENT , | ||
52 | KC_LCTL, KC_LGUI, KC_LALT, MO(3), LOWER, KC_SPC, RAISE, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN | ||
53 | ), | ||
54 | |||
55 | /* Lower | ||
56 | * ,-----------------------------------------------------------------------------------. | ||
57 | * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | | ||
58 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
59 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | ||
60 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
61 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | | ||
62 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
63 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
64 | * `-----------------------------------------------------------------------------------' | ||
65 | */ | ||
66 | [_LOWER] = LAYOUT_planck_mit( | ||
67 | DE_TILD, DE_EXLM, DE_AT, DE_HASH, DE_DLR, DE_PERC, DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, KC_DEL, | ||
68 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_UNDS, DE_PLUS, DE_LCBR, DE_RCBR, DE_PIPE, | ||
69 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, DE_QUES, | ||
70 | _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
71 | ), | ||
72 | |||
73 | /* Raise | ||
74 | * ,-----------------------------------------------------------------------------------. | ||
75 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | | ||
76 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
77 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | ||
78 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
79 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | ||
80 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
81 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
82 | * `-----------------------------------------------------------------------------------' | ||
83 | */ | ||
84 | [_RAISE] = LAYOUT_planck_mit( | ||
85 | DE_GRV, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, KC_DEL, | ||
86 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_MINS, DE_EQL, DE_LBRC, DE_RBRC, DE_BSLS, | ||
87 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, DE_SLSH, | ||
88 | _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
89 | ), | ||
90 | |||
91 | /* Adjust (MO(3)) | ||
92 | * ,-----------------------------------------------------------------------------------. | ||
93 | * | | HOME | UP | END | | | | | | | | Del | | ||
94 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
95 | * | | LEFT | DOWN | RIGHT| | | | | | | | | | ||
96 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
97 | * | | | | | | | | | | | | | | ||
98 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
99 | * | | | | | | | | | | | | | ||
100 | * `-----------------------------------------------------------------------------------' | ||
101 | */ | ||
102 | [_ADJUST] = LAYOUT_planck_mit( | ||
103 | _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______, KC_DEL , | ||
104 | _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, | ||
105 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
106 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
107 | ) | ||
108 | |||
109 | }; | ||
110 | |||
111 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
112 | switch (keycode) { | ||
113 | case DVORAK: | ||
114 | if (record->event.pressed) { | ||
115 | print("mode just switched to dvorak and this is a huge string\n"); | ||
116 | set_single_persistent_default_layer(_DVORAK); | ||
117 | } | ||
118 | return false; | ||
119 | break; | ||
120 | case LOWER: | ||
121 | if (record->event.pressed) { | ||
122 | layer_on(_LOWER); | ||
123 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
124 | } else { | ||
125 | layer_off(_LOWER); | ||
126 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
127 | } | ||
128 | return false; | ||
129 | break; | ||
130 | case RAISE: | ||
131 | if (record->event.pressed) { | ||
132 | layer_on(_RAISE); | ||
133 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
134 | } else { | ||
135 | layer_off(_RAISE); | ||
136 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
137 | } | ||
138 | return false; | ||
139 | break; | ||
140 | } | ||
141 | return true; | ||
142 | } | ||
diff --git a/keyboards/contra/keymaps/deastiny/readme.md b/keyboards/contra/keymaps/deastiny/readme.md new file mode 100644 index 000000000..61d722847 --- /dev/null +++ b/keyboards/contra/keymaps/deastiny/readme.md | |||
@@ -0,0 +1,56 @@ | |||
1 | # A Dvorak Type II based board | ||
2 | |||
3 | As I switched from a Poker II some keys are based on my experience there. | ||
4 | |||
5 | |||
6 | ## DVORAK (Normal) Layer | ||
7 | ``` | ||
8 | ,-----------------------------------------------------------------------------------. | ||
9 | | ESC | Ü | , | . | P | Y | F | G | C | T | Z | Bksp | | ||
10 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
11 | | TAB | A | O | E | I | U | H | D | R | N | S | L | | ||
12 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
13 | | Shift| Ä | Ö | Q | J | K | X | B | M | W | V |Enter | | ||
14 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
15 | | CTRL | OS | Alt | MO(3)|Lower | Space |Raise | Left |Right | Up |Down | | ||
16 | `-----------------------------------------------------------------------------------' | ||
17 | ``` | ||
18 | |||
19 | ## Lower | ||
20 | ``` | ||
21 | ,-----------------------------------------------------------------------------------. | ||
22 | | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | ||
23 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
24 | | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | ||
25 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
26 | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | ? | | ||
27 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
28 | | | | | | | | | Next | Vol- | Vol+ | Play | | ||
29 | `-----------------------------------------------------------------------------------' | ||
30 | ``` | ||
31 | |||
32 | ## Raise | ||
33 | ``` | ||
34 | ,-----------------------------------------------------------------------------------. | ||
35 | | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | ||
36 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
37 | | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | ||
38 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
39 | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | / | | ||
40 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
41 | | | | | | | | | Next | Vol- | Vol+ | Play | | ||
42 | `-----------------------------------------------------------------------------------' | ||
43 | ``` | ||
44 | |||
45 | ## Adjust (MO(3)) | ||
46 | ``` | ||
47 | ,-----------------------------------------------------------------------------------. | ||
48 | | | HOME | UP | END | | | | | | | | Del | | ||
49 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
50 | | | LEFT | DOWN | RIGHT| | | | | | | | | | ||
51 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
52 | | | | | | | | | | | | | | | ||
53 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
54 | | | | | | | | | | | | | | ||
55 | `-----------------------------------------------------------------------------------' | ||
56 | ``` \ No newline at end of file | ||
diff --git a/keyboards/contra/keymaps/default/config.h b/keyboards/contra/keymaps/default/config.h new file mode 100644 index 000000000..6114392f6 --- /dev/null +++ b/keyboards/contra/keymaps/default/config.h | |||
@@ -0,0 +1,35 @@ | |||
1 | #pragma once | ||
2 | |||
3 | |||
4 | #ifdef AUDIO_ENABLE | ||
5 | #define STARTUP_SONG SONG(PLANCK_SOUND) | ||
6 | // #define STARTUP_SONG SONG(NO_SOUND) | ||
7 | |||
8 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
9 | SONG(COLEMAK_SOUND), \ | ||
10 | SONG(DVORAK_SOUND) \ | ||
11 | } | ||
12 | #endif | ||
13 | |||
14 | #define MUSIC_MASK (keycode != KC_NO) | ||
15 | |||
16 | /* | ||
17 | * MIDI options | ||
18 | */ | ||
19 | |||
20 | /* enable basic MIDI features: | ||
21 | - MIDI notes can be sent when in Music mode is on | ||
22 | */ | ||
23 | |||
24 | #define MIDI_BASIC | ||
25 | |||
26 | /* enable advanced MIDI features: | ||
27 | - MIDI notes can be added to the keymap | ||
28 | - Octave shift and transpose | ||
29 | - Virtual sustain, portamento, and modulation wheel | ||
30 | - etc. | ||
31 | */ | ||
32 | //#define MIDI_ADVANCED | ||
33 | |||
34 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
35 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 | ||
diff --git a/keyboards/contra/keymaps/default/keymap.c b/keyboards/contra/keymaps/default/keymap.c new file mode 100644 index 000000000..6a653d9ce --- /dev/null +++ b/keyboards/contra/keymaps/default/keymap.c | |||
@@ -0,0 +1,260 @@ | |||
1 | /* Copyright 2015-2017 Jack Humbert | ||
2 | * | ||
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. | ||
7 | * | ||
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. | ||
12 | * | ||
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/>. | ||
15 | */ | ||
16 | |||
17 | #include QMK_KEYBOARD_H | ||
18 | |||
19 | |||
20 | enum planck_layers { | ||
21 | _QWERTY, | ||
22 | _COLEMAK, | ||
23 | _DVORAK, | ||
24 | _LOWER, | ||
25 | _RAISE, | ||
26 | _PLOVER, | ||
27 | _ADJUST | ||
28 | }; | ||
29 | |||
30 | enum planck_keycodes { | ||
31 | QWERTY = SAFE_RANGE, | ||
32 | COLEMAK, | ||
33 | DVORAK, | ||
34 | PLOVER, | ||
35 | LOWER, | ||
36 | RAISE, | ||
37 | BACKLIT, | ||
38 | EXT_PLV | ||
39 | }; | ||
40 | |||
41 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
42 | |||
43 | /* Qwerty | ||
44 | * ,-----------------------------------------------------------------------------------. | ||
45 | * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
46 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
47 | * | Esc | A | S | D | F | G | H | J | K | L | ; | " | | ||
48 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
49 | * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | ||
50 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
51 | * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | ||
52 | * `-----------------------------------------------------------------------------------' | ||
53 | */ | ||
54 | [_QWERTY] = LAYOUT_planck_mit( | ||
55 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
56 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
57 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , | ||
58 | BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
59 | ), | ||
60 | |||
61 | /* Colemak | ||
62 | * ,-----------------------------------------------------------------------------------. | ||
63 | * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | | ||
64 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
65 | * | Esc | A | R | S | T | D | H | N | E | I | O | " | | ||
66 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
67 | * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | | ||
68 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
69 | * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | ||
70 | * `-----------------------------------------------------------------------------------' | ||
71 | */ | ||
72 | [_COLEMAK] = LAYOUT_planck_mit( | ||
73 | KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, | ||
74 | KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, | ||
75 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , | ||
76 | BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
77 | ), | ||
78 | |||
79 | /* Dvorak | ||
80 | * ,-----------------------------------------------------------------------------------. | ||
81 | * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | | ||
82 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
83 | * | Esc | A | O | E | U | I | D | H | T | N | S | / | | ||
84 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
85 | * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | | ||
86 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
87 | * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | ||
88 | * `-----------------------------------------------------------------------------------' | ||
89 | */ | ||
90 | [_DVORAK] = LAYOUT_planck_mit( | ||
91 | KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, | ||
92 | KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, | ||
93 | KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , | ||
94 | BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
95 | ), | ||
96 | |||
97 | /* Lower | ||
98 | * ,-----------------------------------------------------------------------------------. | ||
99 | * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | ||
100 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
101 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | ||
102 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
103 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | | ||
104 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
105 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
106 | * `-----------------------------------------------------------------------------------' | ||
107 | */ | ||
108 | [_LOWER] = LAYOUT_planck_mit( | ||
109 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
110 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
111 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
112 | _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
113 | ), | ||
114 | |||
115 | /* Raise | ||
116 | * ,-----------------------------------------------------------------------------------. | ||
117 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | ||
118 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
119 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | ||
120 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
121 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | ||
122 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
123 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
124 | * `-----------------------------------------------------------------------------------' | ||
125 | */ | ||
126 | [_RAISE] = LAYOUT_planck_mit( | ||
127 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
128 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
129 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
130 | _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
131 | ), | ||
132 | |||
133 | /* Plover layer (http://opensteno.org) | ||
134 | * ,-----------------------------------------------------------------------------------. | ||
135 | * | # | # | # | # | # | # | # | # | # | # | # | # | | ||
136 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
137 | * | | S | T | P | H | * | * | F | P | L | T | D | | ||
138 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
139 | * | | S | K | W | R | * | * | R | B | G | S | Z | | ||
140 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
141 | * | Exit | | | A | O | | E | U | | | | | ||
142 | * `-----------------------------------------------------------------------------------' | ||
143 | */ | ||
144 | |||
145 | [_PLOVER] = LAYOUT_planck_mit( | ||
146 | KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 , | ||
147 | XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, | ||
148 | XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
149 | EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX | ||
150 | ), | ||
151 | |||
152 | /* Adjust (Lower + Raise) | ||
153 | * ,-----------------------------------------------------------------------------------. | ||
154 | * | | Reset| | | | | | | | | | Del | | ||
155 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
156 | * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | | ||
157 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
158 | * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | | ||
159 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
160 | * | | | | | | | | | | | | | ||
161 | * `-----------------------------------------------------------------------------------' | ||
162 | */ | ||
163 | [_ADJUST] = LAYOUT_planck_mit( | ||
164 | _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , | ||
165 | _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, | ||
166 | _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, | ||
167 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
168 | ) | ||
169 | |||
170 | }; | ||
171 | |||
172 | |||
173 | #ifdef AUDIO_ENABLE | ||
174 | float plover_song[][2] = SONG(PLOVER_SOUND); | ||
175 | float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); | ||
176 | #endif | ||
177 | |||
178 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
179 | switch (keycode) { | ||
180 | case QWERTY: | ||
181 | if (record->event.pressed) { | ||
182 | print("mode just switched to qwerty and this is a huge string\n"); | ||
183 | set_single_persistent_default_layer(_QWERTY); | ||
184 | } | ||
185 | return false; | ||
186 | break; | ||
187 | case COLEMAK: | ||
188 | if (record->event.pressed) { | ||
189 | set_single_persistent_default_layer(_COLEMAK); | ||
190 | } | ||
191 | return false; | ||
192 | break; | ||
193 | case DVORAK: | ||
194 | if (record->event.pressed) { | ||
195 | set_single_persistent_default_layer(_DVORAK); | ||
196 | } | ||
197 | return false; | ||
198 | break; | ||
199 | case LOWER: | ||
200 | if (record->event.pressed) { | ||
201 | layer_on(_LOWER); | ||
202 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
203 | } else { | ||
204 | layer_off(_LOWER); | ||
205 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
206 | } | ||
207 | return false; | ||
208 | break; | ||
209 | case RAISE: | ||
210 | if (record->event.pressed) { | ||
211 | layer_on(_RAISE); | ||
212 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
213 | } else { | ||
214 | layer_off(_RAISE); | ||
215 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
216 | } | ||
217 | return false; | ||
218 | break; | ||
219 | case BACKLIT: | ||
220 | if (record->event.pressed) { | ||
221 | register_code(KC_RSFT); | ||
222 | #ifdef BACKLIGHT_ENABLE | ||
223 | backlight_step(); | ||
224 | #endif | ||
225 | } else { | ||
226 | unregister_code(KC_RSFT); | ||
227 | } | ||
228 | return false; | ||
229 | break; | ||
230 | case PLOVER: | ||
231 | if (record->event.pressed) { | ||
232 | #ifdef AUDIO_ENABLE | ||
233 | stop_all_notes(); | ||
234 | PLAY_SONG(plover_song); | ||
235 | #endif | ||
236 | layer_off(_RAISE); | ||
237 | layer_off(_LOWER); | ||
238 | layer_off(_ADJUST); | ||
239 | layer_on(_PLOVER); | ||
240 | if (!eeconfig_is_enabled()) { | ||
241 | eeconfig_init(); | ||
242 | } | ||
243 | keymap_config.raw = eeconfig_read_keymap(); | ||
244 | keymap_config.nkro = 1; | ||
245 | eeconfig_update_keymap(keymap_config.raw); | ||
246 | } | ||
247 | return false; | ||
248 | break; | ||
249 | case EXT_PLV: | ||
250 | if (record->event.pressed) { | ||
251 | #ifdef AUDIO_ENABLE | ||
252 | PLAY_SONG(plover_gb_song); | ||
253 | #endif | ||
254 | layer_off(_PLOVER); | ||
255 | } | ||
256 | return false; | ||
257 | break; | ||
258 | } | ||
259 | return true; | ||
260 | } | ||
diff --git a/keyboards/contra/keymaps/default/readme.md b/keyboards/contra/keymaps/default/readme.md new file mode 100644 index 000000000..80aba1095 --- /dev/null +++ b/keyboards/contra/keymaps/default/readme.md | |||
@@ -0,0 +1,2 @@ | |||
1 | # The Default Contra Layout | ||
2 | |||
diff --git a/keyboards/contra/keymaps/erovia/config.h b/keyboards/contra/keymaps/erovia/config.h new file mode 100644 index 000000000..11d6a2c1a --- /dev/null +++ b/keyboards/contra/keymaps/erovia/config.h | |||
@@ -0,0 +1,7 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #define AUTO_SHIFT_TIMEOUT 150 | ||
4 | #define NO_AUTO_SHIFT_SPECIAL | ||
5 | #define NO_AUTO_SHIFT_NUMERIC | ||
6 | |||
7 | #define TAPPING_TERM 200 | ||
diff --git a/keyboards/contra/keymaps/erovia/keymap.c b/keyboards/contra/keymaps/erovia/keymap.c new file mode 100644 index 000000000..9b72e5733 --- /dev/null +++ b/keyboards/contra/keymaps/erovia/keymap.c | |||
@@ -0,0 +1,163 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | extern keymap_config_t keymap_config; | ||
4 | |||
5 | enum planck_layers { | ||
6 | _QWERTY, | ||
7 | _COLEMAK, | ||
8 | _LOWER, | ||
9 | _RAISE, | ||
10 | _ADJUST | ||
11 | }; | ||
12 | |||
13 | enum planck_keycodes { | ||
14 | QWERTY = SAFE_RANGE, | ||
15 | COLEMAK, | ||
16 | LOWER, | ||
17 | RAISE | ||
18 | }; | ||
19 | |||
20 | enum { | ||
21 | TD_SPACE_CADET_SHIFT = 0, | ||
22 | TD_SPACE_CADET_ENTER = 1 | ||
23 | }; | ||
24 | |||
25 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
26 | [TD_SPACE_CADET_SHIFT] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_LPRN), | ||
27 | [TD_SPACE_CADET_ENTER] = ACTION_TAP_DANCE_DOUBLE(KC_ENT, KC_RPRN) | ||
28 | }; | ||
29 | |||
30 | #define TD_SHFT TD(TD_SPACE_CADET_SHIFT) | ||
31 | #define TD_ENTR TD(TD_SPACE_CADET_ENTER) | ||
32 | |||
33 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
34 | |||
35 | /* Qwerty | ||
36 | * ,-----------------------------------------------------------------------------------. | ||
37 | * | ` | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
38 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
39 | * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | | ||
40 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
41 | * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | ||
42 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
43 | * | Ctrl | GUI | Alt | GUI |Lower | Tab |Space |Raise | Left | Down | Up |Right | | ||
44 | * `-----------------------------------------------------------------------------------' | ||
45 | */ | ||
46 | [_QWERTY] = LAYOUT_ortho_4x12( | ||
47 | KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
48 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
49 | TD_SHFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD_ENTR, | ||
50 | KC_LCTL, KC_LGUI, KC_LALT, KC_LGUI, LOWER, KC_TAB, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
51 | ), | ||
52 | |||
53 | /* Colemak | ||
54 | * ,-----------------------------------------------------------------------------------. | ||
55 | * | ` | Q | W | F | P | B | J | L | U | Y | ; | Bksp | | ||
56 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
57 | * | Ctrl | A | R | S | T | G | M | N | E | I | O | ' | | ||
58 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
59 | * | Shift| Z | X | C | D | V | K | H | , | . | / |Enter | | ||
60 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
61 | * | Ctrl | GUI | Alt | GUI |Lower | Tab |Space |Raise | Left | Down | Up |Right | | ||
62 | * `-----------------------------------------------------------------------------------' | ||
63 | */ | ||
64 | [_COLEMAK] = LAYOUT_ortho_4x12( | ||
65 | KC_GRV, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, | ||
66 | KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, | ||
67 | TD(TD_SPACE_CADET_SHIFT), KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, TD(TD_SPACE_CADET_ENTER), | ||
68 | KC_LCTL, KC_LGUI, KC_LALT, KC_LGUI, LOWER, KC_TAB, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
69 | ), | ||
70 | |||
71 | /* Lower | ||
72 | * ,-----------------------------------------------------------------------------------. | ||
73 | * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | ||
74 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
75 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | ||
76 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
77 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | | ||
78 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
79 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
80 | * `-----------------------------------------------------------------------------------' | ||
81 | */ | ||
82 | [_LOWER] = LAYOUT_ortho_4x12( | ||
83 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
84 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
85 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
86 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
87 | ), | ||
88 | |||
89 | /* Raise | ||
90 | * ,-----------------------------------------------------------------------------------. | ||
91 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | ||
92 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
93 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | ||
94 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
95 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | ||
96 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
97 | * | | | | | | | | Prev | Vol- | Mute | Stop | | ||
98 | * `-----------------------------------------------------------------------------------' | ||
99 | */ | ||
100 | [_RAISE] = LAYOUT_ortho_4x12( | ||
101 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
102 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
103 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
104 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MUTE, KC_MSTP | ||
105 | ), | ||
106 | |||
107 | /* Adjust (Lower + Raise) | ||
108 | * ,-----------------------------------------------------------------------------------. | ||
109 | * | | | | | | | | | | | | | | ||
110 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
111 | * | | | | | | | |Qwerty|Colemk| | | | | ||
112 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
113 | * | | | | | | | | | | | | | | ||
114 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
115 | * | | | | | | | | | | | AuSh | | ||
116 | * `-----------------------------------------------------------------------------------' | ||
117 | */ | ||
118 | [_ADJUST] = LAYOUT_ortho_4x12( | ||
119 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
120 | _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, _______, _______, _______, | ||
121 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
122 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ASTG | ||
123 | ) | ||
124 | |||
125 | }; | ||
126 | |||
127 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
128 | switch (keycode) { | ||
129 | case QWERTY: | ||
130 | if (record->event.pressed) { | ||
131 | set_single_persistent_default_layer(_QWERTY); | ||
132 | } | ||
133 | return false; | ||
134 | break; | ||
135 | case COLEMAK: | ||
136 | if (record->event.pressed) { | ||
137 | set_single_persistent_default_layer(_COLEMAK); | ||
138 | } | ||
139 | return false; | ||
140 | break; | ||
141 | case LOWER: | ||
142 | if (record->event.pressed) { | ||
143 | layer_on(_LOWER); | ||
144 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
145 | } else { | ||
146 | layer_off(_LOWER); | ||
147 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
148 | } | ||
149 | return false; | ||
150 | break; | ||
151 | case RAISE: | ||
152 | if (record->event.pressed) { | ||
153 | layer_on(_RAISE); | ||
154 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
155 | } else { | ||
156 | layer_off(_RAISE); | ||
157 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
158 | } | ||
159 | return false; | ||
160 | break; | ||
161 | } | ||
162 | return true; | ||
163 | } | ||
diff --git a/keyboards/contra/keymaps/erovia/readme.md b/keyboards/contra/keymaps/erovia/readme.md new file mode 100644 index 000000000..34cbdf0a1 --- /dev/null +++ b/keyboards/contra/keymaps/erovia/readme.md | |||
@@ -0,0 +1,76 @@ | |||
1 | # Erovia's Contra Keymap | ||
2 | |||
3 | My personal Contra keymap based on the *basic* keymap. | ||
4 | |||
5 | **Features** | ||
6 | |||
7 | * Qwerty and Colemak Mod-DH support | ||
8 | * autoshifting | ||
9 | * double tap LSHIFT and ENTER for quick access to ( and ) | ||
10 | |||
11 | ## QWERTY (Normal) Layer | ||
12 | ``` | ||
13 | ,-----------------------------------------------------------------------------------. | ||
14 | | ` | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
15 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
16 | | Esc | A | S | D | F | G | H | J | K | L | ; | ' | | ||
17 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
18 | | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | ||
19 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
20 | | Ctrl | GUI | Alt | GUI |Lower | Tab |Space |Raise | Left | Down | Up |Right | | ||
21 | `-----------------------------------------------------------------------------------' | ||
22 | ``` | ||
23 | |||
24 | ## Colemak Layer | ||
25 | Switch from `Adjust` layer. | ||
26 | ``` | ||
27 | ,-----------------------------------------------------------------------------------. | ||
28 | | ` | Q | W | F | P | B | J | L | U | Y | ; | Bksp | | ||
29 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
30 | | Ctrl | A | R | S | T | G | M | N | E | I | O | ' | | ||
31 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
32 | | Shift| Z | X | C | D | V | K | H | , | . | / |Enter | | ||
33 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
34 | | Ctrl | GUI | Alt | GUI |Lower | Tab |Space |Raise | Left | Down | Up |Right | | ||
35 | `-----------------------------------------------------------------------------------' | ||
36 | ``` | ||
37 | |||
38 | ## Lower | ||
39 | ``` | ||
40 | ,-----------------------------------------------------------------------------------. | ||
41 | | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | ||
42 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
43 | | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | ||
44 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
45 | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | | ||
46 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
47 | | | | | | | | | Next | Vol- | Vol+ | Play | | ||
48 | `-----------------------------------------------------------------------------------' | ||
49 | ``` | ||
50 | |||
51 | ## Raise | ||
52 | ``` | ||
53 | ,-----------------------------------------------------------------------------------. | ||
54 | | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | ||
55 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
56 | | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | ||
57 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
58 | | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | ||
59 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
60 | | | | | | | | | Prev | Vol- | Mute | Stop | | ||
61 | `-----------------------------------------------------------------------------------' | ||
62 | ``` | ||
63 | |||
64 | ## Adjust | ||
65 | `AuSh` toggles autoshifting. | ||
66 | ``` | ||
67 | ,-----------------------------------------------------------------------------------. | ||
68 | | | | | | | | | | | | | | | ||
69 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
70 | | | | | | | | |Qwerty|Colemk| | | | | ||
71 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
72 | | | | | | | | | | | | | | | ||
73 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
74 | | | | | | | | | | | | AuSh | | ||
75 | `-----------------------------------------------------------------------------------' | ||
76 | ``` | ||
diff --git a/keyboards/contra/keymaps/erovia/rules.mk b/keyboards/contra/keymaps/erovia/rules.mk new file mode 100755 index 000000000..97999d9cb --- /dev/null +++ b/keyboards/contra/keymaps/erovia/rules.mk | |||
@@ -0,0 +1,2 @@ | |||
1 | AUTO_SHIFT_ENABLE = yes | ||
2 | TAP_DANCE_ENABLE = yes | ||
diff --git a/keyboards/contra/keymaps/losinggeneration/README.md b/keyboards/contra/keymaps/losinggeneration/README.md new file mode 100644 index 000000000..affd2fb9b --- /dev/null +++ b/keyboards/contra/keymaps/losinggeneration/README.md | |||
@@ -0,0 +1,30 @@ | |||
1 | losinggeneration's Contra Layout | ||
2 | ============================ | ||
3 | |||
4 | This build uses the MIT layout. | ||
5 | |||
6 | See description of the layout in the common folder | ||
7 | [here](../../../../users/losinggeneration/README.md) | ||
8 | |||
9 | ## Features | ||
10 | - Adjust | ||
11 | - Removed AGSwap, AGNorm, & Del | ||
12 | - Added Caps Lock, F1-F12 in a 4x3 grid, arrow cluster, | ||
13 | and layer transitions to the new layers. | ||
14 | - Moved Reset & Audio control to the right side | ||
15 | |||
16 | ## Layouts | ||
17 | |||
18 | ### Adjust (Lower + Raise) | ||
19 | |||
20 | ``` | ||
21 | ,-----------------------------------------------------------------------------------. | ||
22 | | | F1 | F2 | F3 | F4 | | RESET| Game |Numpad|Mouse | |Sleep | | ||
23 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
24 | | | F5 | F6 | F7 | F8 | | |Qwerty|Colmak|Workmn|Dvorak| | | ||
25 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
26 | | CAPS | F9 | F10 | F11 | F12 | | | | | | Up | | | ||
27 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
28 | | | | | | | | | XXX | Left | Down |Right | | ||
29 | `-----------------------------------------------------------------------------------' | ||
30 | ``` | ||
diff --git a/keyboards/contra/keymaps/losinggeneration/config.h b/keyboards/contra/keymaps/losinggeneration/config.h new file mode 100644 index 000000000..4a64e977c --- /dev/null +++ b/keyboards/contra/keymaps/losinggeneration/config.h | |||
@@ -0,0 +1,23 @@ | |||
1 | /* | ||
2 | Copyright 2017 Danny Nguyen <[email protected]> | ||
3 | Copyright 2018 Harley Laue <[email protected]> | ||
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 | long with this program. If not, see <http://www.gnu.org/licenses/>. | ||
17 | */ | ||
18 | |||
19 | #pragma once | ||
20 | |||
21 | #define USE_MIT_LAYOUT | ||
22 | |||
23 | #define TAPPING_TERM 250 | ||
diff --git a/keyboards/contra/keymaps/losinggeneration/keymap.c b/keyboards/contra/keymaps/losinggeneration/keymap.c new file mode 100644 index 000000000..d4a336c33 --- /dev/null +++ b/keyboards/contra/keymaps/losinggeneration/keymap.c | |||
@@ -0,0 +1,40 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | #include "losinggeneration-config.h" | ||
3 | #include "losinggeneration-keymap.h" | ||
4 | |||
5 | extern keymap_config_t keymap_config; | ||
6 | |||
7 | #define MT_CAPS LSFT_T(KC_CAPS) | ||
8 | |||
9 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
10 | |||
11 | [_QWERTY] = CATMAP( QWERTY_LAYER ), | ||
12 | [_COLEMAK] = CATMAP( COLEMAK_LAYER ), | ||
13 | [_WORKMAN] = CATMAP( WORKMAN_LAYER ), | ||
14 | [_DVORAK] = CATMAP( DVORAK_LAYER ), | ||
15 | [_GAME] = CATMAP( GAME_LAYER ), | ||
16 | [_NUMPAD] = CATMAP( NUMPAD_LAYER ), | ||
17 | [_MOUSE] = CATMAP( MOUSE_LAYER ), | ||
18 | [_LOWER] = CATMAP( LOWER_LAYER ), | ||
19 | [_RAISE] = CATMAP( RAISE_LAYER ), | ||
20 | |||
21 | /* Adjust (Lower + Raise) | ||
22 | * ,-----------------------------------------------------------------------------------. | ||
23 | * | | F1 | F2 | F3 | F4 | | RESET| Game |Numpad|Mouse | |Sleep | | ||
24 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
25 | * | | F5 | F6 | F7 | F8 | | |Qwerty|Colmak|Workmn|Dvorak| | | ||
26 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
27 | * | CAPS | F9 | F10 | F11 | F12 | | | | | | Up | | | ||
28 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
29 | * | | | | | | | | XXX | Left | Down |Right | | ||
30 | * `-----------------------------------------------------------------------------------' | ||
31 | */ | ||
32 | [_ADJUST] = CATMAP( \ | ||
33 | _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, RESET , TO_GAME, TO_NUM , TO_MS , _______, KC_SLEP, \ | ||
34 | _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, QWERTY , COLEMAK, WORKMAN, DVORAK , _______, \ | ||
35 | MT_CAPS, KC_F9 , KC_F10, KC_F11 , KC_F12 , _______, _______, _______, _______, _______, KC_UP , _______, \ | ||
36 | _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT \ | ||
37 | ) | ||
38 | |||
39 | }; | ||
40 | |||
diff --git a/keyboards/contra/keymaps/losinggeneration/rules.mk b/keyboards/contra/keymaps/losinggeneration/rules.mk new file mode 100644 index 000000000..34b0ba318 --- /dev/null +++ b/keyboards/contra/keymaps/losinggeneration/rules.mk | |||
@@ -0,0 +1,14 @@ | |||
1 | # Build Options | ||
2 | # change to "no" to disable the options, or define them in the Makefile in | ||
3 | # the appropriate keymap folder that will get included automatically | ||
4 | # | ||
5 | AUDIO_ENABLE = no # Audio output on port C6 | ||
6 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
7 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
8 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | ||
9 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
10 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
11 | MIDI_ENABLE = no # MIDI controls | ||
12 | NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
13 | RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | ||
14 | |||
diff --git a/keyboards/contra/keymaps/maxr1998/config.h b/keyboards/contra/keymaps/maxr1998/config.h new file mode 100644 index 000000000..b384a2fd3 --- /dev/null +++ b/keyboards/contra/keymaps/maxr1998/config.h | |||
@@ -0,0 +1,15 @@ | |||
1 | #ifndef CONFIG_USER_H | ||
2 | #define CONFIG_USER_H | ||
3 | |||
4 | #include "config_common.h" | ||
5 | |||
6 | #define TAPPING_TOGGLE 2 | ||
7 | |||
8 | #define RGB_DI_PIN F7 // pin the DI on the WS2812B is hooked-up to | ||
9 | #define RGBLIGHT_ANIMATIONS // run RGB animations | ||
10 | #define RGBLED_NUM 12 // number of LEDs | ||
11 | #define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue | ||
12 | #define RGBLIGHT_SAT_STEP 25 // units to step when in/decresing saturation | ||
13 | #define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) | ||
14 | |||
15 | #endif | ||
diff --git a/keyboards/contra/keymaps/maxr1998/keymap.c b/keyboards/contra/keymaps/maxr1998/keymap.c new file mode 100644 index 000000000..044ed0c0c --- /dev/null +++ b/keyboards/contra/keymaps/maxr1998/keymap.c | |||
@@ -0,0 +1,185 @@ | |||
1 | /* Copyright 2015-2017 Jack Humbert | ||
2 | * | ||
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. | ||
7 | * | ||
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. | ||
12 | * | ||
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/>. | ||
15 | */ | ||
16 | |||
17 | #include "contra.h" | ||
18 | #include "keymap_german.h" | ||
19 | |||
20 | enum contra_layers { | ||
21 | _QWERTZ, | ||
22 | _FN, | ||
23 | _NR, | ||
24 | _NR_L3, | ||
25 | _FX, | ||
26 | _GAMING | ||
27 | }; | ||
28 | |||
29 | #define KC_I3 LM(_NR, MOD_LALT) | ||
30 | #define KC_NR SAFE_RANGE | ||
31 | #define KC_N3 (SAFE_RANGE + 1) | ||
32 | #define KC_FN MO(_FN) | ||
33 | #define G_1 TO(_GAMING) | ||
34 | #define G_0 TG(_GAMING) | ||
35 | |||
36 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
37 | |||
38 | /* Qwertz | ||
39 | * ,-----------------------------------------------------------------------------------. | ||
40 | * | Esc | Q | W | E | R | T | Z | U | I | O | P | Bksp | | ||
41 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
42 | * | Tab | A | S | D | F | G | H | J | K | L | +* ~ | Enter| | ||
43 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
44 | * | Shift| Y | X | C | V | B | N | M | , | . | Up | Shift| | ||
45 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
46 | * | Ctrl | Sup | Alt | i3 | NumR | Space | Spec | Fun | Left | Down | Right| | ||
47 | * `-----------------------------------------------------------------------------------' | ||
48 | */ | ||
49 | [_QWERTZ] = { | ||
50 | {KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, | ||
51 | {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT }, | ||
52 | {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT}, | ||
53 | {KC_LCTL, KC_LGUI, KC_LALT, KC_I3, KC_NR, KC_SPC, KC_SPC, KC_N3, KC_FN, KC_LEFT, KC_DOWN, KC_RGHT} | ||
54 | }, | ||
55 | |||
56 | /* Function layer | ||
57 | * ,-----------------------------------------------------------------------------------. | ||
58 | * | | | | | | | | Ü | | Ö | | Del | | ||
59 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
60 | * | Lock | Ä | ß | | | GAME | | RGBS | RGBB | RGBS | | | | ||
61 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
62 | * | | | | | | | | RGBH-| RGBT | RGBH+| PgUp | | | ||
63 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
64 | * | | | | ---- | ---- | | ---- | ---- | Home | PgDn | End | | ||
65 | * `-----------------------------------------------------------------------------------' | ||
66 | */ | ||
67 | [_FN] = { | ||
68 | {_______, _______, _______, _______, _______, _______, _______, DE_UDIA, _______, DE_ODIA, _______, KC_DEL }, | ||
69 | {KC_LOCK, DE_ADIA, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______}, | ||
70 | {_______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_TOG, RGB_HUI, KC_PGUP, _______}, | ||
71 | {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END } | ||
72 | }, | ||
73 | |||
74 | /* Numrow layer (special characters with Shift and ISO_L3_Shift) | ||
75 | * ,-----------------------------------------------------------------------------------. | ||
76 | * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ | | ||
77 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
78 | * | | | | | | | | | | | #' | | | ||
79 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
80 | * | | <> | | | | | | | | | | -_ | | | ||
81 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
82 | * | | | | ---- | ---- | | ---- | ---- | | | | | ||
83 | * `-----------------------------------------------------------------------------------' | ||
84 | */ | ||
85 | [_NR] = { | ||
86 | {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, _______}, | ||
87 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_HASH, _______}, | ||
88 | {_______, DE_LABK, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, | ||
89 | {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______} | ||
90 | }, | ||
91 | [_NR_L3] = { | ||
92 | {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS }, | ||
93 | {_______, DE_Q, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
94 | {_______, DE_LABK, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, | ||
95 | {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______} | ||
96 | }, | ||
97 | |||
98 | /* Function keys | ||
99 | * ,-----------------------------------------------------------------------------------. | ||
100 | * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | ||
101 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
102 | * | | | | | | | | | | | | | | ||
103 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
104 | * | | | | | | | | | | | | | | ||
105 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
106 | * | | | | | | | | | | | | | ||
107 | * `-----------------------------------------------------------------------------------' | ||
108 | */ | ||
109 | [_FX] = { | ||
110 | {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 }, | ||
111 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
112 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
113 | {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______} | ||
114 | }, | ||
115 | |||
116 | /* Gaming | ||
117 | * ,-----------------------------------------------------------------------------------. | ||
118 | * | | | | | | | | | | | | | | ||
119 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
120 | * | | | | | | | | | | | | | | ||
121 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
122 | * | | | | | | | | | | | | | | ||
123 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
124 | * | Space| | | | | | | Leave| | | | | ||
125 | * `-----------------------------------------------------------------------------------' | ||
126 | */ | ||
127 | [_GAMING] = { | ||
128 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
129 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
130 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
131 | {KC_SPC, XXXXXXX, _______, _______, _______, KC_LCTL, KC_LCTL, _______, G_0, _______, _______, _______} | ||
132 | } | ||
133 | }; | ||
134 | |||
135 | void update_tri_layer_user(void); | ||
136 | |||
137 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
138 | switch(keycode) { | ||
139 | case KC_BSPC: | ||
140 | if (record->event.pressed) { | ||
141 | if (get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) { | ||
142 | register_code(DE_SS); | ||
143 | return false; | ||
144 | } | ||
145 | } else { | ||
146 | unregister_code(DE_SS); | ||
147 | } | ||
148 | return true; | ||
149 | case KC_NR: | ||
150 | if (record->event.pressed) { | ||
151 | layer_on(_NR); | ||
152 | } else { | ||
153 | layer_off(_NR); | ||
154 | } | ||
155 | update_tri_layer_user(); | ||
156 | return false; | ||
157 | case KC_N3: | ||
158 | if (record->event.pressed) { | ||
159 | layer_on(_NR_L3); | ||
160 | } else { | ||
161 | layer_off(_NR_L3); | ||
162 | } | ||
163 | update_tri_layer_user(); | ||
164 | return false; | ||
165 | default: | ||
166 | return true; | ||
167 | } | ||
168 | } | ||
169 | |||
170 | void update_tri_layer_user(void) { | ||
171 | update_tri_layer(_NR, _NR_L3, _FX); | ||
172 | if (layer_state_is(_NR_L3) && !layer_state_is(_FX)) { | ||
173 | register_code(KC_ALGR); | ||
174 | } else { | ||
175 | unregister_code(KC_ALGR); | ||
176 | } | ||
177 | } | ||
178 | |||
179 | void led_set_user(uint8_t usb_led) { | ||
180 | // Force-enable Numlock | ||
181 | if (!(usb_led & (1<<USB_LED_NUM_LOCK))) { | ||
182 | register_code(KC_NUMLOCK); | ||
183 | unregister_code(KC_NUMLOCK); | ||
184 | } | ||
185 | } | ||
diff --git a/keyboards/contra/keymaps/maxr1998/readme.md b/keyboards/contra/keymaps/maxr1998/readme.md new file mode 100644 index 000000000..18d57e2cb --- /dev/null +++ b/keyboards/contra/keymaps/maxr1998/readme.md | |||
@@ -0,0 +1,2 @@ | |||
1 | # Contra Layout by Maxr1998 | ||
2 |  \ No newline at end of file | ||
diff --git a/keyboards/contra/keymaps/maxr1998/rules.mk b/keyboards/contra/keymaps/maxr1998/rules.mk new file mode 100644 index 000000000..e1ba07429 --- /dev/null +++ b/keyboards/contra/keymaps/maxr1998/rules.mk | |||
@@ -0,0 +1,11 @@ | |||
1 | RGBLIGHT_ENABLE = yes | ||
2 | KEY_LOCK_ENABLE = yes | ||
3 | |||
4 | EXTRAFLAGS += -flto | ||
5 | UNICODE_ENABLE = no | ||
6 | MOUSEKEY_ENABLE = no | ||
7 | |||
8 | ### Debugging ### | ||
9 | CONSOLE_ENABLE = no # yes | ||
10 | COMMAND_ENABLE = no | ||
11 | |||
diff --git a/keyboards/contra/keymaps/msiu/config.h b/keyboards/contra/keymaps/msiu/config.h new file mode 100644 index 000000000..6166fea4a --- /dev/null +++ b/keyboards/contra/keymaps/msiu/config.h | |||
@@ -0,0 +1,34 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #ifdef AUDIO_ENABLE | ||
4 | #define STARTUP_SONG SONG(PLANCK_SOUND) | ||
5 | // #define STARTUP_SONG SONG(NO_SOUND) | ||
6 | |||
7 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
8 | SONG(COLEMAK_SOUND), \ | ||
9 | SONG(DVORAK_SOUND) \ | ||
10 | } | ||
11 | #endif | ||
12 | |||
13 | #define MUSIC_MASK (keycode != KC_NO) | ||
14 | |||
15 | /* | ||
16 | * MIDI options | ||
17 | */ | ||
18 | |||
19 | /* enable basic MIDI features: | ||
20 | - MIDI notes can be sent when in Music mode is on | ||
21 | */ | ||
22 | |||
23 | #define MIDI_BASIC | ||
24 | |||
25 | /* enable advanced MIDI features: | ||
26 | - MIDI notes can be added to the keymap | ||
27 | - Octave shift and transpose | ||
28 | - Virtual sustain, portamento, and modulation wheel | ||
29 | - etc. | ||
30 | */ | ||
31 | //#define MIDI_ADVANCED | ||
32 | |||
33 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
34 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 | ||
diff --git a/keyboards/contra/keymaps/msiu/keymap.c b/keyboards/contra/keymaps/msiu/keymap.c new file mode 100644 index 000000000..ee0598533 --- /dev/null +++ b/keyboards/contra/keymaps/msiu/keymap.c | |||
@@ -0,0 +1,176 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | extern keymap_config_t keymap_config; | ||
4 | |||
5 | enum planck_layers { | ||
6 | _QWERTY, | ||
7 | _DVORAK, | ||
8 | _LOWER, | ||
9 | _RAISE, | ||
10 | _NUMB, | ||
11 | _FUNC, | ||
12 | _ADJUST | ||
13 | }; | ||
14 | |||
15 | enum planck_keycodes { | ||
16 | QWERTY = SAFE_RANGE, | ||
17 | DVORAK, | ||
18 | LOWER, | ||
19 | RAISE, | ||
20 | ADJUST | ||
21 | }; | ||
22 | |||
23 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
24 | |||
25 | /* Qwerty | ||
26 | * ,------------------------------------------------------------------------------------------. | ||
27 | * | Tab / Numb | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
28 | * |-------------+------+------+------+------+-------------+------+------+------+------+------| | ||
29 | * | Esc / Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | | ||
30 | * |-------------+------+------+------+------+------|------+------+------+------+------+------| | ||
31 | * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | | ||
32 | * |-------------+------+------+------+------+------+------+------+------+------+------+------| | ||
33 | * | Ctrl |Hyper | Alt | GUI |Lower | Func |Space |Raise | Left | Down | Up |Right | | ||
34 | * `------------------------------------------------------------------------------------------' | ||
35 | */ | ||
36 | [_QWERTY] = LAYOUT_ortho_4x12( | ||
37 | LT(_NUMB, KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
38 | LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
39 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, | ||
40 | KC_LCTL, KC_HYPR, KC_LALT, KC_LGUI, LOWER, MO(_FUNC), KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
41 | ), | ||
42 | |||
43 | /* Dvorak | ||
44 | * ,-----------------------------------------------------------------------------------. | ||
45 | * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | | ||
46 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
47 | * | Esc | A | O | E | U | I | D | H | T | N | S | / | | ||
48 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
49 | * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | | ||
50 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
51 | * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | ||
52 | * `-----------------------------------------------------------------------------------' | ||
53 | */ | ||
54 | [_DVORAK] = LAYOUT_ortho_4x12( | ||
55 | _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, _______, | ||
56 | _______, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, | ||
57 | _______, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, _______, | ||
58 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
59 | ), | ||
60 | |||
61 | /* Lower | ||
62 | * ,-----------------------------------------------------------------------------------. | ||
63 | * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | ||
64 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
65 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | ||
66 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
67 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | | ||
68 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
69 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
70 | * `-----------------------------------------------------------------------------------' | ||
71 | */ | ||
72 | [_LOWER] = LAYOUT_ortho_4x12( | ||
73 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, | ||
74 | _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
75 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PGDN, KC_PGUP, KC_HOME, KC_END , KC_MUTE, | ||
76 | _______, _______, _______, _______, _______, _______, KC_MPLY, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT | ||
77 | ), | ||
78 | |||
79 | /* Raise | ||
80 | * ,-----------------------------------------------------------------------------------. | ||
81 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | ||
82 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
83 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | ||
84 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
85 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | ||
86 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
87 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
88 | * `-----------------------------------------------------------------------------------' | ||
89 | */ | ||
90 | [_RAISE] = LAYOUT_ortho_4x12( | ||
91 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
92 | _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
93 | _______, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_PGDN, KC_PGUP, KC_HOME, KC_END , KC_MUTE, | ||
94 | _______, _______, _______, _______, _______, _______, KC_MPLY, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT | ||
95 | ), | ||
96 | |||
97 | /* Adjust (Lower + Raise) | ||
98 | * ,-----------------------------------------------------------------------------------. | ||
99 | * | | Reset| | | | | | | | | | Del | | ||
100 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
101 | * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | | ||
102 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
103 | * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | | ||
104 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
105 | * | | | | | | | | | | | | | ||
106 | * `-----------------------------------------------------------------------------------' | ||
107 | */ | ||
108 | [_ADJUST] = LAYOUT_ortho_4x12( | ||
109 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
110 | _______, _______, _______, _______, _______, _______, _______, QWERTY, DVORAK, _______, _______, _______, | ||
111 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
112 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET | ||
113 | ), | ||
114 | |||
115 | [_FUNC] = LAYOUT_ortho_4x12( | ||
116 | _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, KC_PSCR, _______, | ||
117 | _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, | ||
118 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
119 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
120 | ), | ||
121 | |||
122 | [_NUMB] = LAYOUT_ortho_4x12( | ||
123 | _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, KC_BSPC, | ||
124 | _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, | ||
125 | _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, | ||
126 | _______, _______, _______, _______, _______, _______, _______, KC_0, KC_0, _______, _______, _______ | ||
127 | ) | ||
128 | |||
129 | }; | ||
130 | |||
131 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
132 | switch (keycode) { | ||
133 | case QWERTY: | ||
134 | if (record->event.pressed) { | ||
135 | // print("mode just switched to qwerty and this is a huge string\n"); | ||
136 | set_single_persistent_default_layer(_QWERTY); | ||
137 | } | ||
138 | return false; | ||
139 | break; | ||
140 | case DVORAK: | ||
141 | if (record->event.pressed) { | ||
142 | set_single_persistent_default_layer(_DVORAK); | ||
143 | } | ||
144 | return false; | ||
145 | break; | ||
146 | case LOWER: | ||
147 | if (record->event.pressed) { | ||
148 | layer_on(_LOWER); | ||
149 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
150 | } else { | ||
151 | layer_off(_LOWER); | ||
152 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
153 | } | ||
154 | return false; | ||
155 | break; | ||
156 | case RAISE: | ||
157 | if (record->event.pressed) { | ||
158 | layer_on(_RAISE); | ||
159 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
160 | } else { | ||
161 | layer_off(_RAISE); | ||
162 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
163 | } | ||
164 | return false; | ||
165 | break; | ||
166 | case ADJUST: | ||
167 | if (record->event.pressed) { | ||
168 | layer_on(_ADJUST); | ||
169 | } else { | ||
170 | layer_off(_ADJUST); | ||
171 | } | ||
172 | return false; | ||
173 | break; | ||
174 | } | ||
175 | return true; | ||
176 | } | ||
diff --git a/keyboards/contra/keymaps/msiu/readme.md b/keyboards/contra/keymaps/msiu/readme.md new file mode 100644 index 000000000..80aba1095 --- /dev/null +++ b/keyboards/contra/keymaps/msiu/readme.md | |||
@@ -0,0 +1,2 @@ | |||
1 | # The Default Contra Layout | ||
2 | |||
diff --git a/keyboards/contra/keymaps/ryanm101/config.h b/keyboards/contra/keymaps/ryanm101/config.h new file mode 100644 index 000000000..e3d8b6b6b --- /dev/null +++ b/keyboards/contra/keymaps/ryanm101/config.h | |||
@@ -0,0 +1,41 @@ | |||
1 | #ifndef CONFIG_USER_H | ||
2 | #define CONFIG_USER_H | ||
3 | |||
4 | #include "config_common.h" | ||
5 | |||
6 | #define TAPPING_TERM 200 | ||
7 | |||
8 | #ifdef AUDIO_ENABLE | ||
9 | #define STARTUP_SONG SONG(PLANCK_SOUND) | ||
10 | // #define STARTUP_SONG SONG(NO_SOUND) | ||
11 | |||
12 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
13 | SONG(COLEMAK_SOUND), \ | ||
14 | SONG(DVORAK_SOUND) \ | ||
15 | } | ||
16 | #endif | ||
17 | |||
18 | #define MUSIC_MASK (keycode != KC_NO) | ||
19 | |||
20 | /* | ||
21 | * MIDI options | ||
22 | */ | ||
23 | |||
24 | /* enable basic MIDI features: | ||
25 | - MIDI notes can be sent when in Music mode is on | ||
26 | */ | ||
27 | |||
28 | #define MIDI_BASIC | ||
29 | |||
30 | /* enable advanced MIDI features: | ||
31 | - MIDI notes can be added to the keymap | ||
32 | - Octave shift and transpose | ||
33 | - Virtual sustain, portamento, and modulation wheel | ||
34 | - etc. | ||
35 | */ | ||
36 | //#define MIDI_ADVANCED | ||
37 | |||
38 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
39 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 | ||
40 | |||
41 | #endif | ||
diff --git a/keyboards/contra/keymaps/ryanm101/keymap.c b/keyboards/contra/keymaps/ryanm101/keymap.c new file mode 100644 index 000000000..721a9a06e --- /dev/null +++ b/keyboards/contra/keymaps/ryanm101/keymap.c | |||
@@ -0,0 +1,259 @@ | |||
1 | #include "contra.h" | ||
2 | #include "action_layer.h" | ||
3 | |||
4 | extern keymap_config_t keymap_config; | ||
5 | |||
6 | // Custom Key Combos | ||
7 | #define LCKSCR LCTL(LGUI(KC_Q)) | ||
8 | //#define KC_CAD LCTL(LALT(KC_DEL)) // CTL+ALT+DEL (windows) | ||
9 | //#define KC_CAE LGUI(LALT(KC_ESC)) // CMD+ALT+ESC (Force Close) | ||
10 | //#define KC_SCREENSHOT LGUI(S(KC_4)) // CMD+SHIFT+4 (Mac Screenshot) | ||
11 | |||
12 | #define _QWERTY 0 | ||
13 | #define _QWERTYMAC 1 | ||
14 | #define _L1 2 | ||
15 | #define _L2 3 | ||
16 | #define _L3 4 | ||
17 | |||
18 | enum custom_keycodes { | ||
19 | QWERTY = SAFE_RANGE, | ||
20 | QWERTYMAC, | ||
21 | L1, | ||
22 | L2, | ||
23 | L3 | ||
24 | }; | ||
25 | |||
26 | //Tap Dance Declarations | ||
27 | #define COLON TD(CLN) | ||
28 | #define QUOTE TD(QUOT) | ||
29 | #define PARAN TD(PAR) | ||
30 | #define CURLY TD(CUR) | ||
31 | #define SQUAR TD(SQU) | ||
32 | #define ANGUL TD(ANG) | ||
33 | #define TMUX TD(TD_TMUX) | ||
34 | #define CADCAE TD(CAD_CAE) | ||
35 | #define SHIFTSLASHPIPE TD(TD_SHIFTSLASHPIPE) | ||
36 | |||
37 | enum { | ||
38 | CLN = 0, | ||
39 | QUOT, | ||
40 | CAD_CAE, | ||
41 | PAR, | ||
42 | CUR, | ||
43 | SQU, | ||
44 | ANG, | ||
45 | TD_TMUX, | ||
46 | TD_SHIFTSLASHPIPE, | ||
47 | }; | ||
48 | |||
49 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
50 | |||
51 | /* Qwerty | ||
52 | * ,-----------------------------------------------------------------------------------. | ||
53 | * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
54 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
55 | * | Esc | A | S | D | F | G | H | J | K | L | ;: | '@ | | ||
56 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
57 | * | Shift| Z | X | C | V | B | N | M | ,< | .> | /? |Enter | | ||
58 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
59 | * | Ctrl | GUI | Alt | \| | L1 | | | L2 | Left | Down | Up |Right | | ||
60 | * `-----------------------------------------------------------------------------------' | ||
61 | */ | ||
62 | [_QWERTY] = LAYOUT_ortho_4x12( | ||
63 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
64 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, COLON, QUOTE, | ||
65 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, | ||
66 | KC_LCTL, KC_LGUI, KC_LALT, KC_NUBS, MO(_L1), XXXXXXX, KC_SPC, MO(_L2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
67 | ), | ||
68 | |||
69 | /* QwertyMAC | ||
70 | * ,-----------------------------------------------------------------------------------. | ||
71 | * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
72 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
73 | * | Esc | A | S | D | F | G | H | J | K | L | ;: | '@ | | ||
74 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
75 | * | Shift| Z | X | C | V | B | N | M | ,< | .> | /? |Enter | | ||
76 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
77 | * | Ctrl | Alt | GUI | \| | L1 | | | L2 | Left | Down | Up |Right | | ||
78 | * `-----------------------------------------------------------------------------------' | ||
79 | */ | ||
80 | [_QWERTYMAC] = LAYOUT_ortho_4x12( | ||
81 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
82 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, COLON, QUOTE, | ||
83 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, | ||
84 | KC_LCTL, KC_LALT, KC_LGUI, KC_NUBS, MO(_L1), XXXXXXX, KC_SPC, MO(_L2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
85 | ), | ||
86 | |||
87 | /* L1 | ||
88 | * ,-----------------------------------------------------------------------------------. | ||
89 | * | `¬ |INSERT| PGUP | HOME | <> | | () | 7& | 8* | 9( | | Bksp | | ||
90 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
91 | * | |DELETE| PGDN | END | [] | {} | =+ | 4$ | 5% | 6^ | * | LMAC | | ||
92 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
93 | * |LSHIFT|PSCRN | |CADCAE| L3 |LCKSCR| -_ | 1! | 2" | 3£ | /? |ENTER | | ||
94 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
95 | * | Ctrl | GUI | Alt | #~ | | | | | 0) | .> | | MENU | | ||
96 | * `-----------------------------------------------------------------------------------' | ||
97 | */ | ||
98 | [_L1] = LAYOUT_ortho_4x12( | ||
99 | KC_GRV, KC_INS, KC_PGUP, KC_HOME, ANGUL, XXXXXXX, PARAN, KC_7, KC_8, KC_9, XXXXXXX, KC_BSPC, | ||
100 | XXXXXXX, KC_DEL, KC_PGDN, KC_END, SQUAR, CURLY, KC_EQL, KC_4, KC_5, KC_6, S(KC_8), TG(_QWERTYMAC), | ||
101 | _______, KC_PSCR, XXXXXXX, CADCAE, MO(_L3), LCKSCR, KC_MINS, KC_1, KC_2, KC_3, KC_SLSH, KC_ENT, | ||
102 | _______, _______, _______, KC_NUHS, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, KC_0, ALGR_T(KC_DOT), XXXXXXX, KC_MENU | ||
103 | ), | ||
104 | |||
105 | /* L2 | ||
106 | * ,-----------------------------------------------------------------------------------. | ||
107 | * |Sysreq| F9 | F10 | F11 | F12 | |NUMLK | 7 | 8 | 9 | * |Bksp | | ||
108 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
109 | * | | F5 | F6 | F7 | F8 | | | 4 | 5 | 6 | / | | | ||
110 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
111 | * | | F1 | F2 | F3 | F4 | | | 1 | 2 | 3 | + |KP_ENT| | ||
112 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
113 | * | Ctrl | GUI | Alt | | | | | | 0 | . | - | | | ||
114 | * `-----------------------------------------------------------------------------------' | ||
115 | */ | ||
116 | [_L2] = LAYOUT_ortho_4x12( | ||
117 | KC_SYSREQ, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_PAST, KC_BSPC, | ||
118 | XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PSLS, _______, | ||
119 | XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PENT, | ||
120 | _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, KC_P0, KC_PDOT, KC_PMNS, _______ | ||
121 | ), | ||
122 | |||
123 | /* L3 | ||
124 | * ,-----------------------------------------------------------------------------------. | ||
125 | * |RGBTOG|RGBHUI|RGBHUD|RGBSAI|RGBSAD| | | PGDN | PGUP | | | | | ||
126 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
127 | * |BLTOG |BLSTEP|RGBVAI|RGBVAD|RGBMOD|RGBRMD| Left | Down | Up | Right| | | | ||
128 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
129 | * | TMUX | | | | | | | | | | |Enter | | ||
130 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
131 | * | | | | | | | | | | | | | | ||
132 | * `-----------------------------------------------------------------------------------' | ||
133 | */ | ||
134 | [_L3] = LAYOUT_ortho_4x12( | ||
135 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, | ||
136 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, | ||
137 | TMUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ENT, | ||
138 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
139 | ) | ||
140 | |||
141 | }; | ||
142 | |||
143 | // Parantheses | ||
144 | void paranthesis_dance (qk_tap_dance_state_t *state, void *user_data) { | ||
145 | if (state->count == 1) { | ||
146 | SEND_STRING("()"); register_code(KC_LEFT); unregister_code(KC_LEFT); | ||
147 | } else if (state->count == 2) { | ||
148 | SEND_STRING("("); | ||
149 | } else if (state->count == 3) { | ||
150 | SEND_STRING(")"); | ||
151 | } | ||
152 | } | ||
153 | |||
154 | void curly_dance (qk_tap_dance_state_t *state, void *user_data) { | ||
155 | if (state->count == 1) { | ||
156 | SEND_STRING("{}"); register_code(KC_LEFT); unregister_code(KC_LEFT); | ||
157 | } else if (state->count == 2) { | ||
158 | SEND_STRING("{"); | ||
159 | } else if (state->count == 3) { | ||
160 | SEND_STRING("}"); | ||
161 | } | ||
162 | } | ||
163 | |||
164 | void square_dance (qk_tap_dance_state_t *state, void *user_data) { | ||
165 | if (state->count == 1) { | ||
166 | SEND_STRING("[]"); register_code(KC_LEFT); unregister_code(KC_LEFT); | ||
167 | } else if (state->count == 2) { | ||
168 | SEND_STRING("["); | ||
169 | } else if (state->count == 3) { | ||
170 | SEND_STRING("]"); | ||
171 | } | ||
172 | } | ||
173 | |||
174 | void angular_dance (qk_tap_dance_state_t *state, void *user_data) { | ||
175 | if (state->count == 1) { | ||
176 | SEND_STRING("<>"); register_code(KC_LEFT); unregister_code(KC_LEFT); | ||
177 | } else if (state->count == 2) { | ||
178 | SEND_STRING("<"); | ||
179 | } else if (state->count == 3) { | ||
180 | SEND_STRING(">"); | ||
181 | } | ||
182 | } | ||
183 | |||
184 | void tmux_dance (qk_tap_dance_state_t *state, void *user_data) { | ||
185 | if (state->count == 1) { | ||
186 | SEND_STRING("tmux"); register_code(KC_ENT); unregister_code(KC_ENT); | ||
187 | } else if (state->count == 2) { | ||
188 | register_mods(MOD_BIT(KC_LCTRL)); | ||
189 | register_code(KC_B); unregister_code(KC_B); | ||
190 | unregister_mods(MOD_BIT(KC_LCTRL)); | ||
191 | register_mods(MOD_BIT(KC_LSHIFT)); | ||
192 | register_code(KC_5); unregister_code(KC_5); | ||
193 | unregister_mods(MOD_BIT(KC_LSHIFT)); | ||
194 | } | ||
195 | } | ||
196 | |||
197 | void cmd_dance (qk_tap_dance_state_t *state, void *user_data) { | ||
198 | if (state->count == 1) { | ||
199 | register_mods(MOD_BIT(KC_LCTRL)); | ||
200 | register_mods(MOD_BIT(KC_LALT)); | ||
201 | register_code(KC_DELETE); | ||
202 | unregister_mods(MOD_BIT(KC_LCTRL)); | ||
203 | unregister_mods(MOD_BIT(KC_LALT)); | ||
204 | unregister_code(KC_DELETE); | ||
205 | } else if (state->count == 2) { | ||
206 | register_mods(MOD_BIT(KC_LGUI)); | ||
207 | register_mods(MOD_BIT(KC_LALT)); | ||
208 | register_code(KC_ESC); | ||
209 | unregister_mods(MOD_BIT(KC_LGUI)); | ||
210 | unregister_mods(MOD_BIT(KC_LALT)); | ||
211 | unregister_code(KC_ESC); | ||
212 | } else if (state->count == 3) { | ||
213 | register_mods(MOD_BIT(KC_LGUI)); | ||
214 | register_mods(MOD_BIT(KC_LSHIFT)); | ||
215 | register_code(KC_4); | ||
216 | unregister_mods(MOD_BIT(KC_LGUI)); | ||
217 | unregister_mods(MOD_BIT(KC_LSHIFT)); | ||
218 | unregister_code(KC_4); | ||
219 | } | ||
220 | } | ||
221 | |||
222 | void cmd_sft_slash_pipe_down (qk_tap_dance_state_t *state, void *user_data) { | ||
223 | if (state->count == 1) { | ||
224 | if (state->interrupted || state->pressed==0) { | ||
225 | register_code (KC_NONUS_BSLASH); | ||
226 | } else { | ||
227 | register_code (KC_LSFT); | ||
228 | } | ||
229 | } else if (state->count == 2) { | ||
230 | register_mods(MOD_BIT(KC_LSFT)); | ||
231 | register_code(KC_NONUS_BSLASH); | ||
232 | } | ||
233 | } | ||
234 | |||
235 | void cmd_sft_slash_pipe_up (qk_tap_dance_state_t *state, void *user_data) { | ||
236 | if (state->count == 1) { | ||
237 | if (keyboard_report->mods & MOD_BIT(KC_LSFT)) { | ||
238 | unregister_code (KC_LSFT); | ||
239 | } else { | ||
240 | unregister_code (KC_NONUS_BSLASH); | ||
241 | } | ||
242 | } else if (state->count == 2) { | ||
243 | unregister_mods(MOD_BIT(KC_LSFT)); | ||
244 | unregister_code(KC_NONUS_BSLASH); | ||
245 | } | ||
246 | } | ||
247 | |||
248 | //All tap dance functions would go here. Only showing this one. | ||
249 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
250 | [CLN] = ACTION_TAP_DANCE_DOUBLE (KC_SCLN, S(KC_SCLN )) | ||
251 | ,[QUOT] = ACTION_TAP_DANCE_DOUBLE (KC_QUOT, S(KC_2)) | ||
252 | ,[CAD_CAE] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, cmd_dance ) | ||
253 | ,[PAR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, paranthesis_dance ) | ||
254 | ,[CUR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, curly_dance ) | ||
255 | ,[SQU] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, square_dance ) | ||
256 | ,[ANG] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, angular_dance ) | ||
257 | ,[TD_TMUX] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, NULL, tmux_dance ) | ||
258 | ,[TD_SHIFTSLASHPIPE] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, cmd_sft_slash_pipe_down, cmd_sft_slash_pipe_up) | ||
259 | }; | ||
diff --git a/keyboards/contra/keymaps/ryanm101/readme.md b/keyboards/contra/keymaps/ryanm101/readme.md new file mode 100644 index 000000000..a289eefcb --- /dev/null +++ b/keyboards/contra/keymaps/ryanm101/readme.md | |||
@@ -0,0 +1,11 @@ | |||
1 | # Layout Info | ||
2 | Map is from my JJ40 but Contra has been done with a grid vs my JJ's MIT layout. Map will be updated as soon as i figure out what to do with the addional key. | ||
3 | |||
4 | - Uses non-US keys | ||
5 | - Keymap can be seen: Keymap -> http://www.keyboard-layout-editor.com/#/gists/7d111d72b138c3ef03ea4ffac4ddb7e4 | ||
6 | |||
7 | # Notes | ||
8 | |||
9 | - .> on lower layer if tapped but ALTGR if held | ||
10 | - RAISE -> uses TT() so tap to enter (NUMPAD Usage) or hold for momentary (F Keys) | ||
11 | - LOWER on _RAISE goes straight to qwerty layout (Base layer) | ||
diff --git a/keyboards/contra/keymaps/ryanm101/rules.mk b/keyboards/contra/keymaps/ryanm101/rules.mk new file mode 100644 index 000000000..f5e8c3d6d --- /dev/null +++ b/keyboards/contra/keymaps/ryanm101/rules.mk | |||
@@ -0,0 +1 @@ | |||
TAP_DANCE_ENABLE=yes \ No newline at end of file | |||
diff --git a/keyboards/contra/keymaps/via/keymap.c b/keyboards/contra/keymaps/via/keymap.c new file mode 100644 index 000000000..4bf7a9c17 --- /dev/null +++ b/keyboards/contra/keymaps/via/keymap.c | |||
@@ -0,0 +1,98 @@ | |||
1 | /* This program is free software: you can redistribute it and/or modify | ||
2 | * it under the terms of the GNU General Public License as published by | ||
3 | * the Free Software Foundation, either version 2 of the License, or | ||
4 | * (at your option) any later version. | ||
5 | * | ||
6 | * This program is distributed in the hope that it will be useful, | ||
7 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
9 | * GNU General Public License for more details. | ||
10 | * | ||
11 | * You should have received a copy of the GNU General Public License | ||
12 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
13 | */ | ||
14 | |||
15 | #include QMK_KEYBOARD_H | ||
16 | |||
17 | |||
18 | enum planck_layers { | ||
19 | _BASE, | ||
20 | _LOWER, | ||
21 | _RAISE, | ||
22 | _ADJUST | ||
23 | }; | ||
24 | |||
25 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
26 | |||
27 | /* Base | ||
28 | * ,-----------------------------------------------------------------------------------. | ||
29 | * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | | ||
30 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
31 | * | Tab | A | S | D | F | G | H | J | K | L | ; | " | | ||
32 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
33 | * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | ||
34 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
35 | * | Adjst| Ctrl | Gui | Alt |Lower | Space |Raise | Left | Down | Up |Right | | ||
36 | * `-----------------------------------------------------------------------------------' | ||
37 | */ | ||
38 | [_BASE] = LAYOUT_planck_mit( | ||
39 | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
40 | KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
41 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, | ||
42 | MO(_ADJUST), KC_LCTL, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
43 | ), | ||
44 | |||
45 | /* Lower | ||
46 | * ,-----------------------------------------------------------------------------------. | ||
47 | * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | | ||
48 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
49 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | ||
50 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
51 | * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Home | End | | | ||
52 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
53 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
54 | * `-----------------------------------------------------------------------------------' | ||
55 | */ | ||
56 | [_LOWER] = LAYOUT_planck_mit( | ||
57 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
58 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
59 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_HOME, KC_END, _______, | ||
60 | _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
61 | ), | ||
62 | |||
63 | /* Raise | ||
64 | * ,-----------------------------------------------------------------------------------. | ||
65 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | | ||
66 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
67 | * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | | ||
68 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
69 | * | | F7 | F8 | F9 | F10 | F11 | F12 | | |Pg Up |Pg Dn | | | ||
70 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
71 | * | | | | | | | | Next | Vol- | Vol+ | Play | | ||
72 | * `-----------------------------------------------------------------------------------' | ||
73 | */ | ||
74 | [_RAISE] = LAYOUT_planck_mit( | ||
75 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
76 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
77 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGUP, KC_PGDN, _______, | ||
78 | _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
79 | ), | ||
80 | |||
81 | /* Adjust | ||
82 | * ,----------------------------------------------------------- ------------------------. | ||
83 | * | | Reset| Debug| | | | | | | | | Del | | ||
84 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
85 | * | | | | | | | | | | | | | | ||
86 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
87 | * | | | | | | | | | | | | | | ||
88 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
89 | * | | | | | | | | | | | | | ||
90 | * `-----------------------------------------------------------------------------------' | ||
91 | */ | ||
92 | [_ADJUST] = LAYOUT_planck_mit( | ||
93 | _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , | ||
94 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
95 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
96 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
97 | ) | ||
98 | }; \ No newline at end of file | ||
diff --git a/keyboards/contra/keymaps/via/readme.md b/keyboards/contra/keymaps/via/readme.md new file mode 100644 index 000000000..3c863243d --- /dev/null +++ b/keyboards/contra/keymaps/via/readme.md | |||
@@ -0,0 +1,2 @@ | |||
1 | # A basic Contra Layout with VIA enabled | ||
2 | |||
diff --git a/keyboards/contra/keymaps/via/rules.mk b/keyboards/contra/keymaps/via/rules.mk new file mode 100644 index 000000000..036bd6d1c --- /dev/null +++ b/keyboards/contra/keymaps/via/rules.mk | |||
@@ -0,0 +1 @@ | |||
VIA_ENABLE = yes \ No newline at end of file | |||