aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorBrian Marsh <pezhore@gmail.com>2020-09-22 15:02:01 -0500
committerGitHub <noreply@github.com>2020-09-22 13:02:01 -0700
commit9c31a7adbabccbe34b12affd6b3f582c0cce10a5 (patch)
tree199af562fbe265ed55f374ad8b43bc7a80ee267a /keyboards
parent1ff51579ec2de8f4721fb918d10dc07454217b31 (diff)
downloadqmk_firmware-9c31a7adbabccbe34b12affd6b3f582c0cce10a5.tar.gz
qmk_firmware-9c31a7adbabccbe34b12affd6b3f582c0cce10a5.zip
[Keymap] Add pezhore preonic keymap (#10269)
* Squashing commits - adding preonic keymap This adds a custom keymap, including numpad layer, emoji, and kamoji key mappings. * Removing unnecessary trailing backslash characters * removing the unnecessary json keymap * removing unnecessary trailing slashes from the default keymap * switching to tap_code * Apply suggestions from code review This should enable a toggleable numpad * adding license * Stripping out FN keycodes in favor of a momentary layer
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/preonic/keymaps/default/keymap.c72
-rw-r--r--keyboards/preonic/keymaps/pezhore/config.h53
-rw-r--r--keyboards/preonic/keymaps/pezhore/keymap.c307
-rw-r--r--keyboards/preonic/keymaps/pezhore/readme.md1
-rw-r--r--keyboards/preonic/keymaps/pezhore/rules.mk3
5 files changed, 400 insertions, 36 deletions
diff --git a/keyboards/preonic/keymaps/default/keymap.c b/keyboards/preonic/keymaps/default/keymap.c
index d8bb2d5f7..7ee985ea1 100644
--- a/keyboards/preonic/keymaps/default/keymap.c
+++ b/keyboards/preonic/keymaps/default/keymap.c
@@ -50,12 +50,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | 50 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
51 * `-----------------------------------------------------------------------------------' 51 * `-----------------------------------------------------------------------------------'
52 */ 52 */
53[_QWERTY] = LAYOUT_preonic_grid( \ 53[_QWERTY] = LAYOUT_preonic_grid(
54 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ 54 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
55 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, \ 55 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
56 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ 56 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
57 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \ 57 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
58 BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ 58 BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
59), 59),
60 60
61/* Colemak 61/* Colemak
@@ -71,12 +71,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
71 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | 71 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
72 * `-----------------------------------------------------------------------------------' 72 * `-----------------------------------------------------------------------------------'
73 */ 73 */
74[_COLEMAK] = LAYOUT_preonic_grid( \ 74[_COLEMAK] = LAYOUT_preonic_grid(
75 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ 75 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
76 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, \ 76 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
77 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ 77 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
78 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \ 78 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
79 BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ 79 BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
80), 80),
81 81
82/* Dvorak 82/* Dvorak
@@ -92,12 +92,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
92 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | 92 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
93 * `-----------------------------------------------------------------------------------' 93 * `-----------------------------------------------------------------------------------'
94 */ 94 */
95[_DVORAK] = LAYOUT_preonic_grid( \ 95[_DVORAK] = LAYOUT_preonic_grid(
96 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ 96 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
97 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, \ 97 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL,
98 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \ 98 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
99 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT, \ 99 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT,
100 BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ 100 BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
101), 101),
102 102
103/* Lower 103/* Lower
@@ -113,12 +113,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
113 * | | | | | | | | Next | Vol- | Vol+ | Play | 113 * | | | | | | | | Next | Vol- | Vol+ | Play |
114 * `-----------------------------------------------------------------------------------' 114 * `-----------------------------------------------------------------------------------'
115 */ 115 */
116[_LOWER] = LAYOUT_preonic_grid( \ 116[_LOWER] = LAYOUT_preonic_grid(
117 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ 117 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
118 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \ 118 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
119 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ 119 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
120 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______, \ 120 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
121 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ 121 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
122), 122),
123 123
124/* Raise 124/* Raise
@@ -134,12 +134,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
134 * | | | | | | | | Next | Vol- | Vol+ | Play | 134 * | | | | | | | | Next | Vol- | Vol+ | Play |
135 * `-----------------------------------------------------------------------------------' 135 * `-----------------------------------------------------------------------------------'
136 */ 136 */
137[_RAISE] = LAYOUT_preonic_grid( \ 137[_RAISE] = LAYOUT_preonic_grid(
138 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ 138 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
139 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \ 139 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
140 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \ 140 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
141 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, \ 141 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
142 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ 142 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
143), 143),
144 144
145/* Adjust (Lower + Raise) 145/* Adjust (Lower + Raise)
@@ -155,12 +155,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
155 * | | | | | | | | | | | | 155 * | | | | | | | | | | | |
156 * `-----------------------------------------------------------------------------------' 156 * `-----------------------------------------------------------------------------------'
157 */ 157 */
158[_ADJUST] = LAYOUT_preonic_grid( \ 158[_ADJUST] = LAYOUT_preonic_grid(
159 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ 159 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
160 _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ 160 _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
161 _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ 161 _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
162 _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ 162 _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
163 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 163 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
164) 164)
165 165
166 166
diff --git a/keyboards/preonic/keymaps/pezhore/config.h b/keyboards/preonic/keymaps/pezhore/config.h
new file mode 100644
index 000000000..8b541544b
--- /dev/null
+++ b/keyboards/preonic/keymaps/pezhore/config.h
@@ -0,0 +1,53 @@
1/* Copyright 2015-2017 Jack Humbert
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18#define UNICODE_SELECTED_MODES UC_WINC, UC_LNX, UC_MAC
19#ifdef AUDIO_ENABLE
20 #define STARTUP_SONG SONG(PREONIC_SOUND)
21 // #define STARTUP_SONG SONG(NO_SOUND)
22
23 #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
24 SONG(COLEMAK_SOUND), \
25 SONG(DVORAK_SOUND) \
26 }
27#endif
28
29#define MUSIC_MASK (keycode != KC_NO)
30
31/*
32 * MIDI options
33 */
34
35/* Prevent use of disabled MIDI features in the keymap */
36//#define MIDI_ENABLE_STRICT 1
37
38/* enable basic MIDI features:
39 - MIDI notes can be sent when in Music mode is on
40*/
41
42#define MIDI_BASIC
43
44/* enable advanced MIDI features:
45 - MIDI notes can be added to the keymap
46 - Octave shift and transpose
47 - Virtual sustain, portamento, and modulation wheel
48 - etc.
49*/
50//#define MIDI_ADVANCED
51
52/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
53//#define MIDI_TONE_KEYCODE_OCTAVES 2
diff --git a/keyboards/preonic/keymaps/pezhore/keymap.c b/keyboards/preonic/keymaps/pezhore/keymap.c
new file mode 100644
index 000000000..39b045d6d
--- /dev/null
+++ b/keyboards/preonic/keymaps/pezhore/keymap.c
@@ -0,0 +1,307 @@
1/* Copyright 2015-2017 Jack Humbert
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18#include "muse.h"
19
20enum preonic_layers {
21 _QWERTY,
22 _FN,
23 _NUMPAD,
24 _LOWER,
25 _RAISE,
26 _ADJUST
27};
28
29enum preonic_keycodes {
30 LOWER = SAFE_RANGE,
31 RAISE,
32 SHRUG, // ¯\_(ツ)_/¯
33 TFLIP, // (╯°□°)╯︵ ┻━┻
34 POOP, // 💩
35 DPOINT, // (ಠ_ಠ)
36 STRUT // ᕕ( ᐛ )ᕗ
37};
38
39#define TG_NUMP TG(_NUMPAD)
40
41const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
42
43/* Qwerty
44 * ,-----------------------------------------------------------------------------------.
45 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
46 * |------+------+------+------+------+------+------+------+------+------+------+------|
47 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
48 * |------+------+------+------+------+-------------+------+------+------+------+------|
49 * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
50 * |------+------+------+------+------+------|------+------+------+------+------+------|
51 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
52 * |------+------+------+------+------+------+------+------+------+------+------+------|
53 * | FN | Ctrl | GUI | ALT |Lower | Space |Raise | Left | Down | Up |Right |
54 * `-----------------------------------------------------------------------------------'
55 */
56[_QWERTY] = LAYOUT_preonic_grid(
57 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
58 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
59 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
60 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
61 MO(_FN), KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
62),
63
64/* FN
65 * ,-----------------------------------------------------------------------------------.
66 * |RGBTgl|Brigt-|Brigt+| | | | | | | | | POOP |
67 * |------+------+------+------+------+------+------+------+------+------+------+------|
68 * | RGB+ | Hue- | Hue+ | | | | | | | |PrtScr|UC_MOD|
69 * |------+------+------+------+------+-------------+------+------+------+------+------|
70 * | RGB- | Sat- | Sat+ | | | | | | | | |UC_Wnc|
71 * |------+------+------+------+------+------|------+------+------+------+------+------|
72 * | |Effct-|Effct+| | | | | | | | |UC_Lin|
73 * |------+------+------+------+------+------+------+------+------+------+------+------|
74 * | |SHRUG |TFLIP |DPOINT|STRUT | | | | |TgNmpd| |UC_Mac|
75 * `-----------------------------------------------------------------------------------'
76 */
77[_FN] = LAYOUT_preonic_grid(
78 RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, POOP,
79 RGB_MOD, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, UC_MOD,
80 RGB_RMOD, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, UC_M_WC,
81 _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, UC_M_LN,
82 _______, SHRUG, TFLIP, DPOINT, STRUT, _______, _______, _______, _______, TG_NUMP, _______, UC_M_MA
83),
84
85/* Numpad
86 * ,-----------------------------------------------------------------------------------.
87 * | | | | | | |NumLk | 7 | 8 | 9 | / | Bksp |
88 * |------+------+------+------+------+------+------+------+------+------+------+------|
89 * | Tab | | | | | | | 4 | 5 | 6 | * | Del |
90 * |------+------+------+------+------+-------------+------+------+------+------+------|
91 * | Esc | | | | | | | 1 | 2 | 3 | - | / |
92 * |------+------+------+------+------+------|------+------+------+------+------+------|
93 * | | | | | | | | 0 | . | = | + |Enter |
94 * |------+------+------+------+------+------+------+------+------+------+------+------|
95 * | | | | | | | | | | | | |
96 * `-----------------------------------------------------------------------------------'
97 */
98[_NUMPAD] = LAYOUT_preonic_grid(
99 _______, _______, _______, _______, _______, _______, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_BSPC,
100 KC_ESC, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, KC_DEL,
101 KC_TAB, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
102 _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PEQL, KC_PPLS, _______,
103 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
104),
105
106/* Lower
107 * ,-----------------------------------------------------------------------------------.
108 * | | | | | | | | | | | | Bksp |
109 * |------+------+------+------+------+-------------+------+------+------+------+------|
110 * | | | | | | | | | | | | Del |
111 * |------+------+------+------+------+-------------+------+------+------+------+------|
112 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
113 * |------+------+------+------+------+------|------+------+------+------+------+------|
114 * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
115 * |------+------+------+------+------+------+------+------+------+------+------+------|
116 * | | | | | | | |Raise | Home | PgDn | PgUp | End |
117 * `-----------------------------------------------------------------------------------'
118 */
119[_LOWER] = LAYOUT_preonic_grid(
120 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC,
121 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
122 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
123 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
124 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
125),
126
127/* Raise
128 * ,-----------------------------------------------------------------------------------.
129 * | | | | | | | | | | | | Bksp |
130 * |------+------+------+------+------+-------------+------+------+------+------+------|
131 * | | | | | | | | | | | | Del |
132 * |------+------+------+------+------+-------------+------+------+------+------+------|
133 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
134 * |------+------+------+------+------+------|------+------+------+------+------+------|
135 * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | | | |
136 * |------+------+------+------+------+------+------+------+------+------+------+------|
137 * | | | | |Lower | | | | Next | Vol- | Vol+ | Play |
138 * `-----------------------------------------------------------------------------------'
139 */
140[_RAISE] = LAYOUT_preonic_grid(
141 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC,
142 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
143 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
144 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPRV, _______, _______, _______,
145 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
146),
147
148
149/* Adjust (Lower + Raise)
150 * ,-----------------------------------------------------------------------------------.
151 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
152 * |------+------+------+------+------+------+------+------+------+------+------+------|
153 * | | Reset| | | | | | | | | | Del |
154 * |------+------+------+------+------+-------------+------+------+------+------+------|
155 * | | | |Aud on|AudOff|AGnorm|AGswap| | | | | |
156 * |------+------+------+------+------+------|------+------+------+------+------+------|
157 * | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
158 * |------+------+------+------+------+------+------+------+------+------+------+------|
159 * | | | | | | | | | | | |
160 * `-----------------------------------------------------------------------------------'
161 */
162[_ADJUST] = LAYOUT_preonic_grid(
163 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
164 _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
165 _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
166 _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
167 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
168)
169
170
171};
172
173bool process_record_user(uint16_t keycode, keyrecord_t *record) {
174 switch (keycode) {
175 case LOWER:
176 if (record->event.pressed) {
177 layer_on(_LOWER);
178 update_tri_layer(_LOWER, _RAISE, _ADJUST);
179 } else {
180 layer_off(_LOWER);
181 update_tri_layer(_LOWER, _RAISE, _ADJUST);
182 }
183 return false;
184 break;
185 case RAISE:
186 if (record->event.pressed) {
187 layer_on(_RAISE);
188 update_tri_layer(_LOWER, _RAISE, _ADJUST);
189 } else {
190 layer_off(_RAISE);
191 update_tri_layer(_LOWER, _RAISE, _ADJUST);
192 }
193 return false;
194 break;
195 case SHRUG:
196 if (record->event.pressed) {
197 send_unicode_string("¯\\_(ツ)_/¯");
198 }
199 return false;
200 break;
201 case TFLIP:
202 if (record->event.pressed) {
203 send_unicode_string("(╯°□°)╯︵ ┻━┻");
204 }
205 return false;
206 break;
207 case POOP:
208 if (record->event.pressed) {
209 send_unicode_string("💩");
210 }
211 return false;
212 break;
213 case DPOINT:
214 if (record->event.pressed) {
215 send_unicode_string("(ಠ_ಠ)");
216 }
217 return false;
218 break;
219 case STRUT:
220 if (record->event.pressed) {
221 send_unicode_string("ᕕ( ᐛ )ᕗ");
222 }
223 return false;
224 break;
225 }
226 return true;
227};
228
229bool muse_mode = false;
230uint8_t last_muse_note = 0;
231uint16_t muse_counter = 0;
232uint8_t muse_offset = 70;
233uint16_t muse_tempo = 50;
234
235void encoder_update_user(uint8_t index, bool clockwise) {
236 if (muse_mode) {
237 if (IS_LAYER_ON(_RAISE)) {
238 if (clockwise) {
239 muse_offset++;
240 } else {
241 muse_offset--;
242 }
243 } else {
244 if (clockwise) {
245 muse_tempo+=1;
246 } else {
247 muse_tempo-=1;
248 }
249 }
250 } else {
251 if (clockwise) {
252 tap_code(KC_PGDN);
253 } else {
254 tap_code(KC_PGUP);
255 }
256 }
257}
258
259void dip_switch_update_user(uint8_t index, bool active) {
260 switch (index) {
261 case 0:
262 if (active) {
263 layer_on(_ADJUST);
264 } else {
265 layer_off(_ADJUST);
266 }
267 break;
268 case 1:
269 if (active) {
270 muse_mode = true;
271 } else {
272 muse_mode = false;
273 }
274 }
275}
276
277
278void matrix_scan_user(void) {
279#ifdef AUDIO_ENABLE
280 if (muse_mode) {
281 if (muse_counter == 0) {
282 uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
283 if (muse_note != last_muse_note) {
284 stop_note(compute_freq_for_midi_note(last_muse_note));
285 play_note(compute_freq_for_midi_note(muse_note), 0xF);
286 last_muse_note = muse_note;
287 }
288 }
289 muse_counter = (muse_counter + 1) % muse_tempo;
290 } else {
291 if (muse_counter) {
292 stop_all_notes();
293 muse_counter = 0;
294 }
295 }
296#endif
297}
298
299bool music_mask_user(uint16_t keycode) {
300 switch (keycode) {
301 case RAISE:
302 case LOWER:
303 return false;
304 default:
305 return true;
306 }
307}
diff --git a/keyboards/preonic/keymaps/pezhore/readme.md b/keyboards/preonic/keymaps/pezhore/readme.md
new file mode 100644
index 000000000..e911968dd
--- /dev/null
+++ b/keyboards/preonic/keymaps/pezhore/readme.md
@@ -0,0 +1 @@
# The default Preonic layout - largely based on the Planck's \ No newline at end of file
diff --git a/keyboards/preonic/keymaps/pezhore/rules.mk b/keyboards/preonic/keymaps/pezhore/rules.mk
new file mode 100644
index 000000000..23198218b
--- /dev/null
+++ b/keyboards/preonic/keymaps/pezhore/rules.mk
@@ -0,0 +1,3 @@
1SRC += muse.c
2#UNICODEMAP_ENABLE = yes
3UNICODE_ENABLE = yes \ No newline at end of file