From 2c9ab8a606cd038785b75f0c2dd5469e63de189d Mon Sep 17 00:00:00 2001 From: "Peter (Rocky) Villano" Date: Fri, 15 May 2020 22:17:24 -0400 Subject: [PATCH] [Keymap] adds pvillano's preonic keymap (#9106) * adds pvillano's preonic keymap * Remove unnecessary "\" (tested - ok) --- keyboards/preonic/keymaps/pvillano/config.h | 32 ++++++ keyboards/preonic/keymaps/pvillano/keymap.c | 113 +++++++++++++++++++ keyboards/preonic/keymaps/pvillano/readme.md | 25 ++++ keyboards/preonic/keymaps/pvillano/rules.mk | 1 + 4 files changed, 171 insertions(+) create mode 100644 keyboards/preonic/keymaps/pvillano/config.h create mode 100644 keyboards/preonic/keymaps/pvillano/keymap.c create mode 100644 keyboards/preonic/keymaps/pvillano/readme.md create mode 100644 keyboards/preonic/keymaps/pvillano/rules.mk diff --git a/keyboards/preonic/keymaps/pvillano/config.h b/keyboards/preonic/keymaps/pvillano/config.h new file mode 100644 index 000000000..a338a1da4 --- /dev/null +++ b/keyboards/preonic/keymaps/pvillano/config.h @@ -0,0 +1,32 @@ +#pragma once + +#ifdef AUDIO_ENABLE + #define STARTUP_SONG SONG(PREONIC_SOUND) +#endif + +#define MUSIC_MASK (keycode != KC_NO) + +// #define MUSIC_MAP +/* + * MIDI options + */ + +/* Prevent use of disabled MIDI features in the keymap */ +//#define MIDI_ENABLE_STRICT 1 + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ + +#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +//#define MIDI_ADVANCED + +/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ +//#define MIDI_TONE_KEYCODE_OCTAVES 2 diff --git a/keyboards/preonic/keymaps/pvillano/keymap.c b/keyboards/preonic/keymaps/pvillano/keymap.c new file mode 100644 index 000000000..093948e09 --- /dev/null +++ b/keyboards/preonic/keymaps/pvillano/keymap.c @@ -0,0 +1,113 @@ +/* Do as you please + * - pvillano + */ + +#include QMK_KEYBOARD_H +#include "muse.h" + + enum preonic_layers { + _QWERTY, + _GAME, + _ALT, + _FUN, + }; + + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Qwerty + * ,-----------------------------------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | ` | Q | W | E | R | T | Y | U | I | O | P | \ | + * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------| + * | Tab | A | S | D | F | G | H | J | K | L | ; | " | + * |--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + * | Shift | Z | X | C | V | B | N | M | , | . | / | Enter | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | Ctrl | GUI | Alt | Func |AltLayer| Space | _ |AltLayer| Left | Down | Up | Right | + * `-----------------------------------------------------------------------------------------------------------' + */ + [_QWERTY] = LAYOUT_preonic_grid( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_LCTL, KC_LGUI, KC_LALT, MO(_FUN),MO(_ALT),KC_SPC, KC_UNDS, MO(_ALT),KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + /* Game + * ,-----------------------------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | NOOP | | | | | ALT | | | | | | + * `-----------------------------------------------------------------------------------------------------------' + */ + [_GAME] = LAYOUT_preonic_grid( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, XXXXXXX, _______, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______ + ), + + /* Alt + * ,-----------------------------------------------------------------------------------------------------------. + * | | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | |Keypad 7|Keypad 8|Keypad 9| | | | - | + | { | } | | + * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------| + * | |Keypad 4|Keypad 5|Keypad 6| | | | - | = | [ | ] | | + * |--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + * | |Keypad 1|Keypad 2|Keypad 3| | | | | | < | > | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | |Keypad 0|Keypad 0| | | | | | | | | | + * `-----------------------------------------------------------------------------------------------------------' + */ + [_ALT] = LAYOUT_preonic_grid( + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, KC_LT, KC_GT, _______, + _______, KC_P0, KC_P0, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Function + * ,-----------------------------------------------------------------------------------------------------------. + * | | F1 | F2 | F3 | F4 | | | | | | | Del | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | F5 | F6 | F7 | F8 | | | | | |program | | + * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------| + * | | F9 | F10 | F11 | F12 | Game | | | | | | | + * |--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + * | | | | | | |Num Lock| Music | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------------------------------' + */ + [_FUN] = LAYOUT_preonic_grid( + _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, _______, _______, _______, RESET, _______, + _______, KC_F9, KC_F10, KC_F11, KC_F12, TG(_GAME),_______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_NLCK, MU_TOG, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + }; + + + bool music_mask_user(uint16_t keycode) { + switch (keycode) { + case MO(_FUN): + case MO(_ALT): + case KC_SPC: + case KC_UNDS: + return false; + default: + return true; + } + } diff --git a/keyboards/preonic/keymaps/pvillano/readme.md b/keyboards/preonic/keymaps/pvillano/readme.md new file mode 100644 index 000000000..a1d11f8ac --- /dev/null +++ b/keyboards/preonic/keymaps/pvillano/readme.md @@ -0,0 +1,25 @@ +# A preonic layout similar to the default, + +but with some extra conviences for programming and gaming + +## For programming + +* Underscore is next to space. +* Backslash replaces Del on the default layer. +* Brackets are easy to reach, and are arranged symmetrically. + +## For Gaming + +* Gaming mode disables OS key. +* Gaming mode moves ALT to "right space", to be more easily reached. +* Numpad is available with only the left hand (for emotes). + +## Personal taste + +* Esc is in the top left, where it belongs +* Only one Alt layer and one Func layer +* Function codes are mnemonic + * Func + G for Game mode + * Func + M for Music mode + * Func + N for Num lock +* No multi-key combos with more than two keys diff --git a/keyboards/preonic/keymaps/pvillano/rules.mk b/keyboards/preonic/keymaps/pvillano/rules.mk new file mode 100644 index 000000000..dcf16bef3 --- /dev/null +++ b/keyboards/preonic/keymaps/pvillano/rules.mk @@ -0,0 +1 @@ +SRC += muse.c