diff options
author | QMK Bot <hello@qmk.fm> | 2021-01-19 02:10:55 +0000 |
---|---|---|
committer | QMK Bot <hello@qmk.fm> | 2021-01-19 02:10:55 +0000 |
commit | bfdedbe5b240300270c6dd7b36a68d5e10ad47f7 (patch) | |
tree | a4deb71c496c59b0dc96201df9018b830610b0fe | |
parent | 732e80e3fe4284090bd931bcbd20f391f711736d (diff) | |
parent | 993982a9853cccaa0224f39cfa4837fac147a6e0 (diff) | |
download | qmk_firmware-bfdedbe5b240300270c6dd7b36a68d5e10ad47f7.tar.gz qmk_firmware-bfdedbe5b240300270c6dd7b36a68d5e10ad47f7.zip |
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r-- | layouts/community/ortho_4x12/peej/keymap.c | 73 | ||||
-rw-r--r-- | layouts/community/ortho_5x12/peej/keymap.c | 54 | ||||
-rw-r--r-- | layouts/community/ortho_5x14/peej/keymap.c | 88 | ||||
-rw-r--r-- | users/peej/layout.h | 150 | ||||
-rw-r--r-- | users/peej/peej.c | 68 | ||||
-rw-r--r-- | users/peej/peej.h | 78 | ||||
-rw-r--r-- | users/peej/rules.mk | 1 |
7 files changed, 512 insertions, 0 deletions
diff --git a/layouts/community/ortho_4x12/peej/keymap.c b/layouts/community/ortho_4x12/peej/keymap.c new file mode 100644 index 000000000..d78f03da4 --- /dev/null +++ b/layouts/community/ortho_4x12/peej/keymap.c | |||
@@ -0,0 +1,73 @@ | |||
1 | /* Copyright 2020 Paul James | ||
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 | #define USE_2U_SPACE 1 | ||
18 | |||
19 | #include QMK_KEYBOARD_H | ||
20 | #include "peej.h" | ||
21 | |||
22 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
23 | |||
24 | [_BASE] = LAYOUT_PEEJ( | ||
25 | BASE_ROW_2, | ||
26 | BASE_ROW_3, | ||
27 | BASE_ROW_4, | ||
28 | BASE_ROW_5 | ||
29 | ), | ||
30 | |||
31 | [_SYMBOL] = LAYOUT_PEEJ( | ||
32 | SYMBOL_ROW_2, | ||
33 | SYMBOL_ROW_3, | ||
34 | SYMBOL_ROW_4, | ||
35 | SYMBOL_ROW_5 | ||
36 | ), | ||
37 | |||
38 | [_FUNCTION] = LAYOUT_PEEJ( | ||
39 | FUNCTION_ROW_2, | ||
40 | FUNCTION_ROW_3, | ||
41 | FUNCTION_ROW_4, | ||
42 | FUNCTION_ROW_5 | ||
43 | ), | ||
44 | |||
45 | [_ADJUST] = LAYOUT_PEEJ( | ||
46 | ADJUST_ROW_2, | ||
47 | ADJUST_ROW_3, | ||
48 | ADJUST_ROW_4, | ||
49 | ADJUST_ROW_5 | ||
50 | ) | ||
51 | |||
52 | }; | ||
53 | |||
54 | layer_state_t layer_state_set_user(layer_state_t state) { | ||
55 | #if defined(LED_RED) && defined(LED_GREEN) | ||
56 | writePinLow(LED_RED); | ||
57 | writePinLow(LED_GREEN); | ||
58 | |||
59 | switch (biton32(state)) { | ||
60 | case _FUNCTION: | ||
61 | writePinHigh(LED_RED); | ||
62 | break; | ||
63 | case _SYMBOL: | ||
64 | writePinHigh(LED_GREEN); | ||
65 | break; | ||
66 | case _ADJUST: | ||
67 | writePinHigh(LED_RED); | ||
68 | writePinHigh(LED_GREEN); | ||
69 | break; | ||
70 | } | ||
71 | #endif | ||
72 | return state; | ||
73 | } | ||
diff --git a/layouts/community/ortho_5x12/peej/keymap.c b/layouts/community/ortho_5x12/peej/keymap.c new file mode 100644 index 000000000..95b1d43ac --- /dev/null +++ b/layouts/community/ortho_5x12/peej/keymap.c | |||
@@ -0,0 +1,54 @@ | |||
1 | /* Copyright 2020 Paul James | ||
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 "peej.h" | ||
19 | |||
20 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
21 | |||
22 | [_BASE] = LAYOUT_PEEJ( | ||
23 | BASE_ROW_1, | ||
24 | BASE_ROW_2, | ||
25 | BASE_ROW_3, | ||
26 | BASE_ROW_4, | ||
27 | BASE_ROW_5 | ||
28 | ), | ||
29 | |||
30 | [_SYMBOL] = LAYOUT_PEEJ( | ||
31 | SYMBOL_ROW_1, | ||
32 | SYMBOL_ROW_2, | ||
33 | SYMBOL_ROW_3, | ||
34 | SYMBOL_ROW_4, | ||
35 | SYMBOL_ROW_5 | ||
36 | ), | ||
37 | |||
38 | [_FUNCTION] = LAYOUT_PEEJ( | ||
39 | FUNCTION_ROW_1, | ||
40 | FUNCTION_ROW_2, | ||
41 | FUNCTION_ROW_3, | ||
42 | FUNCTION_ROW_4, | ||
43 | FUNCTION_ROW_5 | ||
44 | ), | ||
45 | |||
46 | [_ADJUST] = LAYOUT_PEEJ( | ||
47 | ADJUST_ROW_1, | ||
48 | ADJUST_ROW_2, | ||
49 | ADJUST_ROW_3, | ||
50 | ADJUST_ROW_4, | ||
51 | ADJUST_ROW_5 | ||
52 | ) | ||
53 | |||
54 | }; | ||
diff --git a/layouts/community/ortho_5x14/peej/keymap.c b/layouts/community/ortho_5x14/peej/keymap.c new file mode 100644 index 000000000..3abd41853 --- /dev/null +++ b/layouts/community/ortho_5x14/peej/keymap.c | |||
@@ -0,0 +1,88 @@ | |||
1 | /* Copyright 2020 Paul James | ||
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 "peej.h" | ||
19 | |||
20 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
21 | |||
22 | #define MODS KC_LCTL, KC_LALT, KC_LGUI, FUNCT | ||
23 | #define ARROWS KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT | ||
24 | |||
25 | /* | ||
26 | * ,-----------------------------------------------------------------------------------------------------------------------------. | ||
27 | * | ESC | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | BACK | | ||
28 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
29 | * | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | \ | | ||
30 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
31 | * | ESC | A | S | D | F | G | { | } | H | J | K | L | ; | ' | | ||
32 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
33 | * | SHIFT | Z | X | C | V | B | ( | ) | N | M | , | . | / | ENTER | | ||
34 | * `--------+--------+--------+--------+--------+-----------------+-----------------+--------+--------+--------+--------+--------' | ||
35 | * | CTRL | ALT | CMD | FUNC | SPACE | BACKSPACE | LEFT | DOWN | UP | RIGHT | | ||
36 | * `-----------------------------------------------------------------------------------------------------------' | ||
37 | */ | ||
38 | [_BASE] = LAYOUT_PEEJ_hhkb( | ||
39 | KC_GESC, BASE_ROW_1_L, BASE_ROW_1_M, BASE_ROW_1_R, KC_BSPC, | ||
40 | KC_TAB, BASE_ROW_2_L, BASE_ROW_2_M, BASE_ROW_2_R, KC_BSLS, | ||
41 | CTLESC, BASE_ROW_3_L, BASE_ROW_3_M, BASE_ROW_3_R, KC_QUOT, | ||
42 | KC_LSFT, BASE_ROW_4_L, BASE_ROW_4_M, BASE_ROW_4_R, KC_ENT, | ||
43 | MODS, KC_SPC, KC_BSPC, ARROWS | ||
44 | ), | ||
45 | |||
46 | /* | ||
47 | * ,-----------------------------------------------------------------------------------------------------------------------------. | ||
48 | * | LOCK | F1 | F2 | F3 | F4 | F5 | F11 | F12 | F6 | F7 | F8 | F9 | F10 | DEL | | ||
49 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
50 | * | ADJUST | | | | | | | | | HOME | UP | PGUP | | | | ||
51 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
52 | * | SHIFT | CTRL | ALT | CMD | | | | | | LEFT | DOWN | RIGHT | | | | ||
53 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
54 | * | | | | | | | | | | END | SHIFT | PGDN | | | | ||
55 | * `--------+--------+--------+--------+--------+-----------------+-----------------+--------+--------+--------+--------+--------' | ||
56 | * | | | | | | ENTER | HOME | PGDN | PGUP | END | | ||
57 | * `-----------------------------------------------------------------------------------------------------------' | ||
58 | */ | ||
59 | [_FUNCTION] = LAYOUT_PEEJ_hhkb( | ||
60 | LOCK, FUNCTION_ROW_1_L, ______2, FUNCTION_ROW_1_R, KC_DEL, | ||
61 | ADJUST, ______5, ______2, FUNCTION_ROW_2_R, _______, | ||
62 | KC_LSFT, FUNCTION_ROW_3_L, ______2, FUNCTION_ROW_3_R, _______, | ||
63 | _______, ______5, ______2, FUNCTION_ROW_4_R, _______, | ||
64 | ______4, _______, KC_ENT, ______4 | ||
65 | ), | ||
66 | |||
67 | /* | ||
68 | * ,----------------------------------------Backlight-------------------------RGB-----Bright---Sat------Hue----------------------. | ||
69 | * | LOCK | RESET | | | STEP | TOGGLE | | | TOGGLE | UP | UP | UP | | LOCK | | ||
70 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
71 | * | | | | | | | | | MODE | DOWN | DOWN | DOWN | | | | ||
72 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
73 | * | | | | | | | | | | | | | | | | ||
74 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | ||
75 | * | | Norm | Swap | | | | | | | | | | | | | ||
76 | * `--------+--------+--------+--------+--------+-----------------+-----------------+--------+--------+--------+--------+--------' | ||
77 | * | | | | | | | | | | | | ||
78 | * `-----------------------------------------------------------------------------------------------------------' | ||
79 | */ | ||
80 | [_ADJUST] = LAYOUT_PEEJ_hhkb( | ||
81 | LOCK, ADJUST_ROW_2_L, XXXXXXX, XXXXXXX, ADJUST_ROW_2_R, LOCK, | ||
82 | XXXXXXX, EMPTY_ROW, XXXXXXX, XXXXXXX, ADJUST_ROW_3_R, XXXXXXX, | ||
83 | XXXXXXX, EMPTY_ROW, KC_MPLY, KC_MUTE, EMPTY_ROW, XXXXXXX, | ||
84 | XXXXXXX, ADJUST_ROW_4_L, KC_VOLD, KC_VOLU, EMPTY_ROW, _______, | ||
85 | XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
86 | ) | ||
87 | |||
88 | }; | ||
diff --git a/users/peej/layout.h b/users/peej/layout.h new file mode 100644 index 000000000..f10b6d031 --- /dev/null +++ b/users/peej/layout.h | |||
@@ -0,0 +1,150 @@ | |||
1 | /* Copyright 2020 Paul James | ||
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 | /* Base layer | ||
18 | * ,-----------------------------------------. ,-------------. ,-----------------------------------------. | ||
19 | * | Esc | 1 | 2 | 3 | 4 | 5 | | - | = | | 6 | 7 | 8 | 9 | 0 | Del | | ||
20 | * |------+------+------+------+------+------| |------+------| |------+------+------+------+------+------| | ||
21 | * | Tab | Q | W | E | R | T | | [ | ] | | Y | U | I | O | P | Bksp | | ||
22 | * |------+------+------+------+------+------| |------+------| |------+------+------+------+------+------| | ||
23 | * | Esc | A | S | D | F | G | | { | } | | H | J | K | L | ; | ' | | ||
24 | * |------+------+------+------+------+------| |------+------| |------+------+------+------+------+------| | ||
25 | * | Shft | Z | X | C | V | B | | ( | ) | | N | M | , | . | / | Entr | | ||
26 | * |------+------+------+------+------+------| |------+------| |------+------+------+------+------+------| | ||
27 | * | Ctrl | Symb | Alt | Cmd | Symb | Spce | | | | | Spce | Fn | Left | Down | Up | Rght | | ||
28 | * `-----------------------------------------' `-------------' `-----------------------------------------' | ||
29 | */ | ||
30 | #define BASE_ROW_1_L KC_1, KC_2, KC_3, KC_4, KC_5 | ||
31 | #define BASE_ROW_2_L KC_Q, KC_W, KC_E, KC_R, KC_T | ||
32 | #define BASE_ROW_3_L KC_A, KC_S, KC_D, FN_F, KC_G | ||
33 | #define BASE_ROW_4_L KC_Z, KC_X, KC_C, KC_V, KC_B | ||
34 | #define BASE_ROW_5_L KC_LCTL, SYMBOL, KC_LALT, KC_LGUI, SYMBOL, KC_SPC | ||
35 | |||
36 | #define BASE_ROW_1_R KC_6, KC_7, KC_8, KC_9, KC_0 | ||
37 | #define BASE_ROW_2_R KC_Y, KC_U, KC_I, KC_O, KC_P | ||
38 | #define BASE_ROW_3_R KC_H, SY_J, KC_K, KC_L, KC_SCLN | ||
39 | #ifdef ARROW_LAYOUT | ||
40 | #define BASE_ROW_4_R KC_N, KC_M, KC_COMM, KC_DOT, KC_UP | ||
41 | #define BASE_ROW_5_R KC_SPC, FN_SPC, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT | ||
42 | #else | ||
43 | #define BASE_ROW_4_R KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH | ||
44 | #define BASE_ROW_5_R KC_SPC, FUNCT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
45 | #endif | ||
46 | |||
47 | #define BASE_ROW_1_M KC_MINS, KC_EQL | ||
48 | #define BASE_ROW_2_M KC_LBRC, KC_RBRC | ||
49 | #define BASE_ROW_3_M KC_LCBR, KC_RCBR | ||
50 | #define BASE_ROW_4_M KC_LPRN, KC_RPRN | ||
51 | |||
52 | #define BASE_ROW_1 KC_GESC, BASE_ROW_1_L, BASE_ROW_1_R, KC_DEL | ||
53 | #define BASE_ROW_2 KC_TAB, BASE_ROW_2_L, BASE_ROW_2_R, KC_BSPC | ||
54 | #define BASE_ROW_3 KC_GESC, BASE_ROW_3_L, BASE_ROW_3_R, KC_QUOT | ||
55 | #define BASE_ROW_4 KC_LSFT, BASE_ROW_4_L, BASE_ROW_4_R, KC_ENTER | ||
56 | #define BASE_ROW_5 BASE_ROW_5_L, BASE_ROW_5_R | ||
57 | |||
58 | |||
59 | /* Function layer | ||
60 | * ,-----------------------------------------. ,-----------------------------------------. | ||
61 | * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | Lock | | ||
62 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
63 | * | Adju | F1 | F2 | F3 | F4 | F5 | | | Home | Up | PgUp | \ | | | ||
64 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
65 | * | Shft | Ctrl | Alt | Cmd | | | | | Left | Down | Rght | | ` | | ||
66 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
67 | * | | F6 | F7 | F8 | F9 | F10 | | | End | Shft | PgDn | \ | | | ||
68 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
69 | * | | | | | Adju | BkSp | | | | Home | PgDn | PgUp | End | | ||
70 | * `-----------------------------------------' `-----------------------------------------' | ||
71 | */ | ||
72 | #define FUNCTION_ROW_1_L KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 | ||
73 | #define FUNCTION_ROW_2_L KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 | ||
74 | #define FUNCTION_ROW_3_L KC_LCTL, KC_LALT, KC_LGUI, _______, _______ | ||
75 | #define FUNCTION_ROW_4_L KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 | ||
76 | #define FUNCTION_ROW_5_L _______, _______, _______, _______, ADJUST, KC_BSPC | ||
77 | |||
78 | #define FUNCTION_ROW_1_R KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 | ||
79 | #define FUNCTION_ROW_2_R _______, KC_HOME, KC_UP, KC_PGUP, KC_BSLS | ||
80 | #define FUNCTION_ROW_3_R _______, KC_LEFT, KC_DOWN, KC_RGHT, _______ | ||
81 | #ifdef ARROW_LAYOUT | ||
82 | #define FUNCTION_ROW_4_R _______, KC_END, KC_LSFT, KC_PGDN, KC_PGUP | ||
83 | #define FUNCTION_ROW_5_R _______, _______, KC_BSLS, KC_HOME, KC_PGUP, KC_END | ||
84 | #else | ||
85 | #define FUNCTION_ROW_4_R _______, KC_END, KC_LSFT, KC_PGDN, KC_BSLS | ||
86 | #define FUNCTION_ROW_5_R _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | ||
87 | #endif | ||
88 | |||
89 | #define FUNCTION_ROW_1 _______, FUNCTION_ROW_1_L, FUNCTION_ROW_1_R, LOCK | ||
90 | #define FUNCTION_ROW_2 ADJUST, FUNCTION_ROW_2_L, FUNCTION_ROW_2_R, _______ | ||
91 | #define FUNCTION_ROW_3 KC_LSFT, FUNCTION_ROW_3_L, FUNCTION_ROW_3_R, KC_GRV | ||
92 | #define FUNCTION_ROW_4 _______, FUNCTION_ROW_4_L, FUNCTION_ROW_4_R, _______ | ||
93 | #define FUNCTION_ROW_5 FUNCTION_ROW_5_L, FUNCTION_ROW_5_R | ||
94 | |||
95 | |||
96 | /* Symbol layer | ||
97 | * ,-----------------------------------------. ,-----------------------------------------. | ||
98 | * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | Lock | | ||
99 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
100 | * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | | ||
101 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
102 | * | Shft | _ | + | ( | { | [ | | ] | | Shft | { | } | ` | | ||
103 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
104 | * | | - | = | => | -> | - | | = | == | === | [ | ] | | | ||
105 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
106 | * | | | | | | | | Del | Adju | Home | PgDn | PgUp | End | | ||
107 | * `-----------------------------------------' `-----------------------------------------' | ||
108 | */ | ||
109 | #define SYMBOL_ROW_2_L KC_1, KC_2, KC_3, KC_4, KC_5 | ||
110 | #define SYMBOL_ROW_3_L KC_UNDS, KC_PLUS, KC_LPRN, KC_LCBR, KC_LBRC | ||
111 | #define SYMBOL_ROW_4_L KC_MINS, KC_EQL, MC_DARR, MC_ARR, KC_MINS | ||
112 | #define SYMBOL_ROW_5_L _______, _______, _______, _______, _______, _______ | ||
113 | |||
114 | #define SYMBOL_ROW_2_R KC_6, KC_7, KC_8, KC_9, KC_0 | ||
115 | #define SYMBOL_ROW_3_R KC_RBRC, _______, KC_RSFT, KC_LCBR, KC_RCBR | ||
116 | #ifdef ARROW_LAYOUT | ||
117 | #define SYMBOL_ROW_4_R KC_EQL, MC_DEQL, MC_TEQL, KC_LBRC, KC_PGUP | ||
118 | #define SYMBOL_ROW_5_R KC_DEL, ADJUST, KC_BSLS, KC_HOME, KC_PGUP, KC_END | ||
119 | #else | ||
120 | #define SYMBOL_ROW_4_R KC_EQL, MC_DEQL, MC_TEQL, KC_LBRC, KC_RBRC | ||
121 | #define SYMBOL_ROW_5_R KC_DEL, ADJUST, KC_HOME, KC_PGDN, KC_PGUP, KC_END | ||
122 | #endif | ||
123 | |||
124 | #define SYMBOL_ROW_1 _______, FUNCTION_ROW_1_L, FUNCTION_ROW_1_R, LOCK | ||
125 | #define SYMBOL_ROW_2 _______, SYMBOL_ROW_2_L, SYMBOL_ROW_2_R, _______ | ||
126 | #define SYMBOL_ROW_3 KC_LSFT, SYMBOL_ROW_3_L, SYMBOL_ROW_3_R, KC_GRV | ||
127 | #define SYMBOL_ROW_4 _______, SYMBOL_ROW_4_L, SYMBOL_ROW_4_R, _______ | ||
128 | #define SYMBOL_ROW_5 SYMBOL_ROW_5_L, SYMBOL_ROW_5_R | ||
129 | |||
130 | |||
131 | /* Adjust layer */ | ||
132 | #define ADJUST_ROW_2_L KC_RESET, XXXXXXX, XXXXXXX, BL_STEP, BL_TOGG | ||
133 | #define ADJUST_ROW_2_R RGB_TOG, RGB_VAI, RGB_SAI, RGB_HUI, XXXXXXX | ||
134 | |||
135 | #define ADJUST_ROW_3_L XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
136 | #define ADJUST_ROW_3_R RGB_MOD, RGB_VAD, RGB_SAD, RGB_HUD, XXXXXXX | ||
137 | |||
138 | #define ADJUST_ROW_4_L AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX | ||
139 | #define ADJUST_ROW_4_R RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_G, RGB_M_T | ||
140 | |||
141 | #define ADJUST_ROW_5_L XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX | ||
142 | #define ADJUST_ROW_5_R XXXXXXX, _______, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE | ||
143 | |||
144 | #define ADJUST_ROW_1 LOCK, ADJUST_ROW_2_L, ADJUST_ROW_2_R, LOCK | ||
145 | #define ADJUST_ROW_2 _______, ADJUST_ROW_2_L, ADJUST_ROW_2_R, LOCK | ||
146 | #define ADJUST_ROW_3 XXXXXXX, ADJUST_ROW_3_L, ADJUST_ROW_3_R, XXXXXXX | ||
147 | #define ADJUST_ROW_4 XXXXXXX, ADJUST_ROW_4_L, ADJUST_ROW_4_R, XXXXXXX | ||
148 | #define ADJUST_ROW_5 ADJUST_ROW_5_L, ADJUST_ROW_5_R | ||
149 | |||
150 | #define EMPTY_ROW XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
diff --git a/users/peej/peej.c b/users/peej/peej.c new file mode 100644 index 000000000..c4ea4f87b --- /dev/null +++ b/users/peej/peej.c | |||
@@ -0,0 +1,68 @@ | |||
1 | /* Copyright 2020 Paul James | ||
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 "peej.h" | ||
18 | |||
19 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
20 | bool is_shifted = get_mods() & MOD_LSFT; | ||
21 | |||
22 | if (record->event.pressed) { | ||
23 | switch(keycode) { | ||
24 | case MC_ARR: | ||
25 | if (is_shifted) { | ||
26 | unregister_mods(MOD_LSFT); | ||
27 | SEND_STRING("=>"); | ||
28 | register_mods(MOD_LSFT); | ||
29 | } else { | ||
30 | SEND_STRING("->"); | ||
31 | } | ||
32 | break; | ||
33 | case MC_DARR: | ||
34 | unregister_mods(MOD_LSFT); | ||
35 | SEND_STRING("=>"); | ||
36 | if (is_shifted) register_mods(MOD_LSFT); | ||
37 | break; | ||
38 | case MC_DEQL: | ||
39 | if (is_shifted) { | ||
40 | unregister_mods(MOD_LSFT); | ||
41 | SEND_STRING("!="); | ||
42 | register_mods(MOD_LSFT); | ||
43 | } else { | ||
44 | SEND_STRING("=="); | ||
45 | } | ||
46 | break; | ||
47 | case MC_TEQL: | ||
48 | if (is_shifted) { | ||
49 | unregister_mods(MOD_LSFT); | ||
50 | SEND_STRING("!=="); | ||
51 | register_mods(MOD_LSFT); | ||
52 | } else { | ||
53 | SEND_STRING("==="); | ||
54 | } | ||
55 | break; | ||
56 | case KC_RESET: | ||
57 | #ifdef RGBLIGHT_ENABLE | ||
58 | rgblight_enable_noeeprom(); | ||
59 | rgblight_mode_noeeprom(1); | ||
60 | rgblight_setrgb_red(); | ||
61 | #endif | ||
62 | reset_keyboard(); | ||
63 | break; | ||
64 | } | ||
65 | } | ||
66 | |||
67 | return true; | ||
68 | }; | ||
diff --git a/users/peej/peej.h b/users/peej/peej.h new file mode 100644 index 000000000..b9ec571e5 --- /dev/null +++ b/users/peej/peej.h | |||
@@ -0,0 +1,78 @@ | |||
1 | /* Copyright 2020 Paul James | ||
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 | #include QMK_KEYBOARD_H | ||
19 | |||
20 | #include "eeconfig.h" | ||
21 | |||
22 | enum custom_layers { | ||
23 | _BASE = 0, | ||
24 | _SYMBOL, | ||
25 | _FUNCTION, | ||
26 | _ADJUST, | ||
27 | }; | ||
28 | |||
29 | // Fillers to make layering more clear | ||
30 | #define ______2 KC_TRNS, KC_TRNS | ||
31 | #define ______3 KC_TRNS, KC_TRNS, KC_TRNS | ||
32 | #define ______4 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
33 | #define ______5 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
34 | |||
35 | enum custom_keycodes { | ||
36 | MC_ARR = SAFE_RANGE, | ||
37 | MC_DARR, | ||
38 | MC_DEQL, | ||
39 | MC_TEQL, | ||
40 | KC_RESET | ||
41 | }; | ||
42 | |||
43 | #define SYMBOL MO(_SYMBOL) | ||
44 | #define FUNCT MO(_FUNCTION) | ||
45 | #define ADJUST MO(_ADJUST) | ||
46 | |||
47 | #define FN_SPC LT(_FUNCTION, KC_SPC) | ||
48 | #define SY_SPC LT(_SYMBOL, KC_SPC) | ||
49 | #define FN_F LT(_FUNCTION, KC_F) | ||
50 | #define SY_J LT(_SYMBOL, KC_J) | ||
51 | |||
52 | #define CTLESC LCTL_T(KC_ESC) | ||
53 | #define SFTENT RSFT_T(KC_ENT) | ||
54 | #define LOCK LCTL(LGUI(KC_Q)) | ||
55 | #define BACK LGUI(KC_LBRC) | ||
56 | #define FORWARD LGUI(KC_RBRC) | ||
57 | #define NXTFUNC LCTL(KC_DOWN) | ||
58 | #define PRVFUNC LCTL(KC_UP) | ||
59 | #define TOP LGUI(KC_UP) | ||
60 | #define BOTTOM LGUI(KC_DOWN) | ||
61 | |||
62 | #ifdef LAYOUT_ortho_4x12 | ||
63 | #define LAYOUT_PEEJ(...) LAYOUT_ortho_4x12(__VA_ARGS__) | ||
64 | #endif | ||
65 | |||
66 | #ifdef LAYOUT_ortho_5x12 | ||
67 | #define LAYOUT_PEEJ(...) LAYOUT_ortho_5x12(__VA_ARGS__) | ||
68 | #endif | ||
69 | |||
70 | #ifdef LAYOUT_ortho_hhkb | ||
71 | #define LAYOUT_PEEJ_hhkb(...) LAYOUT_ortho_hhkb(__VA_ARGS__) | ||
72 | #endif | ||
73 | |||
74 | #ifdef LAYOUT_ortho_7u | ||
75 | #define LAYOUT_PEEJ_7u(...) LAYOUT_ortho_7u(__VA_ARGS__) | ||
76 | #endif | ||
77 | |||
78 | #include "layout.h" | ||
diff --git a/users/peej/rules.mk b/users/peej/rules.mk new file mode 100644 index 000000000..9c1105e72 --- /dev/null +++ b/users/peej/rules.mk | |||
@@ -0,0 +1 @@ | |||
SRC += peej.c | |||