diff options
Diffstat (limited to 'keyboards/atomic')
-rw-r--r-- | keyboards/atomic/atomic.c | 28 | ||||
-rw-r--r-- | keyboards/atomic/atomic.h | 51 | ||||
-rw-r--r-- | keyboards/atomic/config.h | 103 | ||||
-rw-r--r-- | keyboards/atomic/info.json | 166 | ||||
-rw-r--r-- | keyboards/atomic/keymaps/abienz/keymap.c | 19 | ||||
-rw-r--r-- | keyboards/atomic/keymaps/default/keymap.c | 210 | ||||
-rw-r--r-- | keyboards/atomic/keymaps/michelle/keymap.c | 25 | ||||
-rw-r--r-- | keyboards/atomic/keymaps/pvc/config.h | 153 | ||||
-rw-r--r-- | keyboards/atomic/keymaps/pvc/keymap.c | 605 | ||||
-rw-r--r-- | keyboards/atomic/keymaps/pvc/rules.mk | 16 | ||||
-rw-r--r-- | keyboards/atomic/keymaps/twolayer/keymap.c | 46 | ||||
-rw-r--r-- | keyboards/atomic/readme.md | 16 | ||||
-rw-r--r-- | keyboards/atomic/rules.mk | 20 |
13 files changed, 1458 insertions, 0 deletions
diff --git a/keyboards/atomic/atomic.c b/keyboards/atomic/atomic.c new file mode 100644 index 000000000..1bd663c51 --- /dev/null +++ b/keyboards/atomic/atomic.c | |||
@@ -0,0 +1,28 @@ | |||
1 | /* Copyright 2015 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 "atomic.h" | ||
18 | |||
19 | void matrix_init_kb(void) { | ||
20 | // put your keyboard start-up code here | ||
21 | // runs once when the firmware starts up | ||
22 | |||
23 | // Turn status LED on | ||
24 | setPinOutput(E6); | ||
25 | writePinHigh(E6); | ||
26 | |||
27 | matrix_init_user(); | ||
28 | } | ||
diff --git a/keyboards/atomic/atomic.h b/keyboards/atomic/atomic.h new file mode 100644 index 000000000..7579f49e3 --- /dev/null +++ b/keyboards/atomic/atomic.h | |||
@@ -0,0 +1,51 @@ | |||
1 | /* Copyright 2015 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 | #pragma once | ||
18 | |||
19 | #include "quantum.h" | ||
20 | |||
21 | // This a shortcut to help you visually see your layout. | ||
22 | // The following is an example using the Planck MIT layout | ||
23 | // The first section contains all of the arguements | ||
24 | // The second converts the arguments into a two-dimensional array | ||
25 | #define LAYOUT_semi_standard( \ | ||
26 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \ | ||
27 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ | ||
28 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ | ||
29 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \ | ||
30 | K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E \ | ||
31 | ) { \ | ||
32 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \ | ||
33 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ | ||
34 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \ | ||
35 | { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \ | ||
36 | { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \ | ||
37 | } | ||
38 | |||
39 | #define LAYOUT_ortho_5x15( \ | ||
40 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\ | ||
41 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E,\ | ||
42 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,\ | ||
43 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E,\ | ||
44 | K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E \ | ||
45 | ) { \ | ||
46 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ | ||
47 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ | ||
48 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ | ||
49 | { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ | ||
50 | { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E } \ | ||
51 | } | ||
diff --git a/keyboards/atomic/config.h b/keyboards/atomic/config.h new file mode 100644 index 000000000..cb4aee0f7 --- /dev/null +++ b/keyboards/atomic/config.h | |||
@@ -0,0 +1,103 @@ | |||
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 | #pragma once | ||
19 | |||
20 | #include "config_common.h" | ||
21 | |||
22 | /* USB Device descriptor parameter */ | ||
23 | #define VENDOR_ID 0xFEED | ||
24 | #define PRODUCT_ID 0x6060 | ||
25 | #define DEVICE_VER 0x0001 | ||
26 | #define MANUFACTURER OLKB | ||
27 | #define PRODUCT Atomic | ||
28 | |||
29 | /* key matrix size */ | ||
30 | #define MATRIX_ROWS 5 | ||
31 | #define MATRIX_COLS 15 | ||
32 | |||
33 | /* | ||
34 | * Keyboard Matrix Assignments | ||
35 | * | ||
36 | * Change this to how you wired your keyboard | ||
37 | * COLS: AVR pins used for columns, left to right | ||
38 | * ROWS: AVR pins used for rows, top to bottom | ||
39 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
40 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
41 | * | ||
42 | */ | ||
43 | #define MATRIX_ROW_PINS { D0, D5, B5, B6, C6 } | ||
44 | #define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7, D3, D2, D1 } | ||
45 | #define UNUSED_PINS | ||
46 | |||
47 | #define BACKLIGHT_PIN B7 | ||
48 | |||
49 | /* COL2ROW or ROW2COL */ | ||
50 | #define DIODE_DIRECTION COL2ROW | ||
51 | |||
52 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
53 | #define DEBOUNCE 5 | ||
54 | |||
55 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
56 | //#define MATRIX_HAS_GHOST | ||
57 | |||
58 | /* number of backlight levels */ | ||
59 | #define BACKLIGHT_LEVELS 3 | ||
60 | |||
61 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
62 | #define LOCKING_SUPPORT_ENABLE | ||
63 | /* Locking resynchronize hack */ | ||
64 | #define LOCKING_RESYNC_ENABLE | ||
65 | |||
66 | /* | ||
67 | * Force NKRO | ||
68 | * | ||
69 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
70 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
71 | * makefile for this to work.) | ||
72 | * | ||
73 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
74 | * until the next keyboard reset. | ||
75 | * | ||
76 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
77 | * fully operational during normal computer usage. | ||
78 | * | ||
79 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
80 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
81 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
82 | * power-up. | ||
83 | * | ||
84 | */ | ||
85 | //#define FORCE_NKRO | ||
86 | |||
87 | /* | ||
88 | * Feature disable options | ||
89 | * These options are also useful to firmware size reduction. | ||
90 | */ | ||
91 | |||
92 | /* disable debug print */ | ||
93 | //#define NO_DEBUG | ||
94 | |||
95 | /* disable print */ | ||
96 | //#define NO_PRINT | ||
97 | |||
98 | /* disable action features */ | ||
99 | //#define NO_ACTION_LAYER | ||
100 | //#define NO_ACTION_TAPPING | ||
101 | //#define NO_ACTION_ONESHOT | ||
102 | //#define NO_ACTION_MACRO | ||
103 | //#define NO_ACTION_FUNCTION | ||
diff --git a/keyboards/atomic/info.json b/keyboards/atomic/info.json new file mode 100644 index 000000000..d55ba4b75 --- /dev/null +++ b/keyboards/atomic/info.json | |||
@@ -0,0 +1,166 @@ | |||
1 | { | ||
2 | "keyboard_name": "Atomic", | ||
3 | "maintainer": "jackhumbert", | ||
4 | "layout_aliases": { | ||
5 | "LAYOUT_grid": "LAYOUT_ortho_5x15" | ||
6 | }, | ||
7 | "layouts": { | ||
8 | "LAYOUT_semi_standard": { | ||
9 | "layout": [ | ||
10 | {"x":0, "y":0}, | ||
11 | {"x":1, "y":0}, | ||
12 | {"x":2, "y":0}, | ||
13 | {"x":3, "y":0}, | ||
14 | {"x":4, "y":0}, | ||
15 | {"x":5, "y":0}, | ||
16 | {"x":6, "y":0}, | ||
17 | {"x":7, "y":0}, | ||
18 | {"x":8, "y":0}, | ||
19 | {"x":9, "y":0}, | ||
20 | {"x":10, "y":0}, | ||
21 | {"x":11, "y":0}, | ||
22 | {"x":12, "y":0}, | ||
23 | {"x":13, "y":0, "w":2}, | ||
24 | |||
25 | {"x":0, "y":1}, | ||
26 | {"x":1, "y":1}, | ||
27 | {"x":2, "y":1}, | ||
28 | {"x":3, "y":1}, | ||
29 | {"x":4, "y":1}, | ||
30 | {"x":5, "y":1}, | ||
31 | {"x":6, "y":1}, | ||
32 | {"x":7, "y":1}, | ||
33 | {"x":8, "y":1}, | ||
34 | {"x":9, "y":1}, | ||
35 | {"x":10, "y":1}, | ||
36 | {"x":11, "y":1}, | ||
37 | {"x":12, "y":1}, | ||
38 | {"x":13, "y":1}, | ||
39 | {"x":14, "y":1}, | ||
40 | |||
41 | {"x":0, "y":2}, | ||
42 | {"x":1, "y":2}, | ||
43 | {"x":2, "y":2}, | ||
44 | {"x":3, "y":2}, | ||
45 | {"x":4, "y":2}, | ||
46 | {"x":5, "y":2}, | ||
47 | {"x":6, "y":2}, | ||
48 | {"x":7, "y":2}, | ||
49 | {"x":8, "y":2}, | ||
50 | {"x":9, "y":2}, | ||
51 | {"x":10, "y":2}, | ||
52 | {"x":11, "y":2}, | ||
53 | {"x":12, "y":2, "w":2}, | ||
54 | {"x":14, "y":2}, | ||
55 | |||
56 | {"x":0, "y":3}, | ||
57 | {"x":1, "y":3}, | ||
58 | {"x":2, "y":3}, | ||
59 | {"x":3, "y":3}, | ||
60 | {"x":4, "y":3}, | ||
61 | {"x":5, "y":3}, | ||
62 | {"x":6, "y":3}, | ||
63 | {"x":7, "y":3}, | ||
64 | {"x":8, "y":3}, | ||
65 | {"x":9, "y":3}, | ||
66 | {"x":10, "y":3}, | ||
67 | {"x":11, "y":3, "w":2}, | ||
68 | {"x":13, "y":3}, | ||
69 | {"x":14, "y":3}, | ||
70 | |||
71 | {"x":0, "y":4, "w":1.25}, | ||
72 | {"x":1.25, "y":4, "w":1.25}, | ||
73 | {"x":2.5, "y":4, "w":1.25}, | ||
74 | {"x":3.75, "y":4, "w":6.25}, | ||
75 | {"x":10, "y":4}, | ||
76 | {"x":11, "y":4}, | ||
77 | {"x":12, "y":4}, | ||
78 | {"x":13, "y":4}, | ||
79 | {"x":14, "y":4} | ||
80 | ] | ||
81 | }, | ||
82 | "LAYOUT_ortho_5x15": { | ||
83 | "layout": [ | ||
84 | {"x":0, "y":0}, | ||
85 | {"x":1, "y":0}, | ||
86 | {"x":2, "y":0}, | ||
87 | {"x":3, "y":0}, | ||
88 | {"x":4, "y":0}, | ||
89 | {"x":5, "y":0}, | ||
90 | {"x":6, "y":0}, | ||
91 | {"x":7, "y":0}, | ||
92 | {"x":8, "y":0}, | ||
93 | {"x":9, "y":0}, | ||
94 | {"x":10, "y":0}, | ||
95 | {"x":11, "y":0}, | ||
96 | {"x":12, "y":0}, | ||
97 | {"x":13, "y":0}, | ||
98 | {"x":14, "y":0}, | ||
99 | |||
100 | {"x":0, "y":1}, | ||
101 | {"x":1, "y":1}, | ||
102 | {"x":2, "y":1}, | ||
103 | {"x":3, "y":1}, | ||
104 | {"x":4, "y":1}, | ||
105 | {"x":5, "y":1}, | ||
106 | {"x":6, "y":1}, | ||
107 | {"x":7, "y":1}, | ||
108 | {"x":8, "y":1}, | ||
109 | {"x":9, "y":1}, | ||
110 | {"x":10, "y":1}, | ||
111 | {"x":11, "y":1}, | ||
112 | {"x":12, "y":1}, | ||
113 | {"x":13, "y":1}, | ||
114 | {"x":14, "y":1}, | ||
115 | |||
116 | {"x":0, "y":2}, | ||
117 | {"x":1, "y":2}, | ||
118 | {"x":2, "y":2}, | ||
119 | {"x":3, "y":2}, | ||
120 | {"x":4, "y":2}, | ||
121 | {"x":5, "y":2}, | ||
122 | {"x":6, "y":2}, | ||
123 | {"x":7, "y":2}, | ||
124 | {"x":8, "y":2}, | ||
125 | {"x":9, "y":2}, | ||
126 | {"x":10, "y":2}, | ||
127 | {"x":11, "y":2}, | ||
128 | {"x":12, "y":2}, | ||
129 | {"x":13, "y":2}, | ||
130 | {"x":14, "y":2}, | ||
131 | |||
132 | {"x":0, "y":3}, | ||
133 | {"x":1, "y":3}, | ||
134 | {"x":2, "y":3}, | ||
135 | {"x":3, "y":3}, | ||
136 | {"x":4, "y":3}, | ||
137 | {"x":5, "y":3}, | ||
138 | {"x":6, "y":3}, | ||
139 | {"x":7, "y":3}, | ||
140 | {"x":8, "y":3}, | ||
141 | {"x":9, "y":3}, | ||
142 | {"x":10, "y":3}, | ||
143 | {"x":11, "y":3}, | ||
144 | {"x":12, "y":3}, | ||
145 | {"x":13, "y":3}, | ||
146 | {"x":14, "y":3}, | ||
147 | |||
148 | {"x":0, "y":4}, | ||
149 | {"x":1, "y":4}, | ||
150 | {"x":2, "y":4}, | ||
151 | {"x":3, "y":4}, | ||
152 | {"x":4, "y":4}, | ||
153 | {"x":5, "y":4}, | ||
154 | {"x":6, "y":4}, | ||
155 | {"x":7, "y":4}, | ||
156 | {"x":8, "y":4}, | ||
157 | {"x":9, "y":4}, | ||
158 | {"x":10, "y":4}, | ||
159 | {"x":11, "y":4}, | ||
160 | {"x":12, "y":4}, | ||
161 | {"x":13, "y":4}, | ||
162 | {"x":14, "y":4} | ||
163 | ] | ||
164 | } | ||
165 | } | ||
166 | } | ||
diff --git a/keyboards/atomic/keymaps/abienz/keymap.c b/keyboards/atomic/keymaps/abienz/keymap.c new file mode 100644 index 000000000..c499807d7 --- /dev/null +++ b/keyboards/atomic/keymaps/abienz/keymap.c | |||
@@ -0,0 +1,19 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | #include "keymap_colemak.h" | ||
3 | |||
4 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
5 | [0] = LAYOUT_ortho_5x15(/* Colemak */ | ||
6 | KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, | ||
7 | KC_TAB, CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, | ||
8 | KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_QUOT, KC_ENT, XXXXXXX, KC_PGUP, | ||
9 | KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, CM_COMM, CM_DOT, CM_SLSH, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, | ||
10 | KC_LCTL, KC_LGUI, XXXXXXX, KC_LALT, MO(1), KC_SPC, XXXXXXX, KC_RALT, MO(1), KC_RGUI, XXXXXXX, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
11 | ), | ||
12 | [1] = LAYOUT_ortho_5x15(/* function */ | ||
13 | KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, XXXXXXX, | ||
14 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
15 | _______, _______, _______, KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
16 | _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_MPLY, | ||
17 | _______, _______, XXXXXXX, _______, MO(1), _______, XXXXXXX, _______, MO(1), _______, XXXXXXX, _______, KC_MPRV, KC_VOLD, KC_MNXT | ||
18 | ), | ||
19 | }; | ||
diff --git a/keyboards/atomic/keymaps/default/keymap.c b/keyboards/atomic/keymaps/default/keymap.c new file mode 100644 index 000000000..d4bdc1837 --- /dev/null +++ b/keyboards/atomic/keymaps/default/keymap.c | |||
@@ -0,0 +1,210 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | // Fillers to make layering more clear | ||
4 | #define ___T___ KC_TRNS | ||
5 | |||
6 | // Layer shorthand | ||
7 | #define _QW 0 | ||
8 | #define _CM 1 | ||
9 | #define _DV 2 | ||
10 | #define _LW 3 | ||
11 | #define _RS 4 | ||
12 | #define _FN 5 | ||
13 | |||
14 | /* ROW 1 OPTIONS | ||
15 | * .--------------------------------------------------------------------------------------------------------------------------------------. | ||
16 | * | | | | | | | | | | | | | | | | | ||
17 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
18 | * .- 2u ------------. | ||
19 | * | KEY . XXXXXX | | ||
20 | * '-----------------' | ||
21 | */ | ||
22 | |||
23 | /* ROW 2 OPTIONS | ||
24 | * .--------------------------------------------------------------------------------------------------------------------------------------. | ||
25 | * | | | | | | | | | | | | | | | | | ||
26 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
27 | * .- 2u ------------. .- 2u ------------. | ||
28 | * | KEY . XXXXXX | | KEY . XXXXXX | | ||
29 | * '-----------------' '-----------------' | ||
30 | */ | ||
31 | |||
32 | /* ROW 3 OPTIONS | ||
33 | * .--------------------------------------------------------------------------------------------------------------------------------------. | ||
34 | * | | | | | | | | | | | | | | | | | ||
35 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
36 | * .- 2u ------------. .- 2u ------------. | ||
37 | * | KEY . XXXXXX | | X | | ||
38 | * '-----------------' '-----------------' | ||
39 | * .- 2u ------------. | ||
40 | * | X | | ||
41 | * '-----------------' | ||
42 | */ | ||
43 | |||
44 | /* ROW 4 OPTIONS | ||
45 | * .--------------------------------------------------------------------------------------------------------------------------------------. | ||
46 | * | | | | | | | | | | | | | | | | | ||
47 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
48 | * .- 2u ------------. | ||
49 | * | KEY . XXXXXX | | ||
50 | * '-----------------' | ||
51 | * .- 2u ------------. .- 2u ------------. | ||
52 | * | KEY . XXXXXX | | KEY . XXXXXX | | ||
53 | * '-----------------' '-----------------' | ||
54 | * .- 2u ------------. | ||
55 | * | KEY . XXXXXX | | ||
56 | * '-----------------' | ||
57 | */ | ||
58 | |||
59 | /* ROW 5 OPTIONS | ||
60 | * .--------------------------------------------------------------------------------------------------------------------------------------. | ||
61 | * | | | | | | | | | | | | | | | | | ||
62 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
63 | * .- 1.25u --+ 1.25u ------- 1.25u +--- 1.25u --- 2u -------------- 1.25u ---- 1.25u ------ 1.25u +---- 1.25u . | ||
64 | * | X | X | X | X | X | X | X | X | X | | ||
65 | * '-----------------------------------------------------------------------------------------------------------' | ||
66 | * .- 2u ------------. | ||
67 | * | X | | ||
68 | * '-----------------' | ||
69 | * .--------------------- 6.25u ----------------------------. | ||
70 | * | X | | ||
71 | * '--------------------------------------------------------' | ||
72 | * .----------------------- 6.25u ---------------------------- 1.25u ---- 1.25u ---- 1.25u ------ 1.25u +-- 1.25u --. | ||
73 | * | X | X | X | X | X | X | | ||
74 | * '----------------------------------------------------------------------------------------------------------------' | ||
75 | */ | ||
76 | |||
77 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
78 | |||
79 | /* QWERTY - MIT ENHANCED / GRID COMPATIBLE | ||
80 | * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. | ||
81 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | | ||
82 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| | ||
83 | * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | | ||
84 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| | ||
85 | * | ESC | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP | | ||
86 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| | ||
87 | * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | | ||
88 | * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| | ||
89 | * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT | | ||
90 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
91 | */ | ||
92 | |||
93 | [_QW] = LAYOUT_ortho_5x15( /* QWERTY */ | ||
94 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, | ||
95 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , | ||
96 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP, | ||
97 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN, | ||
98 | BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT | ||
99 | ), | ||
100 | |||
101 | /* COLEMAK - MIT ENHANCED / GRID COMPATIBLE | ||
102 | * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. | ||
103 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | | ||
104 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| | ||
105 | * | TAB | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ | DEL | | ||
106 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| | ||
107 | * | ESC | A | R | S | T | D | H | N | E | I | O | ' | XXXXXX . ENTER | PG UP | | ||
108 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| | ||
109 | * | LSHIFT | Z | X | C | V | B | K | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | | ||
110 | * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| | ||
111 | * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT | | ||
112 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
113 | */ | ||
114 | |||
115 | [_CM] = LAYOUT_ortho_5x15( /* COLEMAK */ | ||
116 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, | ||
117 | KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , | ||
118 | KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP, | ||
119 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN, | ||
120 | BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT | ||
121 | ), | ||
122 | |||
123 | /* DVORAK - MIT ENHANCED / GRID COMPATIBLE | ||
124 | * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. | ||
125 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | | ||
126 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| | ||
127 | * | TAB | ' | , | . | P | Y | F | G | C | R | L | [ | ] | \ | DEL | | ||
128 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| | ||
129 | * | ESC | A | O | E | U | I | D | H | T | N | S | / | XXXXXX . ENTER | PG UP | | ||
130 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| | ||
131 | * | LSHIFT | ; | Q | J | K | X | B | M | W | V | Z | XXXXXX . RSHIFT | UP | PG DN | | ||
132 | * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| | ||
133 | * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT | | ||
134 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
135 | */ | ||
136 | |||
137 | [_DV] = LAYOUT_ortho_5x15( /* DVORAK */ | ||
138 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, | ||
139 | KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , | ||
140 | KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, KC_ENT, KC_ENT, KC_PGUP, | ||
141 | KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN, | ||
142 | BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT | ||
143 | ), | ||
144 | |||
145 | /* LOWERED | ||
146 | * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. | ||
147 | * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | | ||
148 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| | ||
149 | * | | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | INS | | ||
150 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| | ||
151 | * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | XXXXXX . | | | ||
152 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| | ||
153 | * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | | | ||
154 | * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| | ||
155 | * | | | | | | XXXXXX . | | | | | | | | | | ||
156 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
157 | */ | ||
158 | |||
159 | [_LW] = LAYOUT_ortho_5x15( /* LOWERED */ | ||
160 | _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___, | ||
161 | _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_INS , | ||
162 | _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______, | ||
163 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______, | ||
164 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
165 | ), | ||
166 | |||
167 | /* RAISED | ||
168 | * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. | ||
169 | * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | | ||
170 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| | ||
171 | * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | | INS | | ||
172 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| | ||
173 | * | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | XXXXXX . | | | ||
174 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| | ||
175 | * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | | | ||
176 | * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| | ||
177 | * | | | | | | XXXXXX . | | | | | | | | | | ||
178 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
179 | */ | ||
180 | |||
181 | [_RS] = LAYOUT_ortho_5x15( /* RAISED */ | ||
182 | _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___, | ||
183 | _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, KC_INS , | ||
184 | _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___, _______, | ||
185 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______, | ||
186 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
187 | ), | ||
188 | |||
189 | /* FUNCTION | ||
190 | * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. | ||
191 | * | NUM LK | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | | ||
192 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| | ||
193 | * | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR | | ||
194 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| | ||
195 | * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ | | ||
196 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| | ||
197 | * | | | QWERTY | COLEMK | DVORAK | | | | | | | XXXXXX . | MOUS U | WHEEL- | | ||
198 | * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| | ||
199 | * | | | | | | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R | | ||
200 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
201 | */ | ||
202 | |||
203 | [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ | ||
204 | KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___, | ||
205 | KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR, | ||
206 | KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U, | ||
207 | _______, _______, DF(_QW), DF(_CM), DF(_DV), _______, _______, _______, _______, _______, _______, ___T___, ___T___, KC_MS_U, KC_WH_D, | ||
208 | _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R | ||
209 | ), | ||
210 | }; | ||
diff --git a/keyboards/atomic/keymaps/michelle/keymap.c b/keyboards/atomic/keymaps/michelle/keymap.c new file mode 100644 index 000000000..da6942716 --- /dev/null +++ b/keyboards/atomic/keymaps/michelle/keymap.c | |||
@@ -0,0 +1,25 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
4 | [0] = LAYOUT_ortho_5x15( /* Dvorak */ | ||
5 | KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, XXXXXXX, | ||
6 | KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL, | ||
7 | KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, XXXXXXX, KC_PGUP, | ||
8 | KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, | ||
9 | KC_LCTL, MO(1), XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, MO(2), KC_LEFT, KC_DOWN, KC_RGHT | ||
10 | ), | ||
11 | [1] = LAYOUT_ortho_5x15( /* Qwerty + F keys */ | ||
12 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, XXXXXXX, | ||
13 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_INS, KC_DEL, | ||
14 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, XXXXXXX, KC_PGUP, | ||
15 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, | ||
16 | KC_LCTL, _______, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT | ||
17 | ), | ||
18 | [2] = LAYOUT_ortho_5x15( /* Numpad + qwerty shortcut keys */ | ||
19 | KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_P7, KC_P8, KC_P9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, XXXXXXX, | ||
20 | KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_P4, KC_P5, KC_P6, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL, | ||
21 | KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_P1, KC_P2, KC_P3, KC_S, KC_MINS, KC_ENT, XXXXXXX, KC_PGUP, | ||
22 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_X, KC_B, KC_P0, KC_P0, KC_PENT, KC_Z, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, | ||
23 | KC_LCTL, _______, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT | ||
24 | ), | ||
25 | }; | ||
diff --git a/keyboards/atomic/keymaps/pvc/config.h b/keyboards/atomic/keymaps/pvc/config.h new file mode 100644 index 000000000..01fa0f431 --- /dev/null +++ b/keyboards/atomic/keymaps/pvc/config.h | |||
@@ -0,0 +1,153 @@ | |||
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_common.h" | ||
22 | |||
23 | /* USB Device descriptor parameter */ | ||
24 | #undef PRODUCT_ID | ||
25 | #define PRODUCT_ID 0x0419 | ||
26 | |||
27 | /* key matrix size */ | ||
28 | #define MATRIX_ROWS 5 | ||
29 | #define MATRIX_COLS 15 | ||
30 | |||
31 | #define BACKLIGHT_PIN B7 | ||
32 | #define BACKLIGHT_BREATHING | ||
33 | |||
34 | #define AUDIO_PIN C6 | ||
35 | |||
36 | /* COL2ROW or ROW2COL */ | ||
37 | #define DIODE_DIRECTION COL2ROW | ||
38 | |||
39 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
40 | #define DEBOUNCE 5 | ||
41 | |||
42 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
43 | //#define MATRIX_HAS_GHOST | ||
44 | |||
45 | /* number of backlight levels */ | ||
46 | #define BACKLIGHT_LEVELS 3 | ||
47 | |||
48 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
49 | #define LOCKING_SUPPORT_ENABLE | ||
50 | /* Locking resynchronize hack */ | ||
51 | #define LOCKING_RESYNC_ENABLE | ||
52 | |||
53 | // Enable Keyboard Locking via magic key | ||
54 | #define KEYBOARD_LOCK_ENABLE | ||
55 | |||
56 | /* | ||
57 | * Force NKRO | ||
58 | * | ||
59 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
60 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
61 | * makefile for this to work.) | ||
62 | * | ||
63 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
64 | * until the next keyboard reset. | ||
65 | * | ||
66 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
67 | * fully operational during normal computer usage. | ||
68 | * | ||
69 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
70 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
71 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
72 | * power-up. | ||
73 | * | ||
74 | */ | ||
75 | //#define FORCE_NKRO | ||
76 | |||
77 | /* | ||
78 | * Magic Key Options | ||
79 | * | ||
80 | * Magic keys are hotkey commands that allow control over firmware functions of | ||
81 | * the keyboard. They are best used in combination with the HID Listen program, | ||
82 | * found here: https://www.pjrc.com/teensy/hid_listen.html | ||
83 | * | ||
84 | * The options below allow the magic key functionality to be changed. This is | ||
85 | * useful if your keyboard/keypad is missing keys and you want magic key support. | ||
86 | * | ||
87 | */ | ||
88 | |||
89 | /* control how magic key switches layers */ | ||
90 | //#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true | ||
91 | //#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true | ||
92 | //#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false | ||
93 | |||
94 | /* override magic key keymap */ | ||
95 | //#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS | ||
96 | //#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS | ||
97 | //#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM | ||
98 | //#define MAGIC_KEY_HELP1 H | ||
99 | //#define MAGIC_KEY_HELP2 SLASH | ||
100 | //#define MAGIC_KEY_DEBUG D | ||
101 | //#define MAGIC_KEY_DEBUG_MATRIX X | ||
102 | //#define MAGIC_KEY_DEBUG_KBD K | ||
103 | //#define MAGIC_KEY_DEBUG_MOUSE M | ||
104 | //#define MAGIC_KEY_VERSION V | ||
105 | //#define MAGIC_KEY_STATUS S | ||
106 | //#define MAGIC_KEY_CONSOLE C | ||
107 | //#define MAGIC_KEY_LAYER0_ALT1 ESC | ||
108 | //#define MAGIC_KEY_LAYER0_ALT2 GRAVE | ||
109 | //#define MAGIC_KEY_LAYER0 0 | ||
110 | //#define MAGIC_KEY_LAYER1 1 | ||
111 | //#define MAGIC_KEY_LAYER2 2 | ||
112 | //#define MAGIC_KEY_LAYER3 3 | ||
113 | //#define MAGIC_KEY_LAYER4 4 | ||
114 | //#define MAGIC_KEY_LAYER5 5 | ||
115 | //#define MAGIC_KEY_LAYER6 6 | ||
116 | //#define MAGIC_KEY_LAYER7 7 | ||
117 | //#define MAGIC_KEY_LAYER8 8 | ||
118 | //#define MAGIC_KEY_LAYER9 9 | ||
119 | #define MAGIC_KEY_BOOTLOADER B | ||
120 | //#define MAGIC_KEY_LOCK CAPS | ||
121 | //#define MAGIC_KEY_EEPROM E | ||
122 | //#define MAGIC_KEY_NKRO N | ||
123 | //#define MAGIC_KEY_SLEEP_LED Z | ||
124 | |||
125 | /* | ||
126 | * Feature disable options | ||
127 | * These options are also useful to firmware size reduction. | ||
128 | */ | ||
129 | |||
130 | /* disable debug print */ | ||
131 | #ifndef NO_DEBUG | ||
132 | # define NO_DEBUG | ||
133 | #endif | ||
134 | |||
135 | /* disable print */ | ||
136 | // #ifndef NO_PRINT | ||
137 | // # define NO_PRINT | ||
138 | // #endif | ||
139 | |||
140 | /* Only print user print statements */ | ||
141 | #define USER_PRINT | ||
142 | |||
143 | /* disable action features */ | ||
144 | //#define NO_ACTION_LAYER | ||
145 | //#define NO_ACTION_TAPPING | ||
146 | //#define NO_ACTION_ONESHOT | ||
147 | //#define NO_ACTION_MACRO | ||
148 | //#define NO_ACTION_FUNCTION | ||
149 | |||
150 | //#define VIBRATO_ENABLE | ||
151 | //#define VIBRATO_STRENGTH_ENABLE | ||
152 | |||
153 | #endif | ||
diff --git a/keyboards/atomic/keymaps/pvc/keymap.c b/keyboards/atomic/keymaps/pvc/keymap.c new file mode 100644 index 000000000..9ed79899d --- /dev/null +++ b/keyboards/atomic/keymaps/pvc/keymap.c | |||
@@ -0,0 +1,605 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | #include "action_layer.h" | ||
3 | #include "eeconfig.h" | ||
4 | #include "led.h" | ||
5 | #include "mousekey.h" | ||
6 | |||
7 | #ifdef AUDIO_ENABLE | ||
8 | #include "audio.h" | ||
9 | #include "song_list.h" | ||
10 | #endif | ||
11 | |||
12 | enum keyboard_layers { | ||
13 | LAYER_QWERTY = 0, | ||
14 | LAYER_UPPER, | ||
15 | LAYER_LOWER, | ||
16 | LAYER_FUNCTION, | ||
17 | LAYER_MOUSE, | ||
18 | LAYER_ADJUST, | ||
19 | }; | ||
20 | enum keyboard_macros { | ||
21 | MACRO_QWERTY = 0, | ||
22 | MACRO_UPPER, | ||
23 | MACRO_LOWER, | ||
24 | MACRO_FUNCTION, | ||
25 | MACRO_MOUSE, | ||
26 | MACRO_TIMBRE_1, | ||
27 | MACRO_TIMBRE_2, | ||
28 | MACRO_TIMBRE_3, | ||
29 | MACRO_TIMBRE_4, | ||
30 | MACRO_TEMPO_U, | ||
31 | MACRO_TEMPO_D, | ||
32 | MACRO_TONE_DEFAULT, | ||
33 | MACRO_MUSIC_TOGGLE, | ||
34 | MACRO_AUDIO_TOGGLE, | ||
35 | MACRO_INC_VOICE, | ||
36 | MACRO_DEC_VOICE, | ||
37 | MACRO_BACKLIGHT, | ||
38 | MACRO_BREATH_TOGGLE, | ||
39 | MACRO_BREATH_SPEED_INC, | ||
40 | MACRO_BREATH_SPEED_DEC, | ||
41 | MACRO_BREATH_DEFAULT, | ||
42 | MACRO_MOUSE_MOVE_UL, | ||
43 | MACRO_MOUSE_MOVE_UR, | ||
44 | MACRO_MOUSE_MOVE_DL, | ||
45 | MACRO_MOUSE_MOVE_DR, | ||
46 | MACRO_HELP_1, | ||
47 | MACRO_HELP_2, | ||
48 | MACRO_HELP_3, | ||
49 | MACRO_HELP_4, | ||
50 | MACRO_HELP_5, | ||
51 | MACRO_HELP_6, | ||
52 | MACRO_HELP_7, | ||
53 | MACRO_HELP_8, | ||
54 | MACRO_HELP_9, | ||
55 | }; | ||
56 | |||
57 | #define M_QWRTY M(MACRO_QWERTY) | ||
58 | #define M_UPPER M(MACRO_UPPER) | ||
59 | #define M_LOWER M(MACRO_LOWER) | ||
60 | #define M_FUNCT M(MACRO_FUNCTION) | ||
61 | #define M_MOUSE M(MACRO_MOUSE) | ||
62 | #define TIMBR_1 M(MACRO_TIMBRE_1) | ||
63 | #define TIMBR_2 M(MACRO_TIMBRE_2) | ||
64 | #define TIMBR_3 M(MACRO_TIMBRE_3) | ||
65 | #define TIMBR_4 M(MACRO_TIMBRE_4) | ||
66 | #define TMPO_UP M(MACRO_TEMPO_U) | ||
67 | #define TMPO_DN M(MACRO_TEMPO_D) | ||
68 | #define TMPO_DF M(MACRO_TONE_DEFAULT) | ||
69 | #define M_BACKL M(MACRO_BACKLIGHT) | ||
70 | #define M_BRTOG M(MACRO_BREATH_TOGGLE) | ||
71 | #define M_BSPDU M(MACRO_BREATH_SPEED_INC) | ||
72 | #define M_BSPDD M(MACRO_BREATH_SPEED_DEC) | ||
73 | #define M_BDFLT M(MACRO_BREATH_DEFAULT) | ||
74 | #define M_MS_UL M(MACRO_MOUSE_MOVE_UL) | ||
75 | #define M_MS_UR M(MACRO_MOUSE_MOVE_UR) | ||
76 | #define M_MS_DL M(MACRO_MOUSE_MOVE_DL) | ||
77 | #define M_MS_DR M(MACRO_MOUSE_MOVE_DR) | ||
78 | #define M_HELP1 M(MACRO_HELP_1) | ||
79 | #define M_HELP2 M(MACRO_HELP_2) | ||
80 | #define M_HELP3 M(MACRO_HELP_3) | ||
81 | #define M_HELP4 M(MACRO_HELP_4) | ||
82 | #define M_HELP5 M(MACRO_HELP_5) | ||
83 | #define M_HELP6 M(MACRO_HELP_6) | ||
84 | #define M_HELP7 M(MACRO_HELP_7) | ||
85 | #define M_HELP8 M(MACRO_HELP_8) | ||
86 | #define M_HELP9 M(MACRO_HELP_9) | ||
87 | |||
88 | |||
89 | #define VC_UP M(MACRO_INC_VOICE) | ||
90 | #define VC_DOWN M(MACRO_DEC_VOICE) | ||
91 | |||
92 | |||
93 | #define SC_UNDO LCTL(KC_Z) | ||
94 | #define SC_REDO LCTL(KC_Y) | ||
95 | #define SC_CUT LCTL(KC_X) | ||
96 | #define SC_COPY LCTL(KC_C) | ||
97 | #define SC_PSTE LCTL(KC_V) | ||
98 | #define SC_SELA LCTL(KC_A) | ||
99 | #define SC_SAVE LCTL(KC_S) | ||
100 | #define SC_OPEN LCTL(KC_O) | ||
101 | #define SC_ACLS LALT(KC_F4) | ||
102 | #define SC_CCLS LCTL(KC_F4) | ||
103 | |||
104 | #define TG_NKRO MAGIC_TOGGLE_NKRO | ||
105 | #define OS_SHFT OSM(MOD_LSFT) | ||
106 | |||
107 | #define ________________ _______, _______ | ||
108 | #define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX | ||
109 | |||
110 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
111 | |||
112 | /* LAYER = LAYER_QWERTY | ||
113 | .--------------------------------------------------------------------------------------------------------------------------------------. | ||
114 | | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BACKSP . BACKSP | | ||
115 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
116 | | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | | ||
117 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
118 | | CAP LK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER . ENTER | PG UP | | ||
119 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
120 | | LSHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT . RSHIFT | UP | PG DN | | ||
121 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
122 | | LCTRL | LWIN | FN | LALT | UPPER | SPACE . SPACE | LOWER | OSHIFT | RALT | APP | RCTRL | LEFT | DOWN | RIGHT | | ||
123 | '--------------------------------------------------------------------------------------------------------------------------------------' | ||
124 | */ | ||
125 | [LAYER_QWERTY] = LAYOUT_ortho_5x15( | ||
126 | KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, | ||
127 | KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , | ||
128 | KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_ENT , KC_PGUP, | ||
129 | KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_RSFT, KC_UP , KC_PGDN, | ||
130 | KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC , KC_SPC , M_LOWER, OS_SHFT, KC_RALT, KC_APP , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
131 | ), | ||
132 | /* LAYER = LAYER_UPPER | ||
133 | .--------------------------------------------------------------------------------------------------------------------------------------. | ||
134 | | PRINT | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | NUM LK | KP / | KP * | KP - | XXXXXX | XXXXXX | ______ . ______ | | ||
135 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
136 | | PAUSE | F1 | F2 | F3 | F4 | NUM LK | KP / | KP 7 | KP 8 | KP 9 | KP - | ______ | ______ | ______ | INS | | ||
137 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
138 | | ______ | F5 | F6 | F7 | F8 | CAP LK | KP * | KP 4 | KP 5 | KP 6 | KP + | ______ | ______ . ______ | HOME | | ||
139 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
140 | | ______ | F9 | F10 | F11 | F12 | SCR LK | KP 0 | KP 1 | KP 2 | KP 3 | KP ENT | ______ . ______ | ______ | END | | ||
141 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
142 | | ______ | ______ | ______ | ______ | UPPER | KP 0 . KP 0 | ______ | RALT | KP . | KP ENT | ______ | ______ | ______ | ______ | | ||
143 | '--------------------------------------------------------------------------------------------------------------------------------------' | ||
144 | */ | ||
145 | [LAYER_UPPER] = LAYOUT_ortho_5x15( | ||
146 | KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX, _______, _______, | ||
147 | KC_PAUS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, KC_INS , | ||
148 | _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, KC_HOME, | ||
149 | _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_SLCK, KC_KP_0, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, _______, KC_END , | ||
150 | _______, _______, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, _______, _______, _______, _______ | ||
151 | ), | ||
152 | /* LAYER = LAYER_LOWER | ||
153 | .--------------------------------------------------------------------------------------------------------------------------------------. | ||
154 | | PRINT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | ______ . ______ | | ||
155 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
156 | | ______ | $ | { | [ | ( | % | # | ) | ] | } | @ | ______ | ______ | ______ | INS | | ||
157 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
158 | | ______ | ^ | * | + | - | / | \ | _ | ' | " | ` | ______ | ______ . ______ | HOME | | ||
159 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
160 | | ______ | | | & | ! | ~ | ; | : | = | < | > | ? | ______ . ______ | ______ | END | | ||
161 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
162 | | ______ | ______ | ______ | ______ | ______ | ______ . ______ | LOWER | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ||
163 | '--------------------------------------------------------------------------------------------------------------------------------------' | ||
164 | */ | ||
165 | [LAYER_LOWER] = LAYOUT_ortho_5x15( | ||
166 | KC_PSCR, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, | ||
167 | _______, KC_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT , _______, _______, _______, KC_INS , | ||
168 | _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______, _______, KC_HOME, | ||
169 | _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT , KC_GT , KC_QUES, _______, _______, _______, KC_END , | ||
170 | _______, _______, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, _______, _______, _______, _______ | ||
171 | ), | ||
172 | /* LAYER = LAYER_FUNCTION | ||
173 | .--------------------------------------------------------------------------------------------------------------------------------------. | ||
174 | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | | ||
175 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
176 | | XXXXXX | F13 | F14 | F15 | F16 | NUM LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | ||
177 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
178 | | XXXXXX | F17 | F18 | F19 | F20 | SCR LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | XXXXXX | | ||
179 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
180 | | ______ | F21 | F22 | F23 | F24 | CAP LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | ______ . ______ | VOL UP | MUTE | | ||
181 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
182 | | ______ | ______ | FN | ______ | ______ | PLAY . PLAY | ______ | ______ | ______ | ______ | ______ | PREV | VOL DN | NEXT | | ||
183 | '--------------------------------------------------------------------------------------------------------------------------------------' | ||
184 | */ | ||
185 | [LAYER_FUNCTION] = LAYOUT_ortho_5x15( | ||
186 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
187 | XXXXXXX, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
188 | XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_SLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
189 | _______, KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_VOLU, KC_MUTE, | ||
190 | _______, _______, M_FUNCT, _______, _______, KC_MPLY, KC_MPLY, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT | ||
191 | ), | ||
192 | /* LAYER = LAYER_MOUSE | ||
193 | .--------------------------------------------------------------------------------------------------------------------------------------. | ||
194 | | ESC | MS AC0 | MS AC1 | MS AC2 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | | ||
195 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
196 | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MS UL | MS U | MS UR | XXXXXX | XXXXXX | XXXXXX | MS WHL | MS WHR | | ||
197 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
198 | | XXXXXX | MS BT5 | MS BT4 | MS BT3 | MS BT2 | XXXXXX | XXXXXX | MS L | XXXXXX | MS R | XXXXXX | XXXXXX | XXXXXX . XXXXXX | MS WHU | | ||
199 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
200 | | ______ | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MS DL | MS D | MS DR | XXXXXX | ______ . ______ | MS U | MS WHD | | ||
201 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
202 | | ______ | ______ | ______ | ______ | ______ | MS BT1 . MS BT1 | ______ | ______ | ______ | ______ | ______ | MS L | MS D | MS R | | ||
203 | '--------------------------------------------------------------------------------------------------------------------------------------' | ||
204 | */ | ||
205 | [LAYER_MOUSE] = LAYOUT_ortho_5x15( | ||
206 | KC_ESC , KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
207 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_MS_UL, KC_MS_U, M_MS_UR, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_R, | ||
208 | XXXXXXX, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, KC_MS_L, XXXXXXX, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, | ||
209 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_MS_DL, KC_MS_D, M_MS_DR, XXXXXXX, _______, _______, KC_MS_U, KC_WH_D, | ||
210 | _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R | ||
211 | ), | ||
212 | /* LAYER = LAYER_ADJUST | ||
213 | .--------------------------------------------------------------------------------------------------------------------------------------. | ||
214 | | XXXXXX | HELP 1 | HELP 2 | HELP 3 | HELP 4 | HELP 5 | HELP 6 | HELP 7 | HELP 8 | HELP 9 | XXXXXX | MUSIC | AUDIO | XXXXXX . XXXXXX | | ||
215 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
216 | | XXXXXX | BRTOG | BRSPD+ | BRSPD- | BRDFLT | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | ||
217 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
218 | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | XXXXXX | | ||
219 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
220 | | XXXXXX | QWERTY | XXXXXX | XXXXXX | BACKLT | RESET | XXXXXX | MOUSE | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | VOICE+ | XXXXXX | | ||
221 | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
222 | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER | XXXXXX . XXXXXX | LOWER | XXXXXX | XXXXXX | XXXXXX | XXXXXX | TEMPO- | VOICE- | TEMPO+ | | ||
223 | '--------------------------------------------------------------------------------------------------------------------------------------' | ||
224 | */ | ||
225 | [LAYER_ADJUST] = LAYOUT_ortho_5x15( | ||
226 | XXXXXXX, M_HELP1, M_HELP2, M_HELP3, M_HELP4, M_HELP5, M_HELP6, M_HELP7, M_HELP8, M_HELP9, XXXXXXX, MU_TOG , AU_TOG , XXXXXXX, XXXXXXX, | ||
227 | XXXXXXX, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
228 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
229 | XXXXXXX, M_QWRTY, XXXXXXX, XXXXXXX, M_BACKL, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MUV_IN , XXXXXXX, | ||
230 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TMPO_DN, MUV_DE , TMPO_UP | ||
231 | ), | ||
232 | }; | ||
233 | |||
234 | #ifdef AUDIO_ENABLE | ||
235 | |||
236 | float tone_my_startup[][2] = SONG(ODE_TO_JOY); | ||
237 | float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY); | ||
238 | |||
239 | float tone_qwerty[][2] = SONG(QWERTY_SOUND); | ||
240 | float tone_dvorak[][2] = SONG(DVORAK_SOUND); | ||
241 | float tone_colemak[][2] = SONG(COLEMAK_SOUND); | ||
242 | |||
243 | float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE); | ||
244 | float tone_music_on[][2] = SONG(DOE_A_DEER); | ||
245 | float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); | ||
246 | |||
247 | float tone_caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND); | ||
248 | float tone_caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND); | ||
249 | float tone_numlk_on[][2] = SONG(NUM_LOCK_ON_SOUND); | ||
250 | float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND); | ||
251 | float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND); | ||
252 | float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND); | ||
253 | |||
254 | #endif /* AUDIO_ENABLE */ | ||
255 | |||
256 | void persistent_default_layer_set(uint16_t default_layer) { | ||
257 | eeconfig_update_default_layer(default_layer); | ||
258 | default_layer_set(default_layer); | ||
259 | } | ||
260 | |||
261 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { | ||
262 | |||
263 | // MACRODOWN only works in this function | ||
264 | switch(id) { | ||
265 | |||
266 | case MACRO_HELP_1: | ||
267 | if (record->event.pressed) | ||
268 | { | ||
269 | uprintf("1"); | ||
270 | } | ||
271 | break; | ||
272 | |||
273 | case MACRO_HELP_2: | ||
274 | if (record->event.pressed) | ||
275 | { | ||
276 | uprintf("2"); | ||
277 | } | ||
278 | break; | ||
279 | |||
280 | case MACRO_HELP_3: | ||
281 | if (record->event.pressed) | ||
282 | { | ||
283 | uprintf("3"); | ||
284 | } | ||
285 | break; | ||
286 | |||
287 | case MACRO_HELP_4: | ||
288 | if (record->event.pressed) | ||
289 | { | ||
290 | uprintf("4"); | ||
291 | } | ||
292 | break; | ||
293 | |||
294 | case MACRO_HELP_5: | ||
295 | if (record->event.pressed) | ||
296 | { | ||
297 | uprintf("5"); | ||
298 | } | ||
299 | break; | ||
300 | |||
301 | case MACRO_HELP_6: | ||
302 | if (record->event.pressed) | ||
303 | { | ||
304 | uprintf("6"); | ||
305 | } | ||
306 | break; | ||
307 | |||
308 | case MACRO_HELP_7: | ||
309 | if (record->event.pressed) | ||
310 | { | ||
311 | uprintf("7"); | ||
312 | } | ||
313 | break; | ||
314 | |||
315 | case MACRO_HELP_8: | ||
316 | if (record->event.pressed) | ||
317 | { | ||
318 | uprintf("8"); | ||
319 | } | ||
320 | break; | ||
321 | |||
322 | case MACRO_HELP_9: | ||
323 | if (record->event.pressed) | ||
324 | { | ||
325 | uprintf("9"); | ||
326 | } | ||
327 | break; | ||
328 | |||
329 | case MACRO_BREATH_TOGGLE: | ||
330 | if (record->event.pressed) | ||
331 | { | ||
332 | breathing_toggle(); | ||
333 | } | ||
334 | break; | ||
335 | |||
336 | case MACRO_BREATH_SPEED_INC: | ||
337 | if (record->event.pressed) | ||
338 | { | ||
339 | breathing_period_inc(); | ||
340 | } | ||
341 | break; | ||
342 | |||
343 | case MACRO_BREATH_SPEED_DEC: | ||
344 | if (record->event.pressed) | ||
345 | { | ||
346 | breathing_period_dec(); | ||
347 | } | ||
348 | break; | ||
349 | |||
350 | case MACRO_BREATH_DEFAULT: | ||
351 | if (record->event.pressed) | ||
352 | { | ||
353 | breathing_period_default(); | ||
354 | } | ||
355 | break; | ||
356 | |||
357 | case MACRO_QWERTY: | ||
358 | if (record->event.pressed) | ||
359 | { | ||
360 | persistent_default_layer_set(1UL<<LAYER_QWERTY); | ||
361 | } | ||
362 | break; | ||
363 | |||
364 | case MACRO_UPPER: | ||
365 | if (record->event.pressed) | ||
366 | { | ||
367 | layer_on(LAYER_UPPER); | ||
368 | breathing_period_set(2); | ||
369 | breathing_pulse(); | ||
370 | update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); | ||
371 | } | ||
372 | else | ||
373 | { | ||
374 | layer_off(LAYER_UPPER); | ||
375 | update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); | ||
376 | } | ||
377 | break; | ||
378 | |||
379 | case MACRO_LOWER: | ||
380 | if (record->event.pressed) | ||
381 | { | ||
382 | layer_on(LAYER_LOWER); | ||
383 | breathing_period_set(2); | ||
384 | breathing_pulse(); | ||
385 | update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); | ||
386 | } | ||
387 | else | ||
388 | { | ||
389 | layer_off(LAYER_LOWER); | ||
390 | update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); | ||
391 | } | ||
392 | break; | ||
393 | |||
394 | case MACRO_FUNCTION: | ||
395 | if (record->event.pressed) | ||
396 | { | ||
397 | breathing_period_set(3); | ||
398 | breathing_enable(); | ||
399 | layer_on(LAYER_FUNCTION); | ||
400 | } | ||
401 | else | ||
402 | { | ||
403 | breathing_period_set(1); | ||
404 | breathing_disable(); | ||
405 | layer_off(LAYER_FUNCTION); | ||
406 | } | ||
407 | break; | ||
408 | |||
409 | #ifdef MOUSEKEY_ENABLE | ||
410 | |||
411 | case MACRO_MOUSE: | ||
412 | if (record->event.pressed) | ||
413 | { | ||
414 | layer_invert(LAYER_MOUSE); | ||
415 | } | ||
416 | break; | ||
417 | |||
418 | #endif /* MOUSEKEY_ENABLE */ | ||
419 | |||
420 | #ifdef AUDIO_ENABLE | ||
421 | |||
422 | case MACRO_TIMBRE_1: | ||
423 | if (record->event.pressed) set_timbre(TIMBRE_12); | ||
424 | break; | ||
425 | |||
426 | case MACRO_TIMBRE_2: | ||
427 | if (record->event.pressed) set_timbre(TIMBRE_25); | ||
428 | break; | ||
429 | |||
430 | case MACRO_TIMBRE_3: | ||
431 | if (record->event.pressed) set_timbre(TIMBRE_50); | ||
432 | break; | ||
433 | |||
434 | case MACRO_TIMBRE_4: | ||
435 | if (record->event.pressed) set_timbre(TIMBRE_75); | ||
436 | break; | ||
437 | |||
438 | case MACRO_TEMPO_U: | ||
439 | if (record->event.pressed) increase_tempo(10); | ||
440 | break; | ||
441 | |||
442 | case MACRO_TEMPO_D: | ||
443 | if (record->event.pressed) decrease_tempo(10); | ||
444 | break; | ||
445 | |||
446 | case MACRO_TONE_DEFAULT: | ||
447 | if (record->event.pressed) | ||
448 | { | ||
449 | set_timbre(TIMBRE_DEFAULT); | ||
450 | set_tempo(TEMPO_DEFAULT); | ||
451 | } | ||
452 | break; | ||
453 | |||
454 | /* | ||
455 | case MACRO_AUDIO_TOGGLE: | ||
456 | if (record->event.pressed) | ||
457 | { | ||
458 | if (is_audio_on()) | ||
459 | { | ||
460 | audio_off(); | ||
461 | } | ||
462 | else | ||
463 | { | ||
464 | audio_on(); | ||
465 | PLAY_SONG(tone_audio_on); | ||
466 | } | ||
467 | } | ||
468 | break; | ||
469 | |||
470 | case MACRO_MUSIC_TOGGLE: | ||
471 | if (record->event.pressed) | ||
472 | { | ||
473 | if (IS_LAYER_ON(LAYER_MUSIC)) | ||
474 | { | ||
475 | layer_off(LAYER_MUSIC); | ||
476 | stop_all_notes(); | ||
477 | } | ||
478 | else | ||
479 | { | ||
480 | PLAY_SONG(tone_music_on); | ||
481 | layer_on(LAYER_MUSIC); | ||
482 | } | ||
483 | } | ||
484 | break; | ||
485 | case MACRO_INC_VOICE: | ||
486 | if (record->event.pressed) | ||
487 | { | ||
488 | #ifdef AUDIO_ENABLE | ||
489 | voice_iterate(); | ||
490 | PLAY_SONG(music_scale); | ||
491 | #endif | ||
492 | } | ||
493 | break; | ||
494 | |||
495 | case MACRO_DEC_VOICE: | ||
496 | if (record->event.pressed) | ||
497 | { | ||
498 | #ifdef AUDIO_ENABLE | ||
499 | voice_deiterate(); | ||
500 | PLAY_SONG(music_scale); | ||
501 | #endif | ||
502 | } | ||
503 | break; | ||
504 | */ | ||
505 | |||
506 | #endif /* AUDIO_ENABLE */ | ||
507 | |||
508 | #ifdef BACKLIGHT_ENABLE | ||
509 | case MACRO_BACKLIGHT: | ||
510 | if (record->event.pressed) | ||
511 | { | ||
512 | backlight_step(); | ||
513 | } | ||
514 | #endif | ||
515 | |||
516 | default: | ||
517 | break; | ||
518 | |||
519 | } | ||
520 | return MACRO_NONE; | ||
521 | }; | ||
522 | |||
523 | |||
524 | #ifdef AUDIO_ENABLE | ||
525 | |||
526 | void matrix_init_user(void) | ||
527 | { | ||
528 | set_voice(default_voice); | ||
529 | startup_user(); | ||
530 | println("Matrix Init"); | ||
531 | } | ||
532 | |||
533 | void led_set_user(uint8_t usb_led) | ||
534 | { | ||
535 | static uint8_t old_usb_led = 0; | ||
536 | |||
537 | _delay_ms(10); // gets rid of tick | ||
538 | |||
539 | if (!is_playing_notes()) | ||
540 | { | ||
541 | if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK))) | ||
542 | { | ||
543 | // If CAPS LK LED is turning on... | ||
544 | PLAY_SONG(tone_caps_on); | ||
545 | } | ||
546 | else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK))) | ||
547 | { | ||
548 | // If CAPS LK LED is turning off... | ||
549 | PLAY_SONG(tone_caps_off); | ||
550 | } | ||
551 | else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK))) | ||
552 | { | ||
553 | // If NUM LK LED is turning on... | ||
554 | PLAY_SONG(tone_numlk_on); | ||
555 | } | ||
556 | else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK))) | ||
557 | { | ||
558 | // If NUM LED is turning off... | ||
559 | PLAY_SONG(tone_numlk_off); | ||
560 | } | ||
561 | else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK))) | ||
562 | { | ||
563 | // If SCROLL LK LED is turning on... | ||
564 | PLAY_SONG(tone_scroll_on); | ||
565 | } | ||
566 | else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK))) | ||
567 | { | ||
568 | // If SCROLL LED is turning off... | ||
569 | PLAY_SONG(tone_scroll_off); | ||
570 | } | ||
571 | } | ||
572 | |||
573 | old_usb_led = usb_led; | ||
574 | } | ||
575 | |||
576 | |||
577 | void startup_user() | ||
578 | { | ||
579 | _delay_ms(10); // gets rid of tick | ||
580 | PLAY_SONG(tone_my_startup); | ||
581 | } | ||
582 | |||
583 | void shutdown_user() | ||
584 | { | ||
585 | PLAY_SONG(tone_my_goodbye); | ||
586 | _delay_ms(2000); | ||
587 | stop_all_notes(); | ||
588 | } | ||
589 | |||
590 | void audio_on_user(void) | ||
591 | { | ||
592 | PLAY_SONG(tone_audio_on); | ||
593 | } | ||
594 | |||
595 | void music_on_user(void) | ||
596 | { | ||
597 | PLAY_SONG(tone_music_on); | ||
598 | } | ||
599 | |||
600 | void music_scale_user(void) | ||
601 | { | ||
602 | PLAY_SONG(music_scale); | ||
603 | } | ||
604 | |||
605 | #endif /* AUDIO_ENABLE */ | ||
diff --git a/keyboards/atomic/keymaps/pvc/rules.mk b/keyboards/atomic/keymaps/pvc/rules.mk new file mode 100644 index 000000000..9385227ef --- /dev/null +++ b/keyboards/atomic/keymaps/pvc/rules.mk | |||
@@ -0,0 +1,16 @@ | |||
1 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | ||
2 | MOUSEKEY_ENABLE = yes # Mouse keys(+4700) | ||
3 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
4 | CONSOLE_ENABLE = yes # Console for debug(+400) | ||
5 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
6 | NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
7 | BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | ||
8 | MIDI_ENABLE = no # MIDI controls | ||
9 | AUDIO_ENABLE = yes # Audio output on port C6 | ||
10 | UNICODE_ENABLE = no # Unicode | ||
11 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
12 | RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | ||
13 | LTO_ENABLE = yes # Optimize size of firmware | ||
14 | |||
15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
diff --git a/keyboards/atomic/keymaps/twolayer/keymap.c b/keyboards/atomic/keymaps/twolayer/keymap.c new file mode 100644 index 000000000..a38ddf358 --- /dev/null +++ b/keyboards/atomic/keymaps/twolayer/keymap.c | |||
@@ -0,0 +1,46 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
4 | |||
5 | /* QWERTY - MIT ENHANCED / GRID COMPATIBLE | ||
6 | * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. | ||
7 | * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | | ||
8 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| | ||
9 | * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | | ||
10 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| | ||
11 | * | LCTRL1 | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP | | ||
12 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| | ||
13 | * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | | ||
14 | * |--------+--------+--------+--------+--------+- 6.25u ---------+--------+--------+--------+--------+-----------------+--------+--------| | ||
15 | * | BRITE | LALT | FN | XXXXXX . SPACE | RCTRL | RALT | FN | LEFT | DOWN | RIGHT | | ||
16 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
17 | */ | ||
18 | [0] = LAYOUT_ortho_5x15( /* QWERTY */ | ||
19 | KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, | ||
20 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, | ||
21 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP, | ||
22 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN, | ||
23 | BL_STEP, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT | ||
24 | ), | ||
25 | |||
26 | /* FUNCTION | ||
27 | * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. | ||
28 | * | GRV | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | | ||
29 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| | ||
30 | * | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR | | ||
31 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| | ||
32 | * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ | | ||
33 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| | ||
34 | * | NUM LK | | | | | | | | INSERT | END1 | HOME | XXXXXX . | MOUS U | WHEEL- | | ||
35 | * |--------+--------+--------+--------+--------+- 6.25 ------------+--------+--------+------+--------+-----------------+--------+--------| | ||
36 | * | | | FN | XXXXXX . MS BT1 | | | FN | MOUS L | MOUS D | MOUS R | | ||
37 | * '--------------------------------------------------------------------------------------------------------------------------------------' | ||
38 | */ | ||
39 | [1] = LAYOUT_ortho_5x15( /* FUNCTION LAYER*/ | ||
40 | KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, | ||
41 | KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR, | ||
42 | KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, KC_WH_U, | ||
43 | KC_NLCK, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_END, KC_HOME, _______, _______, KC_MS_U, KC_WH_D, | ||
44 | _______, _______, MO(1), _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, MO(1), KC_MS_L, KC_MS_D, KC_MS_R | ||
45 | ), | ||
46 | }; | ||
diff --git a/keyboards/atomic/readme.md b/keyboards/atomic/readme.md new file mode 100644 index 000000000..0561c4fea --- /dev/null +++ b/keyboards/atomic/readme.md | |||
@@ -0,0 +1,16 @@ | |||
1 | Atomic | ||
2 | === | ||
3 | |||
4 |  | ||
5 | |||
6 | A compact 60% (15x5) ortholinear keyboard kit made and sold by OLKB. | ||
7 | |||
8 | Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert) | ||
9 | Hardware Supported: Atomic PCB rev1, Teensy 2.0 | ||
10 | Hardware Availability: no longer available | ||
11 | |||
12 | Make example for this keyboard (after setting up your build environment): | ||
13 | |||
14 | make atomic:default | ||
15 | |||
16 | See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file | ||
diff --git a/keyboards/atomic/rules.mk b/keyboards/atomic/rules.mk new file mode 100644 index 000000000..8ceb73de8 --- /dev/null +++ b/keyboards/atomic/rules.mk | |||
@@ -0,0 +1,20 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = atmel-dfu | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | ||
17 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
18 | AUDIO_ENABLE = no # Audio output | ||
19 | |||
20 | LAYOUTS = ortho_5x15 | ||