aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrigotometry <25544371+Trigotometry@users.noreply.github.com>2018-10-20 02:40:46 +1100
committerDrashna Jaelre <drashna@live.com>2018-10-19 08:40:46 -0700
commitae31eb564a340cab53f18fe5290ee5033704be1f (patch)
treec95dd8899aa70b9e46ce219ef72bca23dfd29f4f
parent7222e3691b18128c4822f6bb5db008010f5e41dd (diff)
downloadqmk_firmware-ae31eb564a340cab53f18fe5290ee5033704be1f.tar.gz
qmk_firmware-ae31eb564a340cab53f18fe5290ee5033704be1f.zip
Keymap: Trigotometry's Preonic (#4158)
* adding my keymap * updated pull request comments from dashna, including redundancies and DVORAK entirely * changed over visual representation to use 'LAYOUT_preonic_grid()' * added a ReadMe and commented out AUDIO_ENABLED related stuff in keymap.c until I can align with current QMK standards * Update readme.md * readme corrections and adjustments
-rw-r--r--keyboards/preonic/keymaps/trigotometry/config.h8
-rw-r--r--keyboards/preonic/keymaps/trigotometry/keymap.c165
-rw-r--r--keyboards/preonic/keymaps/trigotometry/readme.md75
-rw-r--r--keyboards/preonic/keymaps/trigotometry/rules.mk2
4 files changed, 250 insertions, 0 deletions
diff --git a/keyboards/preonic/keymaps/trigotometry/config.h b/keyboards/preonic/keymaps/trigotometry/config.h
new file mode 100644
index 000000000..eaf6997db
--- /dev/null
+++ b/keyboards/preonic/keymaps/trigotometry/config.h
@@ -0,0 +1,8 @@
1#pragma once
2
3#define STARTUP_SONG SONG(PREONIC_SOUND)
4#define MUSIC_MASK (keycode != KC_NO)
5
6#define FORCE_NKRO 1
7#define PREVENT_STUCK_MODIFIERS
8#define GRAVE_ESC_GUI_OVERRIDE \ No newline at end of file
diff --git a/keyboards/preonic/keymaps/trigotometry/keymap.c b/keyboards/preonic/keymaps/trigotometry/keymap.c
new file mode 100644
index 000000000..31cee4a4c
--- /dev/null
+++ b/keyboards/preonic/keymaps/trigotometry/keymap.c
@@ -0,0 +1,165 @@
1#include QMK_KEYBOARD_H
2#ifdef AUDIO_ENABLE
3 #include "audio.h"
4#endif
5
6// Layer declarations
7enum preonic_layers {
8 _QWERTY = 1,
9 _GAMING = 2,
10 _LOWER = 3,
11 _RAISE = 4,
12};
13
14enum preonic_keycodes {
15 QWERTY = SAFE_RANGE,
16 GAMING,
17 LOWER,
18 RAISE,
19};
20
21// QMK predefined macros
22#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26/* QWERTY
27 * ,-----------------------------------------------------------------------------------.
28 * | GEsc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
29 * |------+------+------+------+------+------+------+------+------+------+------+------|
30 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
31 * |------+------+------+------+------+-------------+------+------+------+------+------|
32 * | Shft | A | S | D | F | G | H | J | K | L | ; | " |
33 * |------+------+------+------+------+------|------+------+------+------+------+------|
34 * |SFTENT| Z | X | C | V | B | N | M | , | . | / | Entr |
35 * |------+------+------+------+------+------+------+------+------+------+------+------|
36 * | | Ctrl | Alt | Supr |Lower | Space | Raise| Left | Down | Up | Rght |
37 * `-----------------------------------------------------------------------------------'
38 */
39[_QWERTY] = LAYOUT_preonic_grid(
40 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
41 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
42 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
43 SFT_ENT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, \
44 XXXXXXX, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
45),
46
47/* Gaming
48 * ,-----------------------------------------------------------------------------------.
49 * | Grve | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
50 * |------+------+------+------+------+------+------+------+------+------+------+------|
51 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
52 * |------+------+------+------+------+-------------+------+------+------+------+------|
53 * | Shft | A | S | D | F | G | H | J | K | L | ; | " |
54 * |------+------+------+------+------+------|------+------+------+------+------+------|
55 * | Shft | Z | X | C | V | B | N | M | , | . | / | Entr |
56 * |------+------+------+------+------+------+------+------+------+------+------+------|
57 * | Ctrl | Ctrl | Alt | Alt |Lower | Space | Raise| Left | Down | Up | Rght |
58 * `-----------------------------------------------------------------------------------'
59 */
60[_GAMING] = LAYOUT_preonic_grid(
61 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
62 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
63 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
64 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \
65 KC_LCTL, KC_LCTL, KC_LALT, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
66),
67
68/* Lower
69 * ,-----------------------------------------------------------------------------------.
70 * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | | * | / | | Del |
71 * |------+------+------+------+------+-------------+------+------+------+------+------|
72 * | | | VolD | Up | VolU | | | 7 | 8 | 9 | - | Bksp |
73 * |------+------+------+------+------+-------------+------+------+------+------+------|
74 * | | | Left | Down | Rght | | | 4 | 5 | 6 | + | |
75 * |------+------+------+------+------+------|------+------+------+------+------+------|
76 * | | | Prev | Play | Skip | | | 1 | 2 | 3 | = | |
77 * |------+------+------+------+------+------+------+------+------+------+------+------|
78 * | | | | Supr | | | 0 | Home |PageDn|PageUp| End |
79 * `-----------------------------------------------------------------------------------'
80 */
81[_LOWER] = LAYOUT_preonic_grid(
82 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_PAST, KC_PSLS, XXXXXXX, KC_DEL, \
83 _______, XXXXXXX, KC_VOLD, KC_UP, KC_VOLU, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, KC_PMNS, KC_BSPC, \
84 _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_4, KC_5, KC_6, KC_PPLS, XXXXXXX, \
85 _______, XXXXXXX, KC_MRWD, KC_MPLY, KC_MFFD, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_PEQL, KC_ENT, \
86 _______, _______, _______, KC_LGUI, _______, _______, _______, KC_0, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
87),
88
89/* Raise
90 * ,-----------------------------------------------------------------------------------.
91 * | F12 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 |
92 * |------+------+------+------+------+------+------+------+------+------+------+------|
93 * | | | | | \ | | | / | | | | |
94 * |------+------+------+------+------+-------------+------+------+------+------+------|
95 * | | | | [ | { | ( | < | > | ) | } | ] | | | |
96 * |------+------+------+------+------+------|------+------+------+------+------+------|
97 * | | | | | + | - | _ | = | | | | |
98 * |------+------+------+------+------+------+------+------+------+------+------+------|
99 * | | | | | | | |Qwerty| Game | | Reset|
100 * `-----------------------------------------------------------------------------------'
101 */
102[_RAISE] = LAYOUT_preonic_grid(
103 KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 , \
104 _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, XXXXXXX, XXXXXXX, KC_PSLS, XXXXXXX, XXXXXXX, XXXXXXX, _______, \
105 _______, KC_PIPE, KC_LBRC, KC_LCBR, KC_LPRN, KC_LABK, KC_RABK, KC_RPRN, KC_RCBR, KC_RBRC, KC_PIPE, XXXXXXX, \
106 _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PMNS, KC_UNDS, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX, _______, \
107 _______, _______, _______, _______, _______, _______, _______, _______, QWERTY , GAMING, XXXXXXX, RESET \
108)
109
110};
111
112bool process_record_user(uint16_t keycode, keyrecord_t *record) {
113 switch (keycode) {
114
115 case QWERTY:
116 if (record->event.pressed) {
117 set_single_persistent_default_layer(_QWERTY);
118 }
119 return false;
120 break;
121
122 case LOWER:
123 if (record->event.pressed) {
124 layer_on(_LOWER);
125 } else {
126 layer_off(_LOWER);
127 }
128 return false;
129 break;
130
131 case RAISE:
132 if (record->event.pressed) {
133 layer_on(_RAISE);
134 } else {
135 layer_off(_RAISE);
136 }
137 return false;
138 break;
139
140 case GAMING:
141 if (record->event.pressed) {
142 set_single_persistent_default_layer(_GAMING);
143 }
144 return false;
145 break;
146
147 }
148 return true;
149};
150
151// NFI how to bring this inline with current QMK standards yet, or it's redundant and don't use it.
152// #ifdef AUDIO_ENABLE
153// float tone_startup[][2] = {
154// {NOTE_D5, 8},
155// {NOTE_E6, 8},
156// {NOTE_D6, 8},
157// {NOTE_E5, 8}
158// };
159
160// void startup_user()
161// {
162// _delay_ms(20); // gets rid of tick
163// PLAY_SONG(tone_startup);
164// }
165// #endif
diff --git a/keyboards/preonic/keymaps/trigotometry/readme.md b/keyboards/preonic/keymaps/trigotometry/readme.md
new file mode 100644
index 000000000..aff01a22e
--- /dev/null
+++ b/keyboards/preonic/keymaps/trigotometry/readme.md
@@ -0,0 +1,75 @@
1# Trigotometry's v1.0
2
3This layout is the confluence of the standard Preonic QWERTY layout and some of my own tweaks to make it's software as logical and straight cut as it's physical presence, at least in my eyes. Some might say there's wasted space, though possibly true, I believe in keeping it minimal and only adding what is really needed. So if, like me, you're also beginning your journey of coding and enjoy some downtime with friends on the battlefield I think you'll find this layout a stellar place to kick off your customisation.
4
5## Qwerty
6 /* Qwerty
7 * ,-----------------------------------------------------------------------------------.
8 * | GEsc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
9 * |------+------+------+------+------+------+------+------+------+------+------+------|
10 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
11 * |------+------+------+------+------+-------------+------+------+------+------+------|
12 * | Shft | A | S | D | F | G | H | J | K | L | ; | " |
13 * |------+------+------+------+------+------|------+------+------+------+------+------|
14 * |SFTENT| Z | X | C | V | B | N | M | , | . | / | ENT |
15 * |------+------+------+------+------+------+------+------+------+------+------+------|
16 * | | Ctrl | Alt | Supr |Lower | Space | Raise| Left | Down | Up | Rght |
17 * `-----------------------------------------------------------------------------------
18 */
19Take note of the dual Enter keys, located where normally there'd be a pair of Shifts. I did this to ensure the alphas stayed in the same spot when compared to a staggered and standard board. My brain found it easier to switch the mods across keyboard than the relative position in the alphas, however it's easy to reverse the Enters/Shifts and you'll be back an (nearly) square one!
20
21Also, LEnter acts as a Shift if it's held.
22
23
24
25## Gaming
26 /* Gaming
27 * ,-----------------------------------------------------------------------------------.
28 * | Grve | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
29 * |------+------+------+------+------+------+------+------+------+------+------+------|
30 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
31 * |------+------+------+------+------+-------------+------+------+------+------+------|
32 * | Shft | A | S | D | F | G | H | J | K | L | ; | " |
33 * |------+------+------+------+------+------|------+------+------+------+------+------|
34 * | Shft | Z | X | C | V | B | N | M | , | . | / | Entr |
35 * |------+------+------+------+------+------+------+------+------+------+------+------|
36 * | Ctrl | Ctrl | Alt | Alt |Lower | Space | Raise| Left | Down | Up | Rght |
37 * `-----------------------------------------------------------------------------------'
38 */
39Honestly it's pretty standard, however I've doubled up on the important modifiers and removed the Super. It's still accessable readily by holding Lower and the key to it's left. Neato? I thought so.
40
41
42
43## Raise Layer
44 /* Raise
45 * ,-----------------------------------------------------------------------------------.
46 * | F12 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 |
47 * |------+------+------+------+------+------+------+------+------+------+------+------|
48 * | | | | | \ | | | / | | | | |
49 * |------+------+------+------+------+-------------+------+------+------+------+------|
50 * | | | | [ | { | ( | < | > | ) | } | ] | | | |
51 * |------+------+------+------+------+------|------+------+------+------+------+------|
52 * | | | | | + | - | _ | = | | | | |
53 * |------+------+------+------+------+------+------+------+------+------+------+------|
54 * | | | | | | | |Qwerty| Game | | Reset|
55 * `-----------------------------------------------------------------------------------'
56 */
57Pretty self explanatory I think.
58
59
60
61## Lower Layer
62 /* Lower
63 * ,-----------------------------------------------------------------------------------.
64 * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | | * | / | | Del |
65 * |------+------+------+------+------+-------------+------+------+------+------+------|
66 * | | | VolD | Up | VolU | | | 7 | 8 | 9 | - | Bksp |
67 * |------+------+------+------+------+-------------+------+------+------+------+------|
68 * | | | Left | Down | Rght | | | 4 | 5 | 6 | + | |
69 * |------+------+------+------+------+------|------+------+------+------+------+------|
70 * | | | Prev | Play | Skip | | | 1 | 2 | 3 | = | |
71 * |------+------+------+------+------+------+------+------+------+------+------+------|
72 * | | | | Supr | | | 0 | Home |PageDn|PageUp| End |
73 * `-----------------------------------------------------------------------------------'
74 */
75 Music controls and arrows in prime location. F1-F6 there for extra mappings when in the Gaming layer.
diff --git a/keyboards/preonic/keymaps/trigotometry/rules.mk b/keyboards/preonic/keymaps/trigotometry/rules.mk
new file mode 100644
index 000000000..a6bcd5637
--- /dev/null
+++ b/keyboards/preonic/keymaps/trigotometry/rules.mk
@@ -0,0 +1,2 @@
1#Build Options
2MOUSEKEY_ENABLE = yes # Mouse keys(+4700)