1
0
Fork 0

Remove userspace keymaps (#22544)

This commit is contained in:
Joel Challis 2023-11-26 18:36:45 +00:00 committed by GitHub
parent 4908d4b1ca
commit 1ed03f498f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2738 changed files with 0 additions and 207314 deletions

View file

@ -1,219 +0,0 @@
/* Copyright 2021 Alan Pocklington
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ajp10304.h"
#include "keymap_uk.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Tab | A | S | D | F | G | H | J | K | L | ;: | Enter|
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_4x12(
LT(_NUMPAD, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC ,
MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) ,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT ,
MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSFT, KC_BTN2, KC_RCTL, MO(_FUNC2)
),
/* Colemak-DHm
* ,-----------------------------------------------------------------------------------.
* | Esc | Q | W | F | P | B | J | L | U | Y | ;: | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Tab | A | R | S | T | G | M | N | E | I | O | Enter|
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shft | Z | X | C | D | V | K | H | ,< | .> | /? | Shft |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_4x12(
LT(_NUMPAD, KC_ESC), KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC ,
MT(MOD_LSFT, KC_TAB), KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, MT(MOD_RSFT, KC_ENT) ,
KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT ,
MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSFT, KC_BTN2, KC_RCTL, MO(_FUNC2)
),
/* Function
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT|
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn |
* `-----------------------------------------------------------------------------------'
*/
[_FUNC] = LAYOUT_ortho_4x12(
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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, UK_TILD, KC_INSERT ,
KC_LSFT, KC_NUBS, KC_GRAVE, KC_NONUS_HASH, KC_PAST, KC_MINS, KC_EQL, KC_BSLS, KC_LBRC, KC_RBRC, KC_QUOT, MT(MOD_RSFT, KC_ENT) ,
_______, _______, _______, _______, _______, _______, _______, MO(_MOUSE), _______, _______, _______, _______
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | DEL | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | ! | " | £ | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks|
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| \| | `¬ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_BSPC ,
LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), LCTL(KC_DEL), LCTL(KC_BSPC) ,
SC_LSPO, KC_NUBS, KC_GRAVE, KC_NONUS_HASH, KC_QUOT, KC_MINS, KC_EQL, KC_NONUS_HASH, KC_LBRC, KC_RBRC, KC_QUOT, MT(MOD_RSFT, KC_ENT) ,
_______, _______, _______, _______, _______, KC_DEL, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | |WRDSEL| [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC|
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | ` | | | ( | ) | | | HOME | UP | END | |ZOOM +|
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | { | } | | |< | LEFT | DOWN |RIGHT | >| |ZOOM -|
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Mouse| | | | | Alt | Enter|Raise | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
KC_GRV, XXXXXXX, M_WORD_SEL, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_PGDN, XXXXXXX, KC_PSCR ,
KC_GRV, XXXXXXX, XXXXXXX, LSFT(KC_9), LSFT(KC_0), XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, LCTL(LSFT(KC_EQL)) ,
_______, XXXXXXX, XXXXXXX, LSFT(KC_LBRC), LSFT(KC_RBRC), XXXXXXX, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), LCTL(KC_MINS) ,
MO(_MOUSE), _______, _______, _______, _______, KC_LALT, KC_ENT, _______, XXXXXXX, _______, _______, _______
),
/* Adjust (Lower + Raise)
* ,------------------------------------------------------------------------------------.
* | ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+-------|
* | CAPS | | | | | PLAY1| PLAY2| Mute | Vol+ | Play | |Qwerty |
* |------+------+------+------+------+------|------+------+------+------+------+-------|
* | PC/MC| | | | | STOP | STOP | Prev | Vol- | Next | |Colemak|
* |------+------+------+------+------+------+------+------+------+------+------+-------|
* | | | | | | | | | | | |
* `------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
M_CUSTOM, QK_BOOT, QWERTY, BL_ON, BL_OFF, DM_REC1, DM_REC2, _______, _______, _______, _______, KC_DEL ,
KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, DM_PLY1, DM_PLY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, QWERTY ,
TG(_MAC), RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, DM_RSTP, DM_RSTP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, COLEMAK ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Mouse
* ,-----------------------------------------------------------------------------------.
* | ESC | | | | | | WH_L | WH_UP| BTN3 | WH_D | WH_R | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN |RIGHT | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_MOUSE] = LAYOUT_ortho_4x12(
KC_ESC , _______, _______, _______, _______, _______, KC_MS_WH_LEFT, KC_MS_WH_UP, KC_MS_BTN3, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, _______,
KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______,
KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Num Pad
* ,-----------------------------------------------------------------------------------.
* | ESC | | | | | |NMLOCK| 7 | 8 | 9 | / | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | | | | | | 4 | 5 | 6 | * | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | 1 | 2 | 3 | + | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | 0 | . | , | - | |
* `-----------------------------------------------------------------------------------'
*/
[_NUMPAD] = LAYOUT_ortho_4x12(
_______, _______, _______, _______, _______, _______, KC_NUM, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, _______,
_______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, _______,
_______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_PLUS, _______,
_______, _______, _______, _______, _______, _______, _______, KC_KP_0, KC_KP_DOT, KC_COMM, KC_KP_MINUS, _______
),
/* Function 2 (Right hand side)
* ,-----------------------------------------------------------------------------------.
* | | |WRDSEL| | | | LNDEL| | | | | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | LNSEL| DUP | | | | |LNJOIN| | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | UNDO | CUT | COPY | PASTE| | | | | | | MODE |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_FUNC2] = LAYOUT_ortho_4x12(
_______, _______, M_WORD_SEL, _______, _______, _______, M_LINE_DEL, _______, _______, _______, _______, _______,
_______, _______, M_LINE_SEL, M_DUP, _______, _______, _______, M_JOIN, _______, _______, _______, _______,
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M_MODE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_MAC]= LAYOUT_ortho_4x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MFNC, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, MFNC2
),
[_MLWR] = LAYOUT_ortho_4x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_MRSE] = LAYOUT_ortho_4x12(
_______, _______, M_WORD_SEL_MAC, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
_______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) ,
_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_MFNC]= LAYOUT_ortho_4x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_MFNC2] = LAYOUT_ortho_4x12(
_______, _______, M_WORD_SEL_MAC, _______, _______, _______, M_LINE_DEL_MAC, _______, _______, _______, _______, _______,
_______, _______, M_LINE_SEL_MAC, M_DUP_MAC, _______, _______, _______, M_JOIN_MAC, _______, _______, _______, _______,
_______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M_MODE_MAC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View file

@ -1,126 +0,0 @@
# AJP10304 Ortho 4x12 Layout
# For Planck, Shark, Quark, JJ40 and Atreus50
**Note:** In the tables below where there are two characters on a key,
the second is the output when shift is applied.
**Note:** The below tables assume a UK layout.
#### Flashing
Refer to the README.md of the keyboard you want to flash.
##### Main Qwerty Layer
* Tab: when held, operates as shift.
* Enter: when held, operates as shift.
* MENU: perform right-click
| | | | | | | | | | | | |
| ---- |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| ----:|
| Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
| Tab | A | S | D | F | G | H | J | K | L | ;: | Enter|
| Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 |
##### Main Colemak-DHm Layer
| | | | | | | | | | | | |
| ---- |:----:| :---:|:---:|:-----:|:----:|:-----:|:-----:|:-----:|:----:|:----:| ----:|
| Esc | Q | W | F | P | B | J | L | U | Y | ;: | Bksp |
| Tab | A | R | S | T | G | M | N | E | I | O | Enter|
| Shft | Z | X | C | D | V | K | H | ,< | .> | /? | Shft |
| Fn | Ctrl | Alt | GUI | Lower | Bksp | Space | Raise | Shift | MENU | Ctrl | Fn2 |
##### Function Layer
Activated when `fn` held in the above `qwerty` layer.
| | | | | | | | | | | | |
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
| 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT|
| Shift | \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift |
| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn2 |
##### Lower Layer
Activated when `Lower` is held in the above `qwerty` layer.
* Numbers are along the top row, their shifted counterparts are on row 2.
* WrdBks: `backspace` with `ctrl` applied. I.e. delete a word.
* WrdDel: `delete` with `ctrl` applied. I.e. forward delete a word.
| | | | | | | | | | | | |
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | DEL | Bksp |
| ! | " | £ | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks|
| Shift | \| | `¬ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift |
| | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play |
##### Raise Layer
Activated when `Raise` is held in the above `qwerty` layer.
* Preferred layer for typing brackets.
* Allows for cursor navigation to be used solely with the right hand.
* WRDSEL: Select the word where the cursor is.
* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
| | | | | | | | | | | | |
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
| ` | |WRDSEL| [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC|
| ` | | | ( | ) | | | HOME | UP | END | |ZOOM +|
| | | | { | } | |&#124;<| LEFT | DOWN |RIGHT |>&#124;|ZOOM -|
| Mouse | | | | | Alt | Enter |Raise | | | | |
##### Lower + Raise
Activated when `Lower` and `Raise` are held together in the above `qwerty` layer.
* Audio controls in the same position as cursor keys from the `Raise` layer.
* ????: Runs a macro for outputting a text string. Do not use this store passwords.
* Reset: Enter bootloader for flashing firmware to the keyboard.
* CAPS: Toggle caps lock.
* Macro functions: Allows recording of macros. To start recording the macro, press either REC1 or REC2.
To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2.
* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER,
MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively.
| | | | | | | | | | | | |
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|:-------:|
| ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del |
| CAPS | | | | | PLAY1|PLAY2 | Mute | Vol+ | Play | | Qwerty |
| MAC | | | | | STOP1|STOP2 | Prev | Vol- | Next | | Colemak |
| | | | | | | | | DYN | | | |
##### Function 2 Layer
Activated when `fn` held in the above `qwerty` layer.
* WRDSEL: Select the word where the cursor is.
* LNDEL: Delete the line where the cursor is.
* LNSEL: Select the line where the cursor is.
* DUP: Duplicate the selected text.
* LNJOIN: Join the line where the cursor is with the following line.
* MODE: Print either `PC` or `OSX` depending on what layer mode is active.
| | | | | | | | | | | | |
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| | |WRDSEL| | | | LNDEL| | | | | |
| | | LNSEL| DUP | | | | |LNJOIN| | | |
| | UNDO | CUT | COPY | PASTE| | | | | | | MODE |
| | | | | | | | | | | | |
##### Mouse Layer
Activated when `fn` and `raise` held together.
| | | | | | | | | | | | |
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| ESC | | | | | | W_L | W_UP | BTN3 | W_DWN| W_R | |
| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | |
| | | | | | | | | | | | |
##### Number Pad Layout
Activated when holding `Esc` key.
| | | | | | | | | | | | |
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| | | | | | |NMLOCK| 7 | 8 | 9 | / | |
| | | | | | | | 4 | 5 | 6 | * | |
| | | | | | | | 1 | 2 | 3 | + | |
| | | | | | | | 0 | . | , | - | |

View file

@ -1,3 +0,0 @@
AUDIO_ENABLE = no
MOUSEKEY_ENABLE = yes
DYNAMIC_MACRO_ENABLE = yes

View file

@ -1,5 +0,0 @@
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(NO_SOUND)
#endif

View file

@ -1,44 +0,0 @@
#include "alfrdmalr.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// QWERTY
[_QWERTY] = LAYOUT_ortho_4x12_wrapper(
K10, ____QWERTY_L1____, ____QWERTY_R1____, K1B,
K20, ____QWERTY_L2____, ____QWERTY_R2____, K2B,
K30, ____QWERTY_L3____, ____QWERTY_R3____, K3B,
K40, _____BASE_L4_____, _____BASE_R4_____, K4B
),
// SYMBOL
[_SYMBOL] = LAYOUT_ortho_4x12_wrapper(
K10_SYM, ____SYMBOL_L1____, ____SYMBOL_R1____, K1B_SYM,
K20_SYM, ____SYMBOL_L2____, ____SYMBOL_R2____, K2B_SYM,
K30_SYM, ____SYMBOL_L3____, ____SYMBOL_R3____, K3B_SYM,
K40_SYM, ____SYMBOL_L4____, ____SYMBOL_R4____, K4B_SYM
),
// NAVIGATION
[_NAVIGATION] = LAYOUT_ortho_4x12_wrapper(
K10_NAV, __NAVIGATION_L1__, __NAVIGATION_R1__, K1B_NAV,
K20_NAV, __NAVIGATION_L2__, __NAVIGATION_R2__, K2B_NAV,
K30_NAV, __NAVIGATION_L3__, __NAVIGATION_R3__, K3B_NAV,
K40_NAV, __NAVIGATION_L4__, __NAVIGATION_R4__, K4B_NAV
),
// NUMPAD
[_NUMPAD] = LAYOUT_ortho_4x12_wrapper(
K10_NUM, ____NUMPAD_L1____, ____NUMPAD_R1____, K1B_NUM,
K20_NUM, ____NUMPAD_L2____, ____NUMPAD_R2____, K2B_NUM,
K30_NUM, ____NUMPAD_L3____, ____NUMPAD_R3____, K3B_NUM,
K40_NUM, ____NUMPAD_L4____, ____NUMPAD_R4____, K4B_NUM
),
// SETTINGS
[_SETTINGS] = LAYOUT_ortho_4x12_wrapper(
K10_SET, ___SETTINGS_L1___, ___SETTINGS_R1___, K1B_SET,
K20_SET, ___SETTINGS_L2___, ___SETTINGS_R2___, K2B_SET,
K30_SET, ___SETTINGS_L3___, ___SETTINGS_R3___, K3B_SET,
K40_SET, ___SETTINGS_L4___, ___SETTINGS_R4___, K4B_SET
)
};

View file

@ -1,29 +0,0 @@
#pragma once
#define USE_I2C
/* Select hand configuration */
//#define MASTER_RIGHT
#define TAPPING_TERM 150
#undef RGBLED_NUM
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLED_NUM 12
#define RGBLED_SPLIT { 6, 6 }
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#ifdef AUDIO_ENABLE
#define AUDIO_PIN C6
#endif

View file

@ -1,200 +0,0 @@
#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
enum layer_names {
_MAC,
_WINDOWS,
_TESTMODE,
_LOWER,
_RAISE,
_FKEYS,
_ADJUST,
};
enum custom_keycodes {
MAC = SAFE_RANGE,
WINDOWS,
TESTMODE,
LOWER,
RAISE,
ADJUST,
};
#define KC_ KC_TRNS
#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen
#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen
#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen
#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen
#define KC_ESCC MT(MOD_LCTL, KC_ESC)
#define KC_LOWR LOWER
#define KC_RASE RAISE
#define KC_GRVF LT(_FKEYS, KC_GRV)
#define KC_ENTS MT(MOD_LSFT, KC_ENT)
#define KC_BL_S BL_STEP
#define KC_BL_T BL_TOGG
#define KC_RMOD RGB_MOD
#ifndef LAYOUT_kc_ortho_4x12
#define LAYOUT_kc_ortho_4x12( \
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
) \
LAYOUT_ortho_4x12( \
KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \
KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \
KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \
KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \
)
#endif
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAC] = LAYOUT_kc_ortho_4x12(
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
GRVF,LCTL,LALT,LGUI,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
),
[_WINDOWS] = LAYOUT_kc_ortho_4x12(
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
GRVF,LALT,LGUI,LCTL,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
),
[_TESTMODE] = LAYOUT_kc_ortho_4x12(
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
RMOD,BL_S, S , D , F , G , RMOD,BL_S, K , L ,SCLN,QUOT,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
GRVF,LALT,LGUI,LCTL,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
),
[_LOWER] = LAYOUT_kc_ortho_4x12(
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , ,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
DEL ,CAPP,LEFT,RGHT, UP ,LBRC, RBRC, P4 , P5 , P6 ,PLUS,PIPE,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
,CPYP, , ,DOWN,LCBR, RCBR, P1 , P2 , P3 ,MINS, ,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
BL_S,BL_T, , , ,DEL , DEL , , P0 ,PDOT, ,
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
),
[_RAISE] = LAYOUT_kc_ortho_4x12(
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, ,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
DEL ,MPRV,MNXT,VOLU,PGUP,UNDS, EQL ,HOME, , , ,BSLS,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
MUTE,MSTP,MPLY,VOLD,PGDN,MINS, PLUS,END , , , , ,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
, , , , , , , , , , ,
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
),
[_FKEYS] = LAYOUT_kc_ortho_4x12(
//┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐
F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
, , , , , , , , , , , ,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
, , , , , , , , , , , ,
//├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤
, , , , , , , , , , ,
//└────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘
),
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
* | | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn|Sat Up|Sat Dn|Val Up|Val Dn| | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
_______, QK_BOOT , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, MAC, WINDOWS, TESTMODE,_______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case MAC:
if (record->event.pressed) {
set_single_persistent_default_layer(_MAC);
}
return false;
break;
case WINDOWS:
if (record->event.pressed) {
set_single_persistent_default_layer(_WINDOWS);
}
return false;
break;
case TESTMODE:
if (record->event.pressed) {
set_single_persistent_default_layer(_TESTMODE);
}
return false;
break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case ADJUST:
if (record->event.pressed) {
layer_on(_ADJUST);
} else {
layer_off(_ADJUST);
}
return false;
break;
}
return true;
}

View file

@ -1,108 +0,0 @@
Bakingpy's Let's Split Layout
============================
### Changes from default layout
- Main layer
- The right space bar key has been changed to backspace, as I only hit space with my left thumb
- Backtick is at the lower right and also serves goes to the 3rd function layer when held
- Enter key acts as shift when held
- Escape key acts as control when held
- Minus key at upper right
- Lower layer
- Numbers are on the lower layer, to make it easier to use a numpad on the right hand
- Arrow keys
- Straight and curly brackets in the middle two columns
- Screenshot keys for MacOS
- Upper layer
- Symbols are on the upper layer
- Media keys
- Page Up/Down, Home/End
- 3rd function layer
- Function keys
## Layouts
### Qwerty
```
,----+----+----+----+----+----. ,----+----+----+----+----+----.
TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS,
|----+----+----+----+----+----| |----+----+----+----+----+----|
ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
|----+----+----+----+----+----| |----+----+----+----+----+----|
LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS,
|----+----+----+----+----+----| |----+----+----+----+----+----|
GRVF,LCTL,LALT,LGUI,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
`----+----+----+----+----+----' `----+----+----+----+----+----'
```
### Colemak
```
,----+----+----+----+----+----. ,----+----+----+----+----+----.
TAB , Q , W , F , P , G , J , L , U , Y ,SCLN,MINS,
|----+----+----+----+----+----| |----+----+----+----+----+----|
ESCC, A , R , S , T , D , H , N , E , I , O ,QUOT,
|----+----+----+----+----+----| |----+----+----+----+----+----|
LSFT, Z , X , C , V , B , K , M ,COMM,DOT ,SLSH,ENTS,
|----+----+----+----+----+----| |----+----+----+----+----+----|
GRVF,LCTL,LALT,LGUI,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
`----+----+----+----+----+----' `----+----+----+----+----+----'
```
### Dvorak
```
,----+----+----+----+----+----. ,----+----+----+----+----+----.
TAB ,QUOT,COMM,DOT , P , Y , F , G , C , R , L ,MINS,
|----+----+----+----+----+----| |----+----+----+----+----+----|
ESCC, A , O , E , U , I , D , H , R , N , S ,SLSH,
|----+----+----+----+----+----| |----+----+----+----+----+----|
LSFT,SCLN, Q , J , K , X , B , M , W , V , Z ,ENTS,
|----+----+----+----+----+----| |----+----+----+----+----+----|
GRVF,LCTL,LALT,LGUI,LOWR,SPC , BSPC,RASE,LEFT,DOWN, UP ,RGHT
`----+----+----+----+----+----' `----+----+----+----+----+----'
```
### Lower
```
,----+----+----+----+----+----. ,----+----+----+----+----+----.
, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , ,
|----+----+----+----+----+----| |----+----+----+----+----+----|
DEL ,CAPP,LEFT,RGHT, UP ,LBRC, RBRC, P4 , P5 , P6 ,PLUS,PIPE,
|----+----+----+----+----+----| |----+----+----+----+----+----|
,CPYP, , ,DOWN,LCBR, RCBR, P1 , P2 , P3 ,MINS, ,
|----+----+----+----+----+----| |----+----+----+----+----+----|
, , , , ,DEL , DEL , , P0 ,PDOT, ,
`----+----+----+----+----+----' `----+----+----+----+----+----'
```
### Raise
```
,----+----+----+----+----+----. ,----+----+----+----+----+----.
,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, ,
|----+----+----+----+----+----| |----+----+----+----+----+----|
DEL ,MPRV,MNXT,VOLU,PGUP,UNDS, EQL ,HOME, , , ,BSLS,
|----+----+----+----+----+----| |----+----+----+----+----+----|
MUTE,MSTP,MPLY,VOLD,PGDN,MINS, PLUS,END , , , , ,
|----+----+----+----+----+----| |----+----+----+----+----+----|
, , , , , , , , , , ,
`----+----+----+----+----+----' `----+----+----+----+----+----'
```
### 3rd function layer
```
,----+----+----+----+----+----. ,----+----+----+----+----+----.
F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,
|----+----+----+----+----+----| |----+----+----+----+----+----|
, , , , , , , , , , , ,
|----+----+----+----+----+----| |----+----+----+----+----+----|
, , , , , , , , , , , ,
|----+----+----+----+----+----| |----+----+----+----+----+----|
, , , , , , , , , , ,
`----+----+----+----+----+----' `----+----+----+----+----+----'
```

View file

@ -1,13 +0,0 @@
ifneq ($(LAYOUTS_HAS_RGB), no)
RGBLIGHT_ENABLE = yes
endif
AUDIO_ENABLE = no
ifeq ($(strip $(KEYBOARD)), zlant)
BACKLIGHT_ENABLE = no
else ifeq ($(strip $(KEYBOARD)), 40percentclub/4x4)
BACKLIGHT_ENABLE = no
else ifneq (, $(findstring lets_split, $(KEYBOARD)))
BACKLIGHT_ENABLE = no
else
BACKLIGHT_ENABLE = yes
endif

View file

@ -1,173 +0,0 @@
/* Copyright 2021 Christoph Jabs (BifbofII)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
/* ====== Unicode ====== */
/* Character names */
enum unicode_names {
SAE,
BAE,
SUE,
BUE,
SOE,
BOE,
SS,
EUR,
CPR
};
/* Unicode map */
const uint32_t unicode_map[] PROGMEM = {
[SAE] = 0x00E4, // ä
[BAE] = 0x00C4, // Ä
[SUE] = 0x00FC, // ü
[BUE] = 0x00DC, // Ü
[SOE] = 0x00F6, // ü
[BOE] = 0x00D6, // Ü
[SS] = 0x00DF, // ß
[EUR] = 0x20AC, // €
[CPR] = 0x00A9 // ©
};
// ====== Layers ======
// Layer numbers
enum layer_names {
QWERTY = 0,
RAISE,
LOWER,
FUNCTIONS,
UNICODE,
SPECIALS,
};
#define L_LOW MO(LOWER)
#define L_RAIS MO(RAISE)
#define L_SPEC MO(SPECIALS)
#define L_FNC LT(FUNCTIONS, KC_SPC)
#define L_UNI LT(UNICODE, KC_ESC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bsp |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | Esc | A | S | D | F | G | H | J | K | L | ; | ' |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* |Shift| Z | X | C | V | B | N | M | , | . | / | Ret |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* |Ctrl |Super| | Alt |Lower| Spc |Raise| Alt |Super|Ctrl |Spec |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
*/
[QWERTY] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
L_UNI, 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, RSFT_T(KC_ENT),
KC_LCTL, KC_LGUI, XXXXXXX, KC_LALT, L_LOW, L_FNC, L_FNC, L_RAIS, KC_RALT, KC_RGUI, KC_RCTL, L_SPEC
),
/* Raise
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bsp |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | | | | | | | | | | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
*/
[RAISE] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Lower
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bsp |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | | | | | | | _ | + | { | } | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | | | | | | | | | | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | | | | | | | | | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
*/
[LOWER] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Functions Layer 1
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | | | | |Mute |Prev |Vol- |Vol+ |Next |Play | Del |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* |Caps | | < | | | > |Left |Down | Up |Right| | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | | | | | |Home |PgDn |PgUp | End | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | | | | | | | | | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
*/
[FUNCTIONS] = LAYOUT_ortho_4x12(
_______, _______, _______, _______, _______, KC_MUTE, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_MEDIA_PLAY_PAUSE, KC_DEL,
KC_CAPS, _______, KC_WBAK, _______, _______, KC_WFWD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Unicode Layer
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | | | | | | | Ü | | Ö | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | Ä | ß | | | | | | | | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | | | © | | | | | | | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | | | | | | | | | | | |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
*/
[UNICODE] = LAYOUT_ortho_4x12(
_______, _______, _______, UM(EUR), _______, _______, _______, UP(SUE, BUE), _______, UP(SOE, BOE), _______, _______,
_______, UP(SAE, BAE), UM(SS), _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, UM(CPR), _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Specials Layer
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | XXX | XXX | Win | XXX | XXX | XXX | XXX | XXX | XXX | OSX | XXX | XXX |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | Lnx | XXX | XXX |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | XXX | XXX | XXX | XXX | XXX |QK_BOOT| XXX | XXX | XXX | XXX | XXX | XXX |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
* | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX |
* +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
*/
[SPECIALS] = LAYOUT_ortho_4x12(
XXXXXXX, XXXXXXX, UC_WINC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_MAC, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_LINX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};

View file

@ -1,89 +0,0 @@
# Personal Ortho 4x12 Layout of BifbofII
![BifbofII Ortho 4x12 Layout](https://i.imgur.com/hHSexjE.jpeg)
## QWERTY Layer
```
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| Tab | Q | W | E | R | T | Y | U | I | O | P | Bsp |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| Esc | A | S | D | F | G | H | J | K | L | ; | ' |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|Shift| Z | X | C | V | B | N | M | , | . | / | Ret |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|Ctrl |Super| | Alt |Lower| Spc | Spc |Raise| Alt |Super|Ctrl |Spec |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
```
Holding the Space Bar switches to the Function layer.
## Raise
```
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bsp |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | | | | | | | | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
```
## Lower
```
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bsp |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | | | | | _ | + | { | } | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | | | | | | | | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | | | | | | | | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
```
## Function Layer
```
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | | |Mute |Prev |Vol- |Vol+ |Next |Play | Del |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|Caps | | < | | | > |Left |Down | Up |Right| | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | | | |Home |Page-|Page+| End | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | | | | | | | | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
```
## Unicode Layer
```
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | € | | | | Ü | | Ö | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | Ä | ß | | | | | | | | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | © | | | | | | | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| | | | | | | | | | | | |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
```
## Specials Layer
```
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| XXX | XXX | Win | XXX | XXX | XXX | XXX | XXX | XXX | OSX | XXX | XXX |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | Lnx | XXX | XXX |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| XXX | XXX | XXX | XXX | XXX |QK_BOOT| XXX | XXX | XXX | XXX | XXX | XXX |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX | XXX |
+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
```

View file

@ -1 +0,0 @@
UNICODEMAP_ENABLE = yes

View file

@ -1,52 +0,0 @@
/* Copyright 2020 Brandon Schlack
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#ifdef KEYBOARD_planck_rev6
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND) \
}
#endif
#define MUSIC_MASK (keycode != KC_NO)
/*
* MIDI options
*/
/* 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
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4
#endif

View file

@ -1,221 +0,0 @@
/* Copyright 2019 Brandon Schlack
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#ifdef KEYBOARD_planck_rev6
#include "muse.h"
#endif
#include "brandonschlack.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty */
[_BASE] = LAYOUT_ortho_4x12(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
HY_ESC, 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, SFT_ENT,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
MCO_LYR, KC_LCTL, KC_LOPT, KC_LCMD, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
),
/* Lower */
[_LOWER] = LAYOUT_ortho_4x12(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
SF_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGUP, KC_PGDN, KC_END, _______,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, _______, KC_MUTE, KC_MUTE, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT
// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
),
/* Raise */
[_RAISE] = LAYOUT_ortho_4x12(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
SF_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGUP, KC_PGDN, KC_END, _______,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT
// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
),
/* Macros */
[_MACRO] = LAYOUT_ortho_4x12(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
_______, _______, _______, _______, _______, _______, _______, KC_BRMD, KC_BRMU, MC_MSSN, MC_LHPD, MC_SLPD,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, _______, _______, _______, MC_BACK, MC_FWRD, PRV_TAB, NXT_TAB, NXT_WIN,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, _______, _______, PX_AFLL, OP_AFLL, _______, _______, _______, _______,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
),
/* Adjust (Lower + Raise) */
[_ADJUST] = LAYOUT_ortho_4x12(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
QM_MAKE, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, MC_SLPD,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
QM_FLSH, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, RGB_RTHM,RGB_THM, _______, _______, _______,
// ├────────┼────────┼────────┼────────┼────────┼────────┴────────┼────────┼────────┼────────┼────────┼────────┤
EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
// └────────┴────────┴────────┴────────┴────────┴─────────────────┴────────┴────────┴────────┴────────┴────────┘
)
};
layer_state_t layer_state_set_keymap(layer_state_t state) {
state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
return state;
}
#ifdef KEYBOARD_plaid
// Turn on Red LED when initialized
void keyboard_post_init_keymap(void) {
writePinHigh(LED_RED);
}
// Use Green LED for Caps Lock
bool led_update_user(led_t led_state) {
if (led_state.caps_lock) {
writePinLow(LED_GREEN);
} else {
writePinHigh(LED_GREEN);
}
return false;
}
#endif
#ifdef KEYBOARD_planck_rev6
#ifdef AUDIO_ENABLE
float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
bool muse_mode = false;
uint8_t last_muse_note = 0;
uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
bool encoder_update_keymap(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
muse_offset++;
} else {
muse_offset--;
}
} else {
if (clockwise) {
muse_tempo+=1;
} else {
muse_tempo-=1;
}
}
} else {
if (clockwise) {
#ifdef MOUSEKEY_ENABLE
tap_code(MC_WH_U);
#else
tap_code(KC_VOLU);
#endif
} else {
#ifdef MOUSEKEY_ENABLE
tap_code(MC_WH_D);
#else
tap_code(KC_VOLD);
#endif
}
}
return true;
}
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
static bool play_sound = false;
#endif
if (active) {
#ifdef AUDIO_ENABLE
if (play_sound) { PLAY_SONG(plover_song); }
#endif
layer_on(_ADJUST);
} else {
#ifdef AUDIO_ENABLE
if (play_sound) { PLAY_SONG(plover_gb_song); }
#endif
layer_off(_ADJUST);
}
#ifdef AUDIO_ENABLE
play_sound = true;
#endif
break;
}
case 1:
if (active) {
muse_mode = true;
} else {
muse_mode = false;
}
}
return true;
}
void matrix_scan_keymap(void) {
#ifdef AUDIO_ENABLE
if (muse_mode) {
if (muse_counter == 0) {
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
if (muse_note != last_muse_note) {
stop_note(compute_freq_for_midi_note(last_muse_note));
play_note(compute_freq_for_midi_note(muse_note), 0xF);
last_muse_note = muse_note;
}
}
muse_counter = (muse_counter + 1) % muse_tempo;
} else {
if (muse_counter) {
stop_all_notes();
muse_counter = 0;
}
}
#endif
}
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
case RAISE:
case LOWER:
case MCO_LYR:
return false;
default:
return true;
}
}
#endif

View file

@ -1,20 +0,0 @@
# brandonschlack's 4x12 Ortho Keymap
This layout is based on the Planck layout. It is macOS-centric, with Colemak and DVORAK removed as I don't use them.
## Keyboards Using This Layout
* [Planck](https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck)
* [Plaid](https://github.com/qmk/qmk_firmware/tree/master/keyboards/plaid)
* [JNAO](https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck) (FORCE_LAYOUT=ortho_4x12)
## Features
* *Enter* acts as *Right Shift* when held
* On either **LOWER** or **RAISE** layers, tapping *Shift* will toggle *Caps Lock*, hold for Shift.
* Bottom left key is *Hyper* (Shift+Control+Option+Command) which I use to map global shortcuts in macOS.
* Holding *Esc* will also act as Hyper.
* **ADJUST** Layer
* Make command for compiling keyboard firmmware, a Reset key, and Debug toggle.
* Mission Control, Launchpad, and Sleep Display macOS macros
* Alt-Gui swapping

View file

@ -1,10 +0,0 @@
ifeq ($(strip $(KEYBOARD)), planck/rev6)
SRC += muse.c
endif
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
BACKLIGHT_ENABLE = no # No backlights installed
ifeq ($(strip $(KEYBOARD)), jnao)
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
endif

View file

@ -1,4 +0,0 @@
#pragma once
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD

View file

@ -1,175 +0,0 @@
#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
// Keymap layers
enum layer_names {
_BASE_LAYER,
_RAISE_LAYER,
_LOWER_LAYER,
_NUMPAD_LAYER,
_NAVIGATION_LAYER,
_UI_LAYER,
_KEYBOARD_LAYER,
};
// Layer switches aliases
#define L_LOWER MO(_LOWER_LAYER)
#define L_RAISE MO(_RAISE_LAYER)
#define L_NUMPAD MO(_NUMPAD_LAYER)
#define L_UI MO(_UI_LAYER)
#define L_KEYBD MO(_KEYBOARD_LAYER)
#define SCL_NAV LT(_NAVIGATION_LAYER, KC_SCLN)
#define SFT_MIN MT(MOD_RSFT, KC_MINS)
#define SFT_ENT SC_SENT
// GUI chords
#define GUI_1 LGUI(KC_1)
#define GUI_2 LGUI(KC_2)
#define GUI_3 LGUI(KC_3)
#define GUI_4 LGUI(KC_4)
#define GUI_5 LGUI(KC_5)
#define GUI_6 LGUI(KC_6)
#define GUI_7 LGUI(KC_7)
#define GUI_8 LGUI(KC_8)
#define GUI_9 LGUI(KC_9)
#define GUI_0 LGUI(KC_0)
#define GUI_MIN LGUI(KC_MINS)
#define GUI_EQL LGUI(KC_EQL)
#define GUI_LBR LGUI(KC_LBRC)
#define GUI_RBR LGUI(KC_RBRC)
#define GUI_ENT LGUI_T(KC_ENT)
#define GUI_ESC LGUI_T(KC_ESC)
#define GUI_TAB LGUI(KC_TAB) // application toggle
#define GUI_GRV LGUI(KC_GRV) // window toggle
#define GUI_SSF LGUI(LSFT(KC_3)) // Full screen shot
#define GUI_SST LGUI(LSFT(KC_4)) // Targetted screen shot
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | - |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | GUI/Esc| A | S | D | F | G | H | J | K | L | ;/nav | " |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | Shift | Z | X | C | V | B | N | M | , | . | / | Sft/ent|
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | Numpad | Ctrl | Alt | GUI | Lower | Bksp | Space | Raise | Ctrl | Alt | UI | Keybd |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_BASE_LAYER] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
GUI_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SCL_NAV, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT,
L_NUMPAD,KC_LCTL, KC_LALT, KC_LGUI, L_LOWER, KC_BSPC, KC_SPACE,L_RAISE, KC_RCTL, KC_RALT, L_UI, L_KEYBD
),
/* Lower
* ,-----------------------------------------------------------------------------------------------------------.
* | ` | ! | @ | # | $ | % | ^ | & | * | + | = | - |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | | , | . | / | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | Del | | | | | |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_LOWER_LAYER] = LAYOUT_ortho_4x12(
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PLUS, KC_EQL, _______,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COMM, KC_DOT, KC_SLSH, _______,
_______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______
),
/* Raise
* ,-----------------------------------------------------------------------------------------------------------.
* | ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | _ |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | { | [ | ( | < | > | ) | ] | } | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | Del | | | | | | |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_RAISE_LAYER] = LAYOUT_ortho_4x12(
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_7, KC_F8, KC_F9, KC_F10, KC_UNDS,
_______, XXXXXXX, KC_LCBR, KC_LBRC, KC_LPRN, KC_LABK, KC_RABK, KC_RPRN, KC_RBRC, KC_RCBR, XXXXXXX, KC_PIPE,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______
),
/* Numpad
* ,-----------------------------------------------------------------------------------------------------------.
* | | | | | | | | 7 | 8 | 9 | * | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | 4 | 5 | 6 | - | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | 1 | 2 | 3 | + | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | 0 | . | / | | |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_NUMPAD_LAYER] = LAYOUT_ortho_4x12(
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, KC_ASTR, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_4, KC_5, KC_6, KC_MINS, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_PLUS, _______,
_______, _______, _______, _______, _______, _______, _______, KC_0, KC_DOT, KC_SLSH, _______, _______
),
/* Navigation
* ,-----------------------------------------------------------------------------------------------------------.
* | | | | | | | | Home | Up | End | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | Left | Down | Right | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | Enter | | | Del | | | | |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_NAVIGATION_LAYER] = LAYOUT_ortho_4x12(
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, _______, KC_ENT, _______, _______, KC_DEL, _______, _______, _______, _______
),
/* UI
* ,--------------------------------------------------------------------------------+--------+-----------------.
* | GUI Tab| | | | | | | | | GUI - | GUI = | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | GUI ` | GUI 1 | GUI 2 | GUI 3 | GUI 4 | GUI 5 | GUI 6 | GUI 7 | | GUI [ | GUI ] | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------------------------+--------|
* | |Full SS | Area SS| | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | Prev | Play | Next | Bri - | | | Bri + | Mute | Vol - | Vol + | |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_UI_LAYER] = LAYOUT_ortho_4x12(
GUI_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GUI_MIN, GUI_EQL, XXXXXXX,
GUI_GRV, GUI_1, GUI_2, GUI_3, GUI_4, GUI_5, GUI_6, GUI_7, XXXXXXX, GUI_LBR, GUI_RBR, XXXXXXX,
_______, GUI_SSF, GUI_SST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, KC_MRWD, KC_MPLY, KC_MFFD, KC_VOLD, KC_MUTE, KC_MUTE, KC_VOLU, _______, _______, _______, _______
),
/* Keyboard
* ,--------------------------------------------------------------------------------+--------+-----------------.
* | | | | | | | | | | | | Boot |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | Debug |
* |--------+--------+--------+--------+--------+-----------------+--------+--------------------------+--------|
* | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_KEYBOARD_LAYER] = LAYOUT_ortho_4x12(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DB_TOGG,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______
),
};

View file

@ -1,105 +0,0 @@
# bredfield's 4x12 Ortho Keymap
## Overview
This is the layout that I use for all 4x12 boards, for writing and programming.
- Works with planck or split style boards
- Split spacebar; left position is backspace, which frees up the typical key for minus/undersc
- Targets mac os; linux variant to come
- Navigation layer is triggered via the `;` key, allowing for single-hand navigation without leaving the home row
- Brackets are located on the home row on raise, which is comfortable when programming
- Reduced mod / layer tap use, to avoid input lag
- LEDs are overrated
## Layers
### Main
```
* ,-----------------------------------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | - |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | GUI/Esc| A | S | D | F | G | H | J | K | L | ;/nav | " |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | Shift | Z | X | C | V | B | N | M | , | . | / | Sft/ent|
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | Numpad | Ctrl | Alt | GUI | Lower | Bksp | Space | Raise | Ctrl | Alt | UI | Keybd |
* `-----------------------------------------------------------------------------------------------------------'
```
### Lower
```
* ,-----------------------------------------------------------------------------------------------------------.
* | ` | ! | @ | # | $ | % | ^ | & | * | + | = | - |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | | , | . | / | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | Del | | | | | | |
* `-----------------------------------------------------------------------------------------------------------'
```
### Raise
```
* ,-----------------------------------------------------------------------------------------------------------.
* | ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | _ |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | { | [ | ( | < | > | ) | ] | } | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | Del | | | | | | |
* `-----------------------------------------------------------------------------------------------------------'
```
### Numpad
```
* ,-----------------------------------------------------------------------------------------------------------.
* | | | | | | | | 7 | 8 | 9 | * | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | 4 | 5 | 6 | - | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | 1 | 2 | 3 | + | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | 0 | . | / | | |
* `-----------------------------------------------------------------------------------------------------------'
```
### Navigation
```
* ,-----------------------------------------------------------------------------------------------------------.
* | | | | | | | | Home | Up | End | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | Left | Down | Right | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | Enter | | | Del | | | | |
* `-----------------------------------------------------------------------------------------------------------'
```
### UI
```
* ,--------------------------------------------------------------------------------+--------+-----------------.
* | GUI Tab| | | | | | | | | GUI - | GUI = | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | GUI ` | GUI 1 | GUI 2 | GUI 3 | GUI 4 | GUI 5 | GUI 6 | GUI 7 | | GUI [ | GUI ] | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------------------------+--------|
* | |Full SS | Area SS| | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | Prev | Play | Next | Bri - | | | Bri + | Mute | Vol - | Vol + | |
* `-----------------------------------------------------------------------------------------------------------'
```
### Keyboard
```
* ,--------------------------------------------------------------------------------+--------+-----------------.
* | | | | | | | | | | | | RESET |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | Debug |
* |--------+--------+--------+--------+--------+-----------------+--------+--------------------------+--------|
* | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------------------------------'
*/
```

View file

@ -1,22 +0,0 @@
#pragma once
/* Select hand configuration */
#define MASTER_LEFT
// #define _MASTER_RIGHT
// #define EE_HANDS
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#endif
// MIDI notes can be sent when in Music mode
#define MIDI_BASIC
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4

View file

@ -1,174 +0,0 @@
#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
enum layers {
_QWERTY,
_COLEMAK,
_DVORAK,
_LOWER,
_RAISE,
_GAME,
_ADJUST
};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
COLEMAK,
DVORAK,
LOWER,
RAISE,
GAME,
ADJUST
};
#define GAME TG(_GAME)
#define RSE_ENT LT(_RAISE, KC_ENT)
#define ESC_CTL LCTL_T(KC_ESC) // for Linux
#define ESC_CMD LGUI_T(KC_ESC) // for macOS
// Use these to switch desktops on macOS
#define DESK_L LCTL(KC_LEFT)
#define DESK_R LCTL(KC_RGHT)
// Use these to switch desktops on Gnome
#define DESK_UP LGUI(KC_PGUP)
#define DESK_DN LGUI(KC_PGDN)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Use QWERTY on macOS (Colemak mapped using software)
[_QWERTY] = LAYOUT_ortho_4x12(
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I, KC_O , KC_P , KC_BSPC,
ESC_CMD, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K, KC_L , KC_SCLN, KC_QUOT,
SC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, SC_RSPC,
XXXXXXX, KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
),
// Use Colemak on Linux (No native Colemak mapping)
[_COLEMAK] = LAYOUT_ortho_4x12(
KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC,
ESC_CTL, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT,
SC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, SC_RSPC,
XXXXXXX, KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
),
[_DVORAK] = LAYOUT_ortho_4x12(
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
ESC_CTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
XXXXXXX, KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
),
[_LOWER] = LAYOUT_ortho_4x12(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_7, KC_8, KC_9, KC_MINS, _______,
KC_TILD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_4, KC_5, KC_6, KC_PLUS, KC_PIPE,
_______, _______, _______, KC_UNDS, KC_EQL, _______, _______, KC_1, KC_2, KC_3, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_0, KC_DOT, KC_COMM, _______, _______
),
[_RAISE] = LAYOUT_ortho_4x12(
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, KC_INS, KC_DEL,
KC_TILD, _______, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_BSLS,
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, DESK_R, DESK_DN, DESK_UP, DESK_L
),
[_GAME] = LAYOUT_ortho_4x12(
KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC,
ESC_CMD, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_ENT,
XXXXXXX, KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , RSE_ENT, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
),
[_ADJUST] = LAYOUT_ortho_4x12(
_______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
_______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, GAME, _______,
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
set_single_persistent_default_layer(_QWERTY);
}
return false;
break;
case COLEMAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
break;
case DVORAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_DVORAK);
}
return false;
break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case ADJUST:
if (record->event.pressed) {
layer_on(_ADJUST);
} else {
layer_off(_ADJUST);
}
return false;
break;
}
return true;
}
bool encoder_update_user(uint8_t index, bool clockwise) {
if (IS_LAYER_ON(_RAISE) || IS_LAYER_ON(_LOWER)) {
if (clockwise) {
register_code(KC_VOLU);
unregister_code(KC_VOLU);
} else {
register_code(KC_VOLD);
register_code(KC_VOLD);
}
} else {
if (clockwise) {
#ifdef MOUSEKEY_ENABLE
register_code(KC_MS_WH_DOWN);
unregister_code(KC_MS_WH_DOWN);
#else
register_code(KC_PGDN);
unregister_code(KC_PGDN);
#endif
} else {
#ifdef MOUSEKEY_ENABLE
register_code(KC_MS_WH_UP);
unregister_code(KC_MS_WH_UP);
#else
register_code(KC_PGUP);
unregister_code(KC_PGUP);
#endif
}
}
return true;
}

View file

@ -1,12 +0,0 @@
![Imgur](https://i.imgur.com/yx9tFUq.png)
# Logan's Ortho 4x12 Layout
This layout is what I use on my Planck. Some features of the layout:
- Rotary encoder support (no function for clicking yet)
- Numpad under right hand (I find this much more comfortable than touch-typing the number row)
- Space cadet shift
- Curly braces are under the home row (makes programming much more comfortable)
Also, another note: the QWERTY layout uses `LGUI_T(KC_ESC)` and the COLEMAK/DVORAK layouts use `LCTL_T(KC_ESC)`. This is because I use the QWERTY layout on my Mac laptop so that I don't have to change the software remapping every time I dock my laptop. This also allows a convenient remapping of the modifier keys. I use the hardware mapped COLEMAK layout on Linux.

View file

@ -1,9 +0,0 @@
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
TAP_DANCE_ENABLE = no
AUDIO_ENABLE = yes
MACROS_ENABLED = no

View file

@ -1,14 +0,0 @@
#pragma once
#define LAYOUT_callum( \
KEY00, KEY01, KEY02, KEY03, KEY04, KEY05, KEY06, KEY07, KEY08, KEY09, \
KEY10, KEY11, KEY12, KEY13, KEY14, KEY15, KEY16, KEY17, KEY18, KEY19, \
KEY20, KEY21, KEY22, KEY23, KEY24, KEY25, KEY26, KEY27, KEY28, KEY29, \
KEY30, KEY31, KEY32, KEY33 \
) \
LAYOUT_ortho_4x12( \
KEY00, KEY01, KEY02, KEY03, KEY04, KC_NO, KC_NO, KEY05, KEY06, KEY07, KEY08, KEY09, \
KEY10, KEY11, KEY12, KEY13, KEY14, KC_NO, KC_NO, KEY15, KEY16, KEY17, KEY18, KEY19, \
KEY20, KEY21, KEY22, KEY23, KEY24, KC_NO, KC_NO, KEY25, KEY26, KEY27, KEY28, KEY29, \
KC_NO, KC_NO, KC_NO, KEY30, KEY31, KC_NO, KC_NO, KEY32, KEY33, KC_NO, KC_NO, KC_NO \
)

View file

@ -1 +0,0 @@
// Intentionally empty. See /users/callum/readme.md.

View file

@ -1,27 +0,0 @@
/*
This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Select hand configuration */
#define MASTER_LEFT
// #define _MASTER_RIGHT
// #define EE_HANDS

View file

@ -1,137 +0,0 @@
#include QMK_KEYBOARD_H
#include "action_layer.h"
#include "eeconfig.h"
extern keymap_config_t keymap_config;
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
#define _COLEMAKDH 0
#define _LOWER 1
#define _RAISE 2
#define _ADJUST 16
enum custom_keycodes {
COLEMAKDH = SAFE_RANGE,
LOWER,
RAISE,
ADJUST,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | Q | W | F | P | B | Tab | Bksp | J | L | U | Y | ; |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | A | R | S | T | G | Esc | " | M | N | E | I | O |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Z | X | C | D | V |Shift |Enter | K | H | , | . | / |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt | GUI |Adjust|Space |Lower |Raise |Space | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAKDH] = LAYOUT_ortho_4x12(
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_TAB, KC_BSPC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
KC_A, KC_R, KC_S, KC_T, KC_G, KC_ESC, KC_QUOT, KC_M, KC_N, KC_E, KC_I, KC_O,
KC_Z, KC_X, KC_C, KC_D, KC_V, KC_LSFT, KC_ENT, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH,
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, LOWER, RAISE, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
* | | Reset| | | | | | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
_______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
void persistent_default_layer_set(uint16_t default_layer) {
eeconfig_update_default_layer(default_layer);
default_layer_set(default_layer);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case ADJUST:
if (record->event.pressed) {
layer_on(_ADJUST);
} else {
layer_off(_ADJUST);
}
return false;
break;
}
return true;
}

View file

@ -1,5 +0,0 @@
# ortho_4x12
A wide, split layout for use on grid Planck or Let's Split based on the Colemak Mod-DH keyboard layout.
![layout image](https://i.imgur.com/y3O6U1R.png)

View file

@ -1,153 +0,0 @@
/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
# if defined(KEYBOARD_planck_light)
# define WS2812_DI_PIN A0
# define RGBLED_NUM 13 // Number of LEDs
# endif
# define RGBLIGHT_HUE_STEP 12
# define RGBLIGHT_SAT_STEP 12
# define RGBLIGHT_VAL_STEP 12
# define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
# define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
# ifdef RGB_MATRIX_ENABLE
# define RGBLIGHT_DISABLE_KEYCODES
# endif
#endif // RGBLIGHT_ENABLE
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# undef RGB_MATRIX_LED_PROCESS_LIMIT
# undef RGB_MATRIX_LED_FLUSH_LIMIT
# ifdef KEYBOARD_planck_rev6
# define RGB_MATRIX_LED_COUNT RGBLED_NUM
# endif
#endif
#if defined(KEYBOARD_lets_split_rev2)
# undef USE_I2C
# define EE_HANDS
#endif
#if !defined(KEYBOARD_planck_light)
# ifdef RGBLIGHT_ENABLE
# define NO_MUSIC_MODE
# endif // RGBLIGHT_ENABLE
#else
# undef QMK_ESC_OUTPUT
# define QMK_ESC_OUTPUT E6 // usually COL
# undef QMK_ESC_INPUT
# define QMK_ESC_INPUT B0 // usually ROW
# undef QMK_LED
# define QMK_LED D6
# undef QMK_SPEAKER
# define QMK_SPEAKER B5
# define SOLENOID_PIN A1
#endif // KEYBOARD_planck_light
#if defined(KEYBOARD_planck)
# if defined(KEYBOARD_planck_light)
# undef PRODUCT
# define PRODUCT "Drashna Hacked RGB Beacon(Planck Light)"
# elif defined(KEYBOARD_planck_rev6)
# undef PRODUCT
# define PRODUCT "Drashna Hacked Planck Rev6"
# elif defined(KEYBOARD_planck_ez)
# undef PRODUCT
# define PRODUCT "Drashna Hacked Planck EZ"
# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
# endif
#endif
#undef NO_USB_STARTUP_CHECK
#define EEPROM_I2C_RM24C512C
#define ENCODER_DIRECTION_FLIP
/*
* MIDI options
*/
/* 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
#define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/
#define DRV2605L_FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
/* default 3V ERM vibration motor voltage and library*/
#if DRV2605L_FB_ERM_LRA == 0
# define DRV2605L_RATED_VOLTAGE 3
# define DRV2605L_V_RMS 2.3
# define DRV2605L_V_PEAK 3.30
/* Library Selection */
# define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */
/* default 2V LRA voltage and library */
#elif DRV2605L_FB_ERM_LRA == 1
# define DRV2605L_RATED_VOLTAGE 2
# define DRV2605L_V_RMS 2.0
# define DRV2605L_V_PEAK 2.85
# define DRV2605L_F_LRA 200
/* Library Selection */
# define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */
#endif
/* Control 1 register settings */
#define DRV2605L_DRIVE_TIME 25
#define DRV2605L_AC_COUPLE 0
#define DRV2605L_STARTUP_BOOST 1
/* Control 2 Settings */
#define DRV2605L_BIDIR_INPUT 1
#define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */
#define DRV2605L_SAMPLE_TIME 3
#define DRV2605L_BLANKING_TIME 1
#define DRV2605L_IDISS_TIME 1
/* Control 3 settings */
#define DRV2605L_NG_THRESH 2
#define DRV2605L_ERM_OPEN_LOOP 1
#define DRV2605L_SUPPLY_COMP_DIS 0
#define DRV2605L_DATA_FORMAT_RTO 0
#define DRV2605L_LRA_DRIVE_MODE 0
#define DRV2605L_N_PWM_ANALOG 0
#define DRV2605L_LRA_OPEN_LOOP 0
/* Control 4 settings */
#define DRV2605L_ZC_DET_TIME 0
#define DRV2605L_AUTO_CAL_TIME 3

View file

@ -1,288 +0,0 @@
/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "drashna.h"
#define BACKLIT OSM(MOD_LSFT)
enum planck_keycodes {
TH_LVL = USER_SAFE_RANGE,
};
#ifdef KEYBOARD_planck_ez
# define PLNK_1 BK_LWER
# define PLNK_2 SP_LWER
# define PLNK_3 KC_NO
# define PLNK_4 ET_RAIS
#else
# define PLNK_1 SP_LWER
# define PLNK_2 BK_LWER
# define PLNK_3 DL_RAIS
# define PLNK_4 ET_RAIS
#endif
/*
* The `LAYOUT_ortho_4x12_base` macro is a template to allow the use of identical
* modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so
* that there is no need to set them up for each layout, and modify all of
* them if I want to change them. This helps to keep consistency and ease
* of use. K## is a placeholder to pass through the individual keycodes
*/
// clang-format off
#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
#define LAYOUT_ortho_4x12_base( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
) \
LAYOUT_ortho_4x12_wrapper( \
KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, PRINT_SETUPS, \
LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \
KC_MLSF, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_ENT, \
STORE_SETUPS, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1, PLNK_2, PLNK_3, PLNK_4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
)
#define LAYOUT_base_wrapper(...) LAYOUT_ortho_4x12_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
),
[_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
),
[_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),
[_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),
[_LOWER] = LAYOUT_ortho_4x12_wrapper(
KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC,
KC_DEL, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
_______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_RAISE] = LAYOUT_ortho_4x12_wrapper(
KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_BSPC,
KC_DEL, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
_______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
_______, _______, _______, _______, _______, _______, _______, _________________RAISE_R3__________________
),
[_ADJUST] = LAYOUT_ortho_4x12_wrapper(
QK_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, QK_BOOT,
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EE_CLR,
TH_LVL, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL,
KEYLOCK, _______, _______, QK_RBT, _______, KC_NUKE, _______, _______, AUTO_CTN,_______, _______, TG_MODS
)
};
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_DEFAULT_LAYER_1] = { { KC_DOWN, KC_UP } },
[_DEFAULT_LAYER_2] = { { _______, _______ } },
[_DEFAULT_LAYER_3] = { { _______, _______ } },
[_DEFAULT_LAYER_4] = { { _______, _______ } },
[_GAMEPAD] = { { _______, _______ } },
[_DIABLO] = { { _______, _______ } },
[_MOUSE] = { { KC_WH_D, KC_WH_U } },
[_MEDIA] = { { _______, _______ } },
[_RAISE] = { { KC_VOLD, KC_VOLU } },
[_LOWER] = { { RGB_MOD, RGB_RMOD} },
[_ADJUST] = { { CK_DOWN, CK_UP } },
};
#endif
// clang-format on
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
#ifdef KEYBOARD_planck_ez
case TH_LVL:
if (record->event.pressed) {
keyboard_config.led_level++;
if (keyboard_config.led_level > 4) {
keyboard_config.led_level = 0;
}
planck_ez_right_led_level((uint8_t)keyboard_config.led_level * 255 / 4);
planck_ez_left_led_level((uint8_t)keyboard_config.led_level * 255 / 4);
eeconfig_update_kb(keyboard_config.raw);
layer_state_set_kb(layer_state);
}
break;
#endif
}
return true;
}
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
case RAISE:
case LOWER:
case BK_LWER:
case SP_LWER:
case DL_RAIS:
case ET_RAIS:
return false;
default:
return true;
}
}
#ifdef RGB_MATRIX_ENABLE
# ifdef KEYBOARD_planck_rev6
// clang-format off
led_config_t g_led_config = {
{
// Key Matrix to LED Index
{ NO_LED, 6, NO_LED, NO_LED, 5, NO_LED },
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 },
{ NO_LED, 7, NO_LED, NO_LED, 2, NO_LED },
{ NO_LED, 4, NO_LED, NO_LED, 3, NO_LED },
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
{ NO_LED, 1, NO_LED, NO_LED, 8, NO_LED }
}, {
// LED Index to Physical Position
{112, 39}, {148, 60}, {206, 53}, {206, 3}, {150, 3}, {74, 3}, {18, 3}, {18, 54}, {77, 60}
}, {
// LED Index to Flag
LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL
}
};
// clange-format on
# endif
bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
uint8_t this_mod = get_mods();
led_t this_led = host_keyboard_led_state();
uint8_t this_osm = get_oneshot_mods();
# ifdef KEYBOARD_planck_ez
# define THUMB_LED 41
# else
# define THUMB_LED 42
# endif
# define RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(...) RGB_MATRIX_INDICATOR_SET_COLOR(__VA_ARGS__)
switch (get_highest_layer(default_layer_state)) {
case _DEFAULT_LAYER_1:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_1_RGB);
break;
case _DEFAULT_LAYER_2:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_2_RGB);
break;
case _DEFAULT_LAYER_3:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_3_RGB);
break;
case _DEFAULT_LAYER_4:
RGB_MATRIX_INDICATOR_SET_COLOR_wrapper(THUMB_LED, DEFAULT_LAYER_4_RGB);
break;
}
if ((this_mod | this_osm) & MOD_MASK_SHIFT || this_led.caps_lock) {
if (!layer_state_cmp(layer_state, _ADJUST)) {
RGB_MATRIX_INDICATOR_SET_COLOR(24, 0x00, 0xFF, 0x00);
}
RGB_MATRIX_INDICATOR_SET_COLOR(36, 0x00, 0xFF, 0x00);
}
if ((this_mod | this_osm) & MOD_MASK_CTRL) {
RGB_MATRIX_INDICATOR_SET_COLOR(25, 0xFF, 0x00, 0x00);
RGB_MATRIX_INDICATOR_SET_COLOR(34, 0xFF, 0x00, 0x00);
RGB_MATRIX_INDICATOR_SET_COLOR(37, 0xFF, 0x00, 0x00);
}
if ((this_mod | this_osm) & MOD_MASK_GUI) {
RGB_MATRIX_INDICATOR_SET_COLOR(39, 0xFF, 0xD9, 0x00);
}
if ((this_mod | this_osm) & MOD_MASK_ALT) {
RGB_MATRIX_INDICATOR_SET_COLOR(38, 0x00, 0x00, 0xFF);
}
return true;
}
void keyboard_post_init_keymap(void) {
# ifdef KEYBOARD_planck_light
writePinLow(D6);
# endif
// rgblight_mode(RGB_MATRIX_MULTISPLASH);
}
#endif // RGB_MATRIX_INIT
#ifdef KEYBOARD_planck_rev6
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
audio_on();
} else {
audio_off();
}
break;
case 1:
if (active) {
clicky_on();
} else {
clicky_off();
}
break;
case 2:
keymap_config.swap_lctl_lgui = keymap_config.swap_rctl_rgui = active;
break;
case 3:
userspace_config.nuke_switch = active;
break;
}
return true;
}
#endif // KEYBOARD_planck_rev6
#ifdef KEYBOARD_planck_ez
layer_state_t layer_state_set_keymap(layer_state_t state) {
planck_ez_left_led_off();
planck_ez_right_led_off();
switch (get_highest_layer(state)) {
case _LOWER:
planck_ez_left_led_on();
break;
case _RAISE:
planck_ez_right_led_on();
break;
case _ADJUST:
planck_ez_right_led_on();
planck_ez_left_led_on();
break;
default:
break;
}
return state;
}
#endif

View file

@ -1,2 +0,0 @@
# The Default Planck Layout

View file

@ -1,51 +0,0 @@
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
TAP_DANCE_ENABLE = no
NKRO_ENABLE = yes
CAPS_WORD_ENABLE = no
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
BACKLIGHT_ENABLE = no
ifeq ($(strip $(LAYOUTS_HAS_RGB)), yes)
RGBLIGHT_ENABLE = yes
endif
ifeq ($(strip $(KEYBOARD)), planck/rev6)
CONSOLE_ENABLE = yes
RGBLIGHT_ENABLE = yes
RGB_MATRIX_ENABLE = no
RGBLIGHT_STARTUP_ANIMATION = yes
AUDIO_ENABLE = yes
EEPROM_DRIVER = i2c
ENCODER_MAP_ENABLE = yes
AUTOCORRECT_ENABLE = yes
CAPS_WORD_ENABLE = yes
endif
ifeq ($(strip $(KEYBOARD)), planck/light)
RGB_MATRIX_ENABLE = yes
RGBLIGHT_ENABLE = yes
RGBLIGHT_STARTUP_ANIMATION = yes
AUDIO_ENABLE = yes
endif
ifeq ($(strip $(KEYBOARD)), planck/ez)
RGBLIGHT_ENABLE = no
ENCODER_ENABLE = yes
ENCODER_MAP_ENABLE = yes
RGB_MATRIX_ENABLE = yes
INDICATOR_LIGHTS = yes
RGBLIGHT_STARTUP_ANIMATION = yes
CONSOLE_ENABLE = yes
COMMAND_ENABLE = yes
AUDIO_ENABLE = yes
AUTOCORRECT_ENABLE = yes
CAPS_WORD_ENABLE = yes
endif
ifeq ($(strip $(MCU)), atmega32u4)
BOOTLOADER = qmk-hid
BOOTLOADER_SIZE = 512
LTO_ENABLE = yes
CUSTOM_UNICODE_ENABLE = no
endif

View file

@ -1,27 +0,0 @@
/*
This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Select hand configuration */
#define MASTER_LEFT
// #define _MASTER_RIGHT
// #define EE_HANDS

View file

@ -1,210 +0,0 @@
#include QMK_KEYBOARD_H
#include "action_layer.h"
#include "eeconfig.h"
extern keymap_config_t keymap_config;
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
#define _QWERTY 0
#define _COLEMAK 1
#define _DVORAK 2
#define _LOWER 3
#define _RAISE 4
#define _ADJUST 16
enum custom_keycodes {
QWERTY = SAFE_RANGE,
COLEMAK,
DVORAK,
LOWER,
RAISE,
ADJUST,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Dvorak
* ,-----------------------------------------------------------------------------------.
* | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | O | E | U | I | D | H | T | N | S | / |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT_ortho_4x12(
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
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_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
* | | Reset| | | | | | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
_______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
#ifdef AUDIO_ENABLE
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
float tone_dvorak[][2] = SONG(DVORAK_SOUND);
float tone_colemak[][2] = SONG(COLEMAK_SOUND);
#endif
void persistent_default_layer_set(uint16_t default_layer) {
eeconfig_update_default_layer(default_layer);
default_layer_set(default_layer);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(tone_qwerty);
#endif
persistent_default_layer_set(1UL<<_QWERTY);
}
return false;
break;
case COLEMAK:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(tone_colemak);
#endif
persistent_default_layer_set(1UL<<_COLEMAK);
}
return false;
break;
case DVORAK:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(tone_dvorak);
#endif
persistent_default_layer_set(1UL<<_DVORAK);
}
return false;
break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case ADJUST:
if (record->event.pressed) {
layer_on(_ADJUST);
} else {
layer_off(_ADJUST);
}
return false;
break;
}
return true;
}

View file

@ -1,32 +0,0 @@
/*
This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
#include "keyboards/lets_split/config.h"
/* Select hand configuration */
#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS
#endif

View file

@ -1,297 +0,0 @@
#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
enum custom_layers {
_QWERTY,
_LOWER,
_RAISE,
_EMOJI,
};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
LOWER,
RAISE,
EMOJI,
ABOVE,
BUG,
CONFUSED,
CRY,
CLAP,
ELIP,
FLIP,
FNGLEFT,
FNGRIGHT,
FROWN,
GRIN,
HEART,
JOY,
LLAP,
ROFL,
SHIT,
SING,
SHRUG,
THINK,
THMBDN,
THMBUP,
TOUNGE,
THANKS,
WINK
};
#define KC_X0 MT(MOD_LCTL, KC_ESC) // Hold for Left Ctrl, Tap for GraveESC
#define KC_X1 MT(MOD_RSFT, KC_ENT) // Hold for Right Shift, Tap for Enter
#define KC_X2 MT(MOD_RSFT, LGUI(KC_ENT)) // Send Command Enter
#define KC_BACK LGUI(KC_LBRC) // Back
#define KC_FORWARD LGUI(KC_RBRC) // Forward
#define KC_EMOJ TT(_EMOJI) // Hold for Emoji Layer, or tap 5 times.
#define KC_QS LGUI(KC_SPC) // Send Command + Space (for QuickSilver).
#define KC_WTAB LGUI(KC_TILD) // Send Command + ~ (for window changing).
#define KC_TABR LGUI(KC_RCBR) // Send Command + } (for tab changing).
#define KC_TABL LGUI(KC_LCBR) // Send Command + { (for tab changing).
#define HYPR_0 HYPR(KC_TILD) // Send Hyper + ~.
#define HYPR_1 HYPR(KC_EXLM) // Send Hyper + !.
#define HYPR_2 HYPR(KC_AT) // Send Hyper + @.
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Tab | A | S | D | F | G | H | J | K | L | ; | ' |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Emoji | Ctrl | Alt |Lower | Cmd |Space |Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_X0, 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_X1,
KC_EMOJ, KC_LCTL, KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* |cmd(~)| <- | -> | TAB_L| TAB_R| F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Tab- | Vol- | Vol+ | Tab+ |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_WTAB, KC_BACK, KC_FORWARD, KC_TABL, KC_TABR, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), _______, _______, _______,
_______, _______, _______, _______, _______, KC_QS, KC_QS, _______, _______, _______, _______, _______
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* |cmd(~)| F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Home | PgUp | PgDn | End |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_WTAB, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, KC_X2,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
),
/* Emoji Layer
*
* HYPR0 Q ;-) E 🤣 :-P 🙏🏼 U :'-( FLIP P
*
* HYPR1 👆 SHRUG GRIN :-( G <3 :-) k LLAP ;
*
* HYPR2🎶^🎶💭^💭 👏 | :-\ 🐛 n :-D SHIT ... /
*
* Brig- Sleep Brig+ 👈 👎 | 👍 👉
*
*/
[_EMOJI] = LAYOUT_ortho_4x12(
HYPR_0, _______, WINK, _______, ROFL, TOUNGE, THANKS, _______, CRY, FLIP, _______, _______ ,
HYPR_1, ABOVE, SHRUG, GRIN, FROWN, _______, HEART, JOY, _______, LLAP, _______, _______ ,
HYPR_2, SING, THINK, CLAP, CONFUSED, BUG, _______, _______, SHIT, ELIP, _______, _______ ,
_______, _______, _______, _______, KC_SCRL, KC_SLEP, KC_SLEP, KC_PAUS, FNGLEFT, THMBDN, THMBUP, FNGRIGHT
),
};
#ifdef AUDIO_ENABLE
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
float tone_dvorak[][2] = SONG(DVORAK_SOUND);
float tone_colemak[][2] = SONG(COLEMAK_SOUND);
#endif
void persistent_default_layer_set(uint16_t default_layer) {
eeconfig_update_default_layer(default_layer);
default_layer_set(default_layer);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case ABOVE:
if (record->event.pressed) {
SEND_STRING("&above; ");
}
return false;
break;
case BUG:
if (record->event.pressed) {
SEND_STRING("&bug;");
}
return false;
break;
case CONFUSED:
if (record->event.pressed) {
SEND_STRING(":-\\");
}
return false;
break;
case CRY:
if (record->event.pressed) {
SEND_STRING(":'-( ");
}
return false;
break;
case CLAP:
if (record->event.pressed) {
SEND_STRING("&clap; ");
}
return false;
break;
case ELIP:
if (record->event.pressed) {
SEND_STRING("...");
}
return false;
break;
case FLIP:
if (record->event.pressed) {
SEND_STRING("&fliptable;");
}
return false;
break;
case FNGLEFT:
if (record->event.pressed) {
SEND_STRING("&fingerleft; ");
}
return false;
break;
case FNGRIGHT:
if (record->event.pressed) {
SEND_STRING("&fingerright; ");
}
return false;
break;
case FROWN:
if (record->event.pressed) {
SEND_STRING(":-( ");
}
return false;
break;
case GRIN:
if (record->event.pressed) {
SEND_STRING(":-D ");
}
return false;
break;
case HEART:
if (record->event.pressed) {
SEND_STRING("<3 ");
}
return false;
break;
case JOY:
if (record->event.pressed) {
SEND_STRING(":-) ");
}
return false;
break;
case LLAP:
if (record->event.pressed) {
SEND_STRING("&llap; ");
}
return false;
break;
case ROFL:
if (record->event.pressed) {
SEND_STRING("&rofl; ");
}
return false;
break;
case SHIT:
if (record->event.pressed) {
SEND_STRING("&shit; ");
}
return false;
break;
case SING:
if (record->event.pressed) {
SEND_STRING("_sing_");
}
return false;
break;
case SHRUG:
if (record->event.pressed) {
SEND_STRING("&shrug; ");
}
return false;
break;
case THANKS:
if (record->event.pressed) {
SEND_STRING("&thanks;");
}
return false;
break;
case THINK:
if (record->event.pressed) {
SEND_STRING("_think_");
}
return false;
break;
case THMBDN:
if (record->event.pressed) {
SEND_STRING("&thumbdown; ");
}
return false;
break;
case THMBUP:
if (record->event.pressed) {
SEND_STRING("&thumbup; ");
}
return false;
break;
case TOUNGE:
if (record->event.pressed) {
SEND_STRING(":-P ");
}
return false;
break;
case WINK:
if (record->event.pressed) {
SEND_STRING(";-) ");
}
return false;
break;
}
return true;
}
void matrix_scan_user(void) {
return;
};

View file

@ -1,149 +0,0 @@
# GreatWizard ortholinear 4x12 keymap
## Base layers
### Qwerty
```
,-----------------------------------------------------------------------------------.
| Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | S | D | F | G | H | J | K | L | ; | ' |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Fn | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
```
### Workman
```
,-----------------------------------------------------------------------------------.
| Tab | Q | D | R | W | B | J | F | U | P | ; | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | S | H | T | G | Y | N | E | O | I | ' |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| Z | X | M | C | V | K | L | , | . | / |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Fn | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
```
### Colemak
```
,-----------------------------------------------------------------------------------.
| Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | R | S | T | D | H | N | E | I | O | ' |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Fn | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
```
### Dvorak
```
,-----------------------------------------------------------------------------------.
| Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | O | E | U | I | D | H | T | N | S | / |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Fn | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
```
### Game
```
,-----------------------------------------------------------------------------------.
| Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | S | D | F | G | H | J | K | L | ; | ' |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Fn | Ctrl | Alt | GUI |Lower | Space |Raise | / | Left | Down |Right |
`-----------------------------------------------------------------------------------'
```
## Momentarily Layers
### Lower
```
,-----------------------------------------------------------------------------------.
| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | Next | Vol- | Vol+ | Play |
`-----------------------------------------------------------------------------------'
```
### Raise
```
,-----------------------------------------------------------------------------------.
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |PageUp|PageDn| |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | Next | Vol- | Vol+ | Play |
`-----------------------------------------------------------------------------------'
```
### Adjust (Lower + Raise)
```
,-----------------------------------------------------------------------------------.
| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|------+------+------+------+------+------+------+------+------+------+------+------|
|CPSLCK| Reset|EP_RST| | | | Game |Qwerty|Workmn|Colemk|Dvorak| |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | |
`-----------------------------------------------------------------------------------'
```
### Fn (rgblight and backlight layout)
```
,-----------------------------------------------------------------------------------.
| | | | | | | | | |RGBVA-|RGBVA+| |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | |RGBSA-|RGBSA+|RGBLYR|
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | |RGBTOG|RGBHU-|RGBHU+|RGBMOD|
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | |BLTOGG| BL- | BL+ |BLBRTG|
`-----------------------------------------------------------------------------------'
```
## One Shot Key Layers
### GIT
Double tap on Alt to activate it.
```
,-----------------------------------------------------------------------------------.
| |CHRPCK| SHOW |REBASE|RESET | TAG | | PULL | INIT |REMOTE| PUSH | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | ADD |STATUS| DIFF |FETCH | GREP |STASH | |CHECKT| LOG | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | |COMMIT| MV |BRANCH| |MERGE | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
`-----------------------------------------------------------------------------------'
```

View file

@ -1,24 +0,0 @@
/* Copyright 2020 Guillaume Gérard
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define LAYERS_ORTHO
#define LAYER_GAME
#define LAYER_GIT
#define LAYER_FN
#define TAP_DANCE_LALT_GIT
#define TAP_DANCE_LSFT_CAPS

View file

@ -1,209 +0,0 @@
/* Copyright 2020 Guillaume Gérard
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "greatwizard.h"
#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
#define LAYOUT_ortho_4x12_base( \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A \
) \
LAYOUT_ortho_4x12_wrapper( \
KC_TAB, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_BSPC, \
KC_ESC, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
TD_LSCP, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_ENT, \
FN, KC_LCTL, TD_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
)
#define LAYOUT_ortho_4x12_base_wrapper(...) LAYOUT_ortho_4x12_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | ' |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Fn | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_4x12_base_wrapper(
_______________QWERTY_LEFT1________________, _______________QWERTY_RIGHT1_______________,
_______________QWERTY_LEFT2________________, _______________QWERTY_RIGHT2_______________, KC_QUOT,
_______________QWERTY_LEFT3________________, _______________QWERTY_RIGHT3_______________
),
/* Workman
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | D | R | W | B | J | F | U | P | ; | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | S | H | T | G | Y | N | E | O | I | ' |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | M | C | V | K | L | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Fn | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_WORKMAN] = LAYOUT_ortho_4x12_base_wrapper(
_______________WORKMAN_LEFT1_______________, _______________WORKMAN_RIGHT1______________,
_______________WORKMAN_LEFT2_______________, _______________WORKMAN_RIGHT2______________, KC_QUOT,
_______________WORKMAN_LEFT3_______________, _______________WORKMAN_RIGHT3______________
),
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | R | S | T | D | H | N | E | I | O | ' |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Fn | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_4x12_base_wrapper(
_______________COLEMAK_LEFT1_______________, _______________COLEMAK_RIGHT1______________,
_______________COLEMAK_LEFT2_______________, _______________COLEMAK_RIGHT2______________, KC_QUOT,
_______________COLEMAK_LEFT3_______________, _______________COLEMAK_RIGHT3______________
),
/* Dvorak
* ,-----------------------------------------------------------------------------------.
* | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | O | E | U | I | D | H | T | N | S | / |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Fn | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT_ortho_4x12_base_wrapper(
_______________DVORAK_LEFT1________________, _______________DVORAK_RIGHT1_______________,
_______________DVORAK_LEFT2________________, _______________DVORAK_RIGHT2_______________, KC_SLSH,
_______________DVORAK_LEFT3________________, _______________DVORAK_RIGHT3_______________
),
/* Game
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | ' |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Fn | Ctrl | Alt | GUI |Lower | Space |Raise | / | Left | Down |Right |
* `-----------------------------------------------------------------------------------'
*/
[_GAME] = LAYOUT_ortho_4x12_wrapper(
KC_TAB, _______________QWERTY_LEFT1________________, _______________QWERTY_RIGHT1_______________, KC_BSPC,
KC_ESC, _______________QWERTY_LEFT2________________, _______________QWERTY_RIGHT2_______________, KC_QUOT,
TD_LSCP, _______________QWERTY_LEFT3________________, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
FN, KC_LCTL, TD_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12_wrapper(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |PageUp|PageDn| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12_wrapper(
KC_GRV, _______________NUMBER_LEFT_________________, _______________NUMBER_RIGHT________________, _______,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |CPSLCK| Reset|EP_RST| | | | Game |Qwerty|Workmn|Colemk|Dvorak| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12_wrapper(
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_CAPS, QK_BOOT, EE_CLR, _______, _______, _______, GAME, QWERTY, WORKMAN, COLEMAK, DVORAK, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Fn (rgblight and backlight layout)
* ,-----------------------------------------------------------------------------------.
* | | | | | | | | | |RGBVA-|RGBVA+| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | |RGBSA-|RGBSA+|RGBLYR|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | |RGBTOG|RGBHU-|RGBHU+|RGBMOD|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | |BLTOGG| BL- | BL+ |BLBRTG|
* `-----------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_4x12_wrapper(
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, RGB_LYR,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_HUI, RGB_MOD,
_______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DOWN, BL_UP, BL_BRTG
),
/* GIT
* ,-----------------------------------------------------------------------------------.
* | |CHRPCK| SHOW |REBASE|QK_BOOT | TAG | | PULL | INIT |REMOTE| PUSH | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | ADD |STATUS| DIFF |FETCH | GREP |STASH | |CHECKT| LOG | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | |COMMIT| MV |BRANCH| |MERGE | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_GIT] = LAYOUT_ortho_4x12_wrapper(
_______, _________________GIT_LEFT1_________________, _________________GIT_RIGHT1________________, _______,
_______, _________________GIT_LEFT2_________________, _________________GIT_RIGHT2________________, _______,
_______, _________________GIT_LEFT3_________________, _________________GIT_RIGHT3________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View file

@ -1,7 +0,0 @@
EXTRAKEY_ENABLE = yes # Audio control and System control
TAP_DANCE_ENABLE = yes # Enable Tap Dance
LAYERS_ORTHO = yes
LAYER_GAME = yes
LAYER_GIT = yes
LAYER_FN = yes

View file

@ -1,51 +0,0 @@
/* Copyright 2015-2020 Jack Humbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#endif
/*
* MIDI options
*/
/* 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
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4

View file

@ -1,158 +0,0 @@
/* Copyright 2015-2020 Jack Humbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
enum planck_layers {
_COLEMAK,
_SHIFT_COLEMAK,
_LOWER,
_RAISE,
_ADJUST
};
#define S_SFT MO(_SHIFT_COLEMAK)
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | Tab | q | w | f | p | g | j | l | u | y | ; | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | - | a | r | s | t | d | h | n | e | i | o | ' |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | z | x | c | v | b | k | m | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shft | Ctrl | Alt | GUI |Lower | Shft | Spc |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
KC_MINS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_ESC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL, LOWER, S_SFT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Colemak, Shifted
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | _ | A | R | S | T | D | H | N | E | I | O | ` |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | Z | X | C | V | B | K | M | ! | @ | ? | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_SHIFT_COLEMAK] = LAYOUT_ortho_4x12(
S(KC_TAB), S(KC_Q), S(KC_W), S(KC_F), S(KC_P), S(KC_G), S(KC_J), S(KC_L), S(KC_U), S(KC_Y), KC_COLN, _______,
S(KC_MINS), S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_D), S(KC_H), S(KC_N), S(KC_E), S(KC_I), S(KC_O), KC_GRV,
S(KC_ESC), S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), S(KC_K), S(KC_M), KC_EXLM, KC_AT, KC_QUES, _______ ,
_______, _______, _______, _______, _______, _______, _______, _______, S(KC_LEFT), S(KC_DOWN), S(KC_UP), S(KC_RGHT)
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | | | 7 | 8 | 9 | | Del | F9 | F10 | F11 | F12 | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | | 4 | 5 | 6 | | | F5 | F6 | F7 | F8 | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | 0 | 1 | 2 | 3 | | | F1 | F2 | F3 | F4 | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | Home | Pgup | Pgdn | End |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
_______, XXXXXXX, KC_7, KC_8, KC_9, XXXXXXX, KC_DEL, KC_F9, KC_F10, KC_F11, KC_F12, _______,
KC_DEL, XXXXXXX, KC_4, KC_5, KC_6, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, _______,
_______, KC_0, KC_1, KC_2, KC_3, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | | | < | $ | > | | | [ | _ | ] | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | \ | ( | " | ) | # | % | { | = | } | ] | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | : | * | + | | | & | ^ | ~ | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
_______, XXXXXXX, KC_LT, KC_DLR, KC_GT, XXXXXXX, XXXXXXX, KC_LBRC, KC_UNDS, KC_RBRC, XXXXXXX, _______,
_______, KC_BSLS, KC_LPRN, KC_DQUO, KC_RPRN, KC_HASH, KC_PERC, KC_LCBR, KC_EQL, KC_RCBR, KC_PIPE, _______,
_______, XXXXXXX, KC_COLN, KC_ASTR, KC_PLUS, XXXXXXX, XXXXXXX, KC_AMPR, KC_CIRC, KC_TILD, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Adjust (Lower + Raise)
* v------------------------RGB CONTROL--------------------v
* ,-----------------------------------------------------------------------------------.
* | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | |MUSmod|Aud on|Audoff|AGnorm|AGswap| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
_______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______,
_______, XXXXXXX, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
};
bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
#ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_DOWN);
#else
tap_code(KC_PGDN);
#endif
} else {
#ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_UP);
#else
tap_code(KC_PGUP);
#endif
}
return true;
}
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
case RAISE:
case LOWER:
return false;
default:
return true;
}
}

View file

@ -1,9 +0,0 @@
![Jack's Planck Keymap](https://i.imgur.com/763RLNC.png)
# Jack's Planck Keymap
[Link to KLE of above image](http://www.keyboard-layout-editor.com/#/gists/8d5e8d5ee3884333bc5c4a231035f145)
Mostly standard Colemak, but the shift and symbol layers are influenced from BEAKL: https://ieants.cc/code/keyboard/beakl/
Unfortunately I haven't figured out a good way to adapt this to a 2u format yet.

View file

@ -1,23 +0,0 @@
#include QMK_KEYBOARD_H
#include "jarred.h"
#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QW] = LAYOUT_ortho_4x12_wrapper(QWERTY_4x12),
[_GAME] = LAYOUT_ortho_4x12_wrapper(GAME_4x12),
[_LW] = LAYOUT_ortho_4x12_wrapper(LOWER_4x12),
[_NV] = LAYOUT_ortho_4x12_wrapper(NAV_4x12),
[_NP] = LAYOUT_ortho_4x12_wrapper(NUMPAD_4x12),
[_MS] = LAYOUT_ortho_4x12_wrapper(MOUSE_4x12)
};
#ifdef RGB_MATRIX_ENABLE
bool rgb_matrix_indicators_user(void) {
#ifdef KEYBOARD_planck_light
// Disable light in middle of 2U position of Planck Light
rgb_matrix_set_color(42, 0, 0, 0);
#endif
return false;
}
#endif

View file

@ -1,22 +0,0 @@
# Jarred's ortho 4x12 keymap
[User space](../../../../users/jarred/readme.md)
Boards used on:
- [Planck](../../../../keyboards/planck/readme.md)
- [Plaid](../../../../keyboards/plaid/readme.md)
# Plaid build notes
Enter Bootloader:
Press Reset / Press Boot / Release Reset / Release Boot
Install libusbK driver for usbasp:
https://zadig.akeo.ie/
make plaid:jarred:program
Press Reset
https://github.com/hsgw/plaid/blob/master/doc/en/bootloader.md
https://github.com/hsgw/plaid/blob/master/doc/en/firmware.md

View file

@ -1,57 +0,0 @@
// Copyright (C) 2021 Jerrell, Jacob <@jjerrell>
//
// This file is part of qmk_firmware.
//
// qmk_firmware is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// qmk_firmware is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with qmk_firmware. If not, see <http://www.gnu.org/licenses/>.
#pragma once
// Allows time for repositioning hands due to awkward key placement
#define LEADER_NO_TIMEOUT
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#endif
#ifdef KEYBOARD_planck_ez_glow
#undef PRODUCT
#define PRODUCT "Planck EZ Glow - Modified by <@jjerrell>"
#endif
/*
* MIDI options
*/
/* 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
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4

View file

@ -1,227 +0,0 @@
/* Copyright 2015-2017 Jack Humbert
* Copyright 2021 Jacob Jerrell <@jjerrell>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "jjerrell.h"
enum planck_layers {
_GAME_LOWER = LAYER_SAFE_RANGE,
// _GAME_RAISE,
};
#define LAYOUT_planck_plain(...) WRAPPER_ortho_4x12(__VA_ARGS__)
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_WORKMAN] = LAYOUT_planck_base(
__________________WORKMN_L1__________________, __________________WORKMN_R1__________________,
__________________WORKMN_L2__________________, __________________WORKMN_R2__________________,
__________________WORKMN_L3__________________, __________________WORKMN_R3__________________
),
/* Lower - Nav/Select/Nums
* ,-----------------------------------------------------------------------------------.
* | PGUP | BSPC | UP | DEL | PGDN | | | | 7 | 8 | 9 | * |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | HOME | LEFT | DOWN | RGHT | END | | | | 4 | 5 | 6 | / |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | ESC | TAB | | ENTR | | | | | 1 | 2 | 3 | - |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | held | SPACE | ENTR | 0 | . | , | + |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_planck_mods(
__________________LOWER_L1___________________, XXXXXXX, XXXXXXX, __________________LOWER_R1___________________,
__________________LOWER_L2___________________, XXXXXXX, XXXXXXX, __________________LOWER_R2___________________,
__________________LOWER_L3___________________, XXXXXXX, XXXXXXX, __________________LOWER_R3___________________,
_________________________________________PLANCK_LOWER_BOTTOM_ROW_________________________________________
),
/* Raise - Symbols
* ,-----------------------------------------------------------------------------------.
* | % | _ | [ | ] | ^ | | | ! | < | > | = | : |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | \ | / | { | } | * | | | ? | ( | ) | - | ; |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | # | $ | | | ~ | ` | | | @ | " | ' | + | & |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | LEAD | | | BSPC | SPACE | held | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_planck_common(
__________________RAISE_L1___________________, __________________RAISE_R1___________________,
__________________RAISE_L2___________________, __________________RAISE_R2___________________,
__________________RAISE_L3___________________, __________________RAISE_R3___________________
),
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
* | Make | Debug|Reset | | | | |MusMod|Mus On|MusOff|MidiOn|MidOff|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Mute | Vol- | Vol+ | Play | Skip | | |Voice-| HUE+ | HUE- | SAT+ | SAT- |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Vrsn | AudOn|AudOff|CGswap|CGnorm| | |Voice+|RGBTog|RGBMod|BRGHT+|BRGHT-|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | held | | held | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_common(
__________________ADJUST_L1__________________, __________________ADJUST_R1__________________,
__________________ADJUST_L2__________________, __________________ADJUST_R2__________________,
__________________ADJUST_L3__________________, __________________ADJUST_R3__________________
),
[_GAME] = LAYOUT_planck_plain(
__________________QWERTY_L1__________________, _______, _______, XXXXXXX, KC_9, KC_0, KC_MINS, KC_EQL,
__________________QWERTY_L2__________________, XXXXXXX, XXXXXXX, XXXXXXX, KC_5, KC_6, KC_7, KC_8,
__________________QWERTY_L3__________________, XXXXXXX, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_4,
KC_LSFT, KC_LGUI, KC_LALT, KC_LCTL, LT(_LOWER, KC_BSPC), KC_SPC, XXXXXXX, LT(_WORKMAN, KC_ENT), MACRO_1, MACRO_2, MACRO_3, MACRO_4
),
[_GAME_LOWER] = LAYOUT_planck_plain(
_______, _______, _______, _______, _______, _______, _______, _______, C(_______), C(_______), C(_______), C(_______),
_______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, C(_______), C(_______), C(_______), C(_______),
_______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, C(_______), C(_______), C(_______), C(_______),
MACRO_1, MACRO_2, MACRO_3, MACRO_4, _______, _______, XXXXXXX, _______, MACRO_5, MACRO_6, MACRO_7, MACRO_8
)
};
// clang-format on
bool muse_mode = false;
uint8_t last_muse_note = 0;
uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
#ifdef KEYBOARD_planck_ez
void planck_ez_teeth_set(layer_state_t state) {
switch (get_highest_layer(state)) {
case _LOWER:
planck_ez_left_led_level(40);
break;
case _RAISE:
planck_ez_right_led_level(40);
break;
case _ADJUST:
planck_ez_left_led_level(40);
planck_ez_right_led_level(40);
break;
case _GAME_LOWER:
planck_ez_left_led_level(20);
break;
// todo case _GAME_RAISE:
// planck_ez_right_led_level(20);
// break;
case _WORKMAN:
if (IS_LAYER_ON(_GAME)) {
planck_ez_left_led_level(60);
planck_ez_right_led_level(60);
break;
}
default:
planck_ez_left_led_off();
planck_ez_right_led_off();
break;
}
}
layer_state_t layer_state_set_keymap(layer_state_t state) {
planck_ez_left_led_off();
planck_ez_right_led_off();
state = update_tri_layer_state(state, _GAME, _LOWER, _GAME_LOWER);
planck_ez_teeth_set(state);
return state;
}
#endif
bool encoder_update(bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
muse_offset++;
} else {
muse_offset--;
}
} else {
if (clockwise) {
muse_tempo+=1;
} else {
muse_tempo-=1;
}
}
} else {
if (clockwise) {
# ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_DOWN);
# else
tap_code(KC_PGDN);
# endif
} else {
# ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_UP);
# else
tap_code(KC_PGUP);
# endif
}
}
return true;
}
void dip_switch_update_keymap(uint8_t index, bool active) {
switch (index) {
case 0: {
if (active) {
layer_on(_ADJUST);
} else {
layer_off(_ADJUST);
}
break;
}
case 1:
if (active) {
muse_mode = true;
} else {
muse_mode = false;
}
}
}
#ifdef AUDIO_ENABLE
void matrix_scan_keymap(void) {
if (muse_mode) {
if (muse_counter == 0) {
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
if (muse_note != last_muse_note) {
stop_note(compute_freq_for_midi_note(last_muse_note));
play_note(compute_freq_for_midi_note(muse_note), 0xF);
last_muse_note = muse_note;
}
}
muse_counter = (muse_counter + 1) % muse_tempo;
} else {
if (muse_counter) {
stop_all_notes();
muse_counter = 0;
}
}
}
#endif
bool music_mask_keymap(uint16_t keycode) {
switch (keycode) {
case _RAISE:
case _LOWER:
return false;
default:
return true;
}
}

View file

@ -1,7 +0,0 @@
# JJerrell's Planck EZ Layout
As with my other keymaps, this layout is a close adaptation of the Neo keyboard. Obvious differences are that the alpha keymap is Workman and if you're already used to the secondary layers of the Neo keymap, this might be very uncomfortable for you because of slight variations.
The keymap has been setup to pretty much remove the center columns above the spacebar and limit use of the bottom row by supplying paths to removed functionality that are simpler to process mentally and require less finger acrobatics.
My ownership of this keyboard could not have been easily predicted because my original justification of this hobby was health related. I found QMK through the Ergodox EZ and this keyboard is a result of that discovery -- I could not live without some QMK features. As you can see, my problem has come full circle... now I use this keyboard when I'm not at a desk and it's tiny. This is offset by eliminating use of the center columns, relying on a symbol layer almost exclusively, and relying on a navigation layer instead of getting by with the minimum on the alpha layers which became uncomfortable even with the thumbs doing the heavy lifting and mods being comfortably placed on the home row.

View file

@ -1,8 +0,0 @@
SRC += muse.c
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no
EXTRAKEY_ENABLE = yes
TAP_DANCE_ENABLE = no
SPACE_CADET_ENABLE = no
NKRO_ENABLE = no

View file

@ -1,95 +0,0 @@
#include QMK_KEYBOARD_H
enum layers {
_QWERTY,
_LOWER,
_RAISE,
_NUMPAD,
_ADJUST,
};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define NUMPAD TG(_NUMPAD)
#define ADJUST MO(_ADJUST)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_ortho_4x12 (
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
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,KC_RALT,LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
),
[_LOWER] = LAYOUT_ortho_4x12 (
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,KC_VOLD,KC_MUTE,KC_VOLU,KC_F13, KC_F14, KC_F15, KC_PSCR,KC_SCRL,KC_PAUS,_______,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,KC_MPRV,KC_MPLY,KC_MNXT,KC_F16, KC_F17, KC_F18, KC_INS, _______,_______,_______,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
),
[_RAISE] = LAYOUT_ortho_4x12 (
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
KC_TILD,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
KC_CAPS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS,KC_EQL, KC_LBRC,KC_RBRC,KC_BSLS,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_UNDS,KC_PLUS,KC_LCBR,KC_RCBR,KC_PIPE,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,KC_APP, ADJUST, _______,NUMPAD, _______,KC_HOME,KC_PGDN,KC_PGUP,KC_END
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
),
[_NUMPAD] = LAYOUT_ortho_4x12 (
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
NUMPAD, KC_BTN1,KC_MS_U,KC_BTN2,KC_WH_U,_______,_______,KC_P7, KC_P8, KC_P9, KC_PMNS,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,KC_MS_L,KC_MS_D,KC_MS_R,KC_WH_D,_______,_______,KC_P4, KC_P5, KC_P6, KC_PPLS,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,_______,_______,KC_NUM, KC_P1, KC_P2, KC_P3, KC_PSLS,KC_PENT,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,_______,_______,_______,_______,KC_P0, KC_PDOT,KC_PAST,_______
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
),
[_ADJUST] = LAYOUT_ortho_4x12 (
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
_______,QK_BOOT,_______,_______,QK_RBT, _______,_______,_______,_______,_______,_______,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,_______,_______,_______,QK_MAKE,_______,_______,_______,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
),
};
layer_state_t layer_state_set_user(layer_state_t state) {
#ifdef JOTANCK_LEDS
writePin(JOTANCK_LED2, (IS_LAYER_ON_STATE(state, _NUMPAD)));
#endif
return state;
}
bool led_update_user(led_t led_state) {
// NumLock allways on
if (!led_state.num_lock) {
tap_code(KC_NUM_LOCK);
}
#ifdef JOTANCK_LEDS
writePin(JOTANCK_LED1, led_state.caps_lock);
#endif
return true;
}

View file

@ -1,6 +0,0 @@
# Jotix ortho 4x12 keymap
Tested on:
* Planck/rev4
* Jotanck

View file

@ -1,2 +0,0 @@
DYNAMIC_MACRO_ENABLE = yes
BOOTMAGIC_ENABLE = yes

View file

@ -1,38 +0,0 @@
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#endif
/*
* MIDI options
*/
/* 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
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4
// Reduce power consumption for iOS compatibility
#define USB_MAX_POWER_CONSUMPTION 100

View file

@ -1,450 +0,0 @@
#include QMK_KEYBOARD_H
#include "muse.h"
enum planck_layers {
_QWERTY,
_COLEMAK,
_DVORAK,
_LOWER,
_RAISE,
_PLOVER,
_ADJUST,
_FN1,
_DPAD,
_DPADNUM
};
enum planck_keycodes {
QWERTY = SAFE_RANGE,
COLEMAK,
DVORAK,
PLOVER,
BACKLIT,
EXT_PLV,
DP_ON,
DP_OFF
};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define SPACEFN LT(_FN1, KC_SPC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | ESC | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Tab | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | App | Ctrl | GUI | Alt |Lower | SpaceFn |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_4x12(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
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, RSFT_T(KC_ENT),
KC_APP, KC_LCTL, KC_LGUI, KC_LALT, LOWER, SPACEFN, SPACEFN, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Dvorak
* ,-----------------------------------------------------------------------------------.
* | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | O | E | U | I | D | H | T | N | S | / |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT_ortho_4x12(
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
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_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Plover layer (http://opensteno.org)
* ,-----------------------------------------------------------------------------------.
* | # | # | # | # | # | # | # | # | # | # | # | # |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | S | T | P | H | * | * | F | P | L | T | D |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | S | K | W | R | * | * | R | B | G | S | Z |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Exit | | | A | O | | E | U | | | |
* `-----------------------------------------------------------------------------------'
*/
[_PLOVER] = LAYOUT_ortho_4x12(
KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
),
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
* | | Reset| | | | | | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
_______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
// Two personal additional layers below
/* Personal custom Fn layer
* ,-----------------------------------------------------------------------------------.
* | | Vol+ | PgUp | Up | PdDn | Ins | | | Up | | PScr | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | Vol- | Left | Down | Right| Home | | Left | Down |Right | | Del |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | Prev | Play | Next | Brite| End | | | Vol- | Vol+ | Mute | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Caps | | | | | Space | | DP_ON| | | |
* `-----------------------------------------------------------------------------------'
*/
[_FN1] = LAYOUT_ortho_4x12(
_______, KC_VOLU, KC_PGUP, KC_UP, KC_PGDN, KC_INS, _______, _______, KC_UP, _______, KC_PSCR, _______,
_______, KC_VOLD, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL ,
_______, KC_MPRV, KC_MPLY, KC_MNXT, BACKLIT, KC_END, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, DP_ON, _______, _______, _______
),
/* DPAD layer, to activate arrow cluster at the bottom right corner
* ,-----------------------------------------------------------------------------------.
* | ESC | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Tab | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | GUI | Alt | |DNUM | Space | |DP_OFF| Left | Down |Right |
* `-----------------------------------------------------------------------------------'
*/
[_DPAD] = LAYOUT_ortho_4x12(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
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_UP, KC_ENT ,
KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, MO(_DPADNUM),
KC_SPC, KC_SPC, LOWER, DP_OFF, KC_LEFT, KC_DOWN, KC_RGHT
),
// Extended layer for weapon switching
[_DPADNUM] = LAYOUT_ortho_4x12(
XXXXXXX, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, _______, _______, XXXXXXX, MO(_DPADNUM),
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};
#ifdef AUDIO_ENABLE
float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
// Borrowing audio from unused audio
// Caps Lock on and off sound too similar
float caps_song_on[][2] = SONG(NUM_LOCK_ON_SOUND);
float caps_song_off[][2] = SONG(SCROLL_LOCK_ON_SOUND);
float dpad_song_on[][2] = SONG(ODE_TO_JOY);
float dpad_song_off[][2] = SONG(UNICODE_WINDOWS);
#endif
// Disable LED on Rev6
#ifdef KEYBOARD_planck_rev6
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
#else
layer_state_t layer_state_set_user(layer_state_t state) {
// LED control, lighting up when Fn layer is activated
state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
# ifdef BACKLIGHT_ENABLE
switch (get_highest_layer(state)) {
case _QWERTY:
backlight_set(0);
break;
case _FN1:
backlight_set(3);
break;
case _DPAD:
backlight_set(3);
break;
}
# endif
return state;
}
#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
print("mode just switched to qwerty and this is a huge string\n");
set_single_persistent_default_layer(_QWERTY);
}
return false;
break;
case COLEMAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
break;
case DVORAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_DVORAK);
}
return false;
break;
case BACKLIT:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
#ifdef KEYBOARD_planck_rev5
writePinLow(E6);
#endif
} else {
unregister_code(KC_RSFT);
#ifdef KEYBOARD_planck_rev5
writePinHigh(E6);
#endif
}
return false;
break;
case PLOVER:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
stop_all_notes();
PLAY_SONG(plover_song);
#endif
layer_off(_RAISE);
layer_off(_LOWER);
layer_off(_ADJUST);
layer_on(_PLOVER);
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
keymap_config.raw = eeconfig_read_keymap();
keymap_config.nkro = 1;
eeconfig_update_keymap(keymap_config.raw);
}
return false;
break;
case EXT_PLV:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
#endif
layer_off(_PLOVER);
}
return false;
break;
// Play audio upon switching Caps Lock and custom layers
case KC_CAPS:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
if (host_keyboard_led_state().caps_lock) {
PLAY_SONG(caps_song_off);
} else {
PLAY_SONG(caps_song_on);
}
#endif
}
return true;
case DP_ON:
if (record->event.pressed) {
} else {
#ifdef AUDIO_ENABLE
PLAY_SONG(dpad_song_on);
#endif
layer_off(_FN1);
layer_on(_DPAD);
}
case DP_OFF:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(dpad_song_off);
#endif
layer_off(_DPAD);
}
}
return true;
}
bool muse_mode = false;
uint8_t last_muse_note = 0;
uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
muse_offset++;
} else {
muse_offset--;
}
} else {
if (clockwise) {
muse_tempo+=1;
} else {
muse_tempo-=1;
}
}
} else {
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
}
return true;
}
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_song);
#endif
layer_on(_ADJUST);
} else {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
#endif
layer_off(_ADJUST);
}
break;
case 1:
if (active) {
muse_mode = true;
} else {
muse_mode = false;
#ifdef AUDIO_ENABLE
stop_all_notes();
#endif
}
}
return true;
}
void matrix_scan_user(void) {
#ifdef AUDIO_ENABLE
if (muse_mode) {
if (muse_counter == 0) {
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
if (muse_note != last_muse_note) {
stop_note(compute_freq_for_midi_note(last_muse_note));
play_note(compute_freq_for_midi_note(muse_note), 0xF);
last_muse_note = muse_note;
}
}
muse_counter = (muse_counter + 1) % muse_tempo;
}
#endif
}
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
case RAISE:
case LOWER:
return false;
default:
return true;
}
}

View file

@ -1,16 +0,0 @@
# Juno's Universal ortholinear 4x12 Layout
created by Juno Nguyen
## Features:
* **Minimal changes from the default keymap**: to minimize re-adaptation.
* **Top corner Esc**: swapped with Tab.
* **Double function ShiftEnter**: hold for Right Shift; tap for Enter.
* **Removed infrequently used keys**: Euro-specific keys.
* **Custom Fn layer**: inspired by Pok3r and refined over time.
* **SpaceFn**: the ultimate way to Fn.
* **Double arrow clusters**: both Fn + WASD and Fn + IJKL are simultaneously usable for maximum comfort.
* **Gaming-specific layer**: T-inverted arrow cluster shape; swapped Raise and Lower for easy access to numeric keys (for switching weapons in action games); standard-positioned bottom modifiers.
* **LED indicator**: lighting up when Fn or Gaming layer is activated.
* **Audio indicators**: Caps Lock and gaming layer.
Refined since September 2017.

View file

@ -1,14 +0,0 @@
SRC += muse.c
ifeq ($(strip $(KEYBOARD)), planck/rev6)
BACKLIGHT_ENABLE = no
else
BACKLIGHT_ENABLE = yes
endif
MIDI_ENABLE=no
RGBLIGHT_ENABLE = no
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration

View file

@ -1,40 +0,0 @@
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#endif
/*
* MIDI options
*/
/* 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
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4
// Reduce power consumption for iOS compatibility
#define USB_MAX_POWER_CONSUMPTION 100
// Short tap threshold
#define TAPPING_TERM 250

View file

@ -1,379 +0,0 @@
/* Copyright 2023 Juno Nguyen <juno.ngx@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#ifdef AUDIO_ENABLE
# include "muse.h"
#endif
enum planck_layers {
_QWERTY,
_COLEMAK,
_DVORAK,
_LOWER,
_RAISE,
_PLOVER,
_ADJUST,
_FN1,
_DPAD,
_DPADNUM
};
enum planck_keycodes {
QWERTY = SAFE_RANGE,
COLEMAK,
DVORAK,
PLOVER,
BACKLIT,
EXT_PLV,
DP_ON,
DP_OFF
};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define SPACEFN LT(_FN1, KC_SPC)
#define DPADNUM MO(_DPADNUM)
// Homerow mods
#define MD_A LALT_T(KC_A)
#define MD_S LGUI_T(KC_S)
#define MD_D LCTL_T(KC_D)
#define MD_F LSFT_T(KC_F)
#define MD_J RSFT_T(KC_J)
#define MD_K RCTL_T(KC_K)
#define MD_L RGUI_T(KC_L)
#define MD_SCLN RALT_T(KC_SCLN)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_ortho_4x12(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, MD_A, MD_S, MD_D, MD_F, KC_G, KC_H, MD_J, MD_K, MD_L, MD_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, LOWER, SPACEFN, SPACEFN, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
[_COLEMAK] = LAYOUT_ortho_4x12(
KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
_______, KC_LCTL, KC_LGUI, KC_LALT, LOWER, SPACEFN, SPACEFN, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
[_DVORAK] = LAYOUT_ortho_4x12(
KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_QUOT,
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
_______, KC_LCTL, KC_LGUI, KC_LALT, LOWER, SPACEFN, SPACEFN, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
[_LOWER] = LAYOUT_ortho_4x12(
KC_TILD, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_DLR, KC_PERC, KC_CIRC, KC_UNDS, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EXLM, KC_AT, KC_HASH, KC_PLUS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY
),
[_RAISE] = LAYOUT_ortho_4x12(
KC_GRV, _______, _______, KC_LBRC, KC_RBRC, _______, _______, KC_7, KC_8, KC_9, KC_0, _______,
_______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, KC_4, KC_5, KC_6, KC_MINUS, KC_BSLS,
_______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_EQUAL, KC_ENT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY
),
[_PLOVER] = LAYOUT_ortho_4x12(
KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
),
[_ADJUST] = LAYOUT_ortho_4x12(
_______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, AG_NORM, MU_NEXT, AU_ON, AU_OFF, CG_NORM, CG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_FN1] = LAYOUT_ortho_4x12(
KC_APP, DP_ON, KC_PGDN, KC_UP, KC_PGUP, KC_INS, KC_CAPS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______,
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL ,
_______, _______, _______, _______, _______, KC_END, KC_END, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______,
_______, _______, _______, _______, _______, _______, _______, _______, DP_ON, _______, _______, _______
),
// Slightly modified layer with inverted T-shaped directional pad
[_DPAD] = LAYOUT_ortho_4x12(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
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_UP, KC_ENT ,
XXXXXXX, KC_LCTL, KC_LGUI, KC_LALT, DPADNUM, KC_SPC, KC_SPC, DPADNUM, DP_OFF, KC_LEFT, KC_DOWN, KC_RGHT
),
// Extended numeric layer for FPS weapon switching and StarCraft group control
[_DPADNUM] = LAYOUT_ortho_4x12(
KC_LGUI, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DP_OFF, XXXXXXX,
KC_LCTL, _______, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, KC_F10, KC_F11, KC_F12, XXXXXXX,
KC_LSFT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_SLSH, XXXXXXX,
_______, _______, _______, _______, DPADNUM, XXXXXXX, XXXXXXX, DPADNUM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};
#ifdef AUDIO_ENABLE
float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
float caps_song_on[][2] = SONG(NUM_LOCK_ON_SOUND);
float caps_song_off[][2] = SONG(SCROLL_LOCK_ON_SOUND);
// Custom songs for DPAD layer status
float dpad_song_on[][2] = {
HD_NOTE(_A4), HD_NOTE(_A4), HD_NOTE(_A4),
QD_NOTE(_F4), QD_NOTE(_C5), HD_NOTE(_A4),
QD_NOTE(_F4), QD_NOTE(_C5), WD_NOTE(_A4)
};
float dpad_song_off[][2] = {
ED_NOTE(_C6), ED_NOTE(_C6),
ED_NOTE(_C6), ED_NOTE(_C6),
W__NOTE(_REST), QD_NOTE(_GS5),
QD_NOTE(_AS5), Q__NOTE(_C6),
Q__NOTE(_AS5), Q__NOTE(_C6)
};
#endif
layer_state_t layer_state_set_user(layer_state_t state) {
state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
# ifdef BACKLIGHT_ENABLE
// LED control, lighting up when Fn layer is activated
switch (get_highest_layer(state)) {
case _QWERTY:
backlight_set(0);
break;
case _FN1:
backlight_set(3);
break;
case _DPAD:
backlight_set(3);
break;
}
# endif
return state;
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
print("mode just switched to qwerty and this is a huge string\n");
set_single_persistent_default_layer(_QWERTY);
}
return false;
break;
case COLEMAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
break;
case DVORAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_DVORAK);
}
return false;
break;
case BACKLIT:
if (record->event.pressed) {
register_code(KC_RSFT);
# ifdef BACKLIGHT_ENABLE
backlight_step();
# endif
# ifdef KEYBOARD_planck_rev5
writePinLow(E6);
# endif
} else {
unregister_code(KC_RSFT);
# ifdef KEYBOARD_planck_rev5
writePinHigh(E6);
# endif
}
return false;
break;
case PLOVER:
if (record->event.pressed) {
# ifdef AUDIO_ENABLE
stop_all_notes();
PLAY_SONG(plover_song);
# endif
layer_off(_RAISE);
layer_off(_LOWER);
layer_off(_ADJUST);
layer_on(_PLOVER);
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
keymap_config.raw = eeconfig_read_keymap();
keymap_config.nkro = 1;
eeconfig_update_keymap(keymap_config.raw);
}
return false;
break;
case EXT_PLV:
if (record->event.pressed) {
# ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
# endif
layer_off(_PLOVER);
}
return false;
break;
// Play audio upon switching Caps Lock and custom layers
case KC_CAPS:
if (record->event.pressed) {
# ifdef AUDIO_ENABLE
if (host_keyboard_led_state().caps_lock) {
PLAY_SONG(caps_song_off);
} else {
PLAY_SONG(caps_song_on);
}
# endif
}
return true;
case DP_ON:
if (record->event.pressed) {
} else { // only actived upon key release
# ifdef AUDIO_ENABLE
PLAY_SONG(dpad_song_on);
# endif
layer_off(_FN1);
layer_on(_DPAD);
}
case DP_OFF:
if (record->event.pressed) {
# ifdef AUDIO_ENABLE
PLAY_SONG(dpad_song_off);
# endif
layer_off(_DPAD);
}
}
return true;
}
bool muse_mode = false;
uint8_t last_muse_note = 0;
uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
muse_offset++;
} else {
muse_offset--;
}
} else {
if (clockwise) {
muse_tempo += 1;
} else {
muse_tempo -= 1;
}
}
} else {
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
}
return true;
}
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
# ifdef AUDIO_ENABLE
PLAY_SONG(plover_song);
# endif
layer_on(_ADJUST);
} else {
# ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
# endif
layer_off(_ADJUST);
}
break;
case 1:
if (active) {
muse_mode = true;
} else {
muse_mode = false;
# ifdef AUDIO_ENABLE
stop_all_notes();
# endif
}
}
return true;
}
void matrix_scan_user(void) {
#ifdef AUDIO_ENABLE
if (muse_mode) {
if (muse_counter == 0) {
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
if (muse_note != last_muse_note) {
stop_note(compute_freq_for_midi_note(last_muse_note));
play_note(compute_freq_for_midi_note(muse_note), 0xF);
last_muse_note = muse_note;
}
}
muse_counter = (muse_counter + 1) % muse_tempo;
}
#endif
}
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
case RAISE:
case LOWER:
return false;
default:
return true;
}
}
#ifdef RGBLIGHT_ENABLE
void keyboard_post_init_user(void) {
rgblight_enable_noeeprom(); // Enables RGB, without saving settings
// Vibrant cyan
rgblight_sethsv_noeeprom(HSV_SPRINGGREEN);
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
}
#endif

View file

@ -1,17 +0,0 @@
# junonum
A universal ortholinear 4x12 keymap created by Juno Nguyen
## Features:
* Successor to *juno*.
* Numpad-like cluster for numerics.
* ESDF and IJKL arrow cluster from SpaceFn for navigation.
* ~~CtrlTab for even more HHKB-ness.~~
* Audio indicator for Caps Lock.
* Huge amount of omissions of redundant keys.
* minimalism (not really).
* DPAD layer for gaming with inverted T-shaped direction keys.
* DPADNUM secondary layer tailored for StarCraft group control and FPS weapon switching.
* Homerow mods for even less movement
* Toggle Control and GUI swap instead of default Alt and GUI to better accommodate switching between Windows/Linux and Mac
Refined since Oct 2019

View file

@ -1,22 +0,0 @@
ifeq ($(strip $(AUDIO_ENABLE)), yes)
SRC += muse.c
endif
ifeq ($(strip $(KEYBOARD)),$(filter $(strip $(KEYBOARD)), planck/rev2 planck/rev3 planck/rev4 planck/rev5))
BACKLIGHT_ENABLE = yes
else
BACKLIGHT_ENABLE = no
endif
ifeq ($(strip $(KEYBOARD)), vitamins_included/rev1)
NKRO_ENABLE = no
endif
MIDI_ENABLE=no
RGBLIGHT_ENABLE = no
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite

View file

@ -1,47 +0,0 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#if defined MIRYOKU_MAPPING_SPLIT
#define LAYOUT_miryoku(\
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\
N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\
)\
LAYOUT_ortho_4x12(\
KC_NO, K01, K02, K03, K04, KC_NO, KC_NO, K05, K06, K07, K08, KC_NO,\
K00, K11, K12, K13, K14, KC_NO, KC_NO, K15, K16, K17, K18, K09,\
K10, K21, K22, K23, K24, KC_NO, KC_NO, K25, K26, K27, K28, K19,\
K20, KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO, K29\
)
#elif defined MIRYOKU_MAPPING_EXTENDED_THUMBS
#define LAYOUT_miryoku(\
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\
N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\
)\
LAYOUT_ortho_4x12(\
K00, K01, K02, K03, K04, KC_NO, KC_NO, K05, K06, K07, K08, K09,\
K10, K11, K12, K13, K14, KC_NO, KC_NO, K15, K16, K17, K18, K19,\
K20, K21, K22, K23, K24, KC_NO, KC_NO, K25, K26, K27, K28, K29,\
KC_NO, KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO, KC_NO\
)
#else
#define LAYOUT_miryoku(\
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\
N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\
)\
LAYOUT_ortho_4x12(\
K00, K01, K02, K03, K04, KC_NO, KC_NO, K05, K06, K07, K08, K09,\
K10, K11, K12, K13, K14, KC_NO, KC_NO, K15, K16, K17, K18, K19,\
K20, K21, K22, K23, K24, KC_NO, KC_NO, K25, K26, K27, K28, K29,\
KC_NO, KC_NO, K32, K33, K34, KC_NO, KC_NO, K35, K36, K37, KC_NO, KC_NO\
)
#endif

View file

@ -1,4 +0,0 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

View file

@ -1,36 +0,0 @@
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#endif
/*
* MIDI options
*/
/* 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
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4

View file

@ -1,354 +0,0 @@
/* Copyright 2015-2017 Jack Humbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "muse.h"
#include "mguterl.h"
extern keymap_config_t keymap_config;
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* |HypTab| Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |EscCtl| A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | GESC | Ctrl | Alt | GUI |Lower |SpcUtl|SpcUtl|Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_4x12(
HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
ESC_CTL, 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, SFT_ENT,
QK_GESC, KC_LCTL, KC_LALT, KC_LGUI, LOWER, SPC_UTL, SPC_UTL, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/*
* Gaming is very similar to Qwerty. Certain features from Qwerty are disable
* for better gaming experience.
*/
[_GAMING] = LAYOUT_ortho_4x12(
KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_ESC, _______, _______, _______, _______, KC_SPC, KC_SPC, _______, _______, _______, _______, _______
),
/*
* Util is accessed by holding Space. The Util layer contains vimkeys and
* shortcuts that I find myself needing often.
*/
[_UTIL] = LAYOUT_ortho_4x12(
_______, GUI_1, GUI_2, GUI_3, GUI_4, GUI_5, GUI_6, GUI_7, GUI_8, GUI_9, GUI_0, _______,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, GO_BACK, GO_FWD, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Dvorak
* ,-----------------------------------------------------------------------------------.
* | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | O | E | U | I | D | H | T | N | S | / |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT_ortho_4x12(
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
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_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | - | = | [ | ] | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | |Pg Up |Pg Dn | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, 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_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Plover layer (http://opensteno.org)
* ,-----------------------------------------------------------------------------------.
* | # | # | # | # | # | # | # | # | # | # | # | # |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | S | T | P | H | * | * | F | P | L | T | D |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | S | K | W | R | * | * | R | B | G | S | Z |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Exit | | | A | O | | E | U | | | |
* `-----------------------------------------------------------------------------------'
*/
[_PLOVER] = LAYOUT_ortho_4x12(
KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
),
/* Adjust (Lower + Raise)
* v------------------------RGB CONTROL--------------------v
* ,-----------------------------------------------------------------------------------.
* |ToGame| Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
TG_GAME, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
#ifdef AUDIO_ENABLE
float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
print("mode just switched to qwerty and this is a huge string\n");
set_single_persistent_default_layer(_QWERTY);
}
return false;
break;
case COLEMAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
break;
case DVORAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_DVORAK);
}
return false;
break;
case BACKLIT:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
#ifdef KEYBOARD_planck_rev5
writePinLow(E6);
#endif
} else {
unregister_code(KC_RSFT);
#ifdef KEYBOARD_planck_rev5
writePinHigh(E6);
#endif
}
return false;
break;
case PLOVER:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
stop_all_notes();
PLAY_SONG(plover_song);
#endif
layer_off(_RAISE);
layer_off(_LOWER);
layer_off(_ADJUST);
layer_on(_PLOVER);
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
keymap_config.raw = eeconfig_read_keymap();
keymap_config.nkro = 1;
eeconfig_update_keymap(keymap_config.raw);
}
return false;
break;
case EXT_PLV:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
#endif
layer_off(_PLOVER);
}
return false;
break;
}
return true;
}
bool muse_mode = false;
uint8_t last_muse_note = 0;
uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
muse_offset++;
} else {
muse_offset--;
}
} else {
if (clockwise) {
muse_tempo+=1;
} else {
muse_tempo-=1;
}
}
} else {
if (clockwise) {
#ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_DOWN);
#else
tap_code(KC_PGDN);
#endif
} else {
#ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_UP);
#else
tap_code(KC_PGUP);
#endif
}
}
return true;
}
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
static bool play_sound = false;
#endif
if (active) {
#ifdef AUDIO_ENABLE
if (play_sound) { PLAY_SONG(plover_song); }
#endif
layer_on(_ADJUST);
} else {
#ifdef AUDIO_ENABLE
if (play_sound) { PLAY_SONG(plover_gb_song); }
#endif
layer_off(_ADJUST);
}
#ifdef AUDIO_ENABLE
play_sound = true;
#endif
break;
}
case 1:
if (active) {
muse_mode = true;
} else {
muse_mode = false;
}
}
return true;
}
void matrix_scan_user(void) {
#ifdef AUDIO_ENABLE
if (muse_mode) {
if (muse_counter == 0) {
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
if (muse_note != last_muse_note) {
stop_note(compute_freq_for_midi_note(last_muse_note));
play_note(compute_freq_for_midi_note(muse_note), 0xF);
last_muse_note = muse_note;
}
}
muse_counter = (muse_counter + 1) % muse_tempo;
} else {
if (muse_counter) {
stop_all_notes();
muse_counter = 0;
}
}
#endif
}
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
case RAISE:
case LOWER:
return false;
default:
return true;
}
}

View file

@ -1,20 +0,0 @@
# Michael Guterl's Ortho 4x12 Layout
I use this layout for both my Planck and Levinson. I also have a very similar
[keymap](/keyboards/preonic/keymaps/mguterl) for my Preonic.
Check out my [userspace](/users/mguterl) for the custom keycodes that are used
in keymap.c.
At a very high level I use 4 layers:
* Qwerty - Letters
* Util - Vimkeys for navigation and other convenient things
* Raise - Numbers and F keys
* Lower - Symbols
```sh
make planck/rev5:mguterl:flash # For Planck rev5 or earlier and Planck Light
make planck/rev6:mguterl:flash # For Planck rev6
make keebio/levinson/rev2:mguterl:dfu # For Levinson rev2
```

View file

@ -1 +0,0 @@
SRC += muse.c

View file

@ -1,34 +0,0 @@
#pragma once
#define ADVENTURE_TIME \
H__NOTE(_F5), \
Q__NOTE(_F5), \
H__NOTE(_F5), \
H__NOTE(_G5), \
H__NOTE(_E5), \
H__NOTE(_E5), \
H__NOTE(_D5), \
H__NOTE(_C5), \
HD_NOTE(_C6),
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(ADVENTURE_TIME)
#define AUDIO_CLICKY
#define AUDIO_CLICKY_ON
#define AUDIO_CLICKY_DELAY_DURATION 0
#define AUDIO_CLICKY_FREQ_MAX 2500.0f
#define AUDIO_CLICKY_FREQ_RANDOMNESS 0.3f
#define AUDIO_CLICKY_FREQ_DEFAULT 880.0f
#endif
// for some reason the LSvi rev1 disables action tapping...
#ifdef NO_ACTION_TAPPING
#undef NO_ACTION_TAPPING
#endif
#undef BACKLIGHT_LEVELS
#define BACKLIGHT_LEVELS 15
// let's split configuration:
#define USE_I2C
#define EE_HANDS

View file

@ -1,5 +0,0 @@
#pragma once
void flicker_toggle(void);
void flicker_keydown(void);
void flicker_keyup(void);

View file

@ -1,222 +0,0 @@
#include QMK_KEYBOARD_H
#ifdef BACKLIGHT_ENABLE
#include "flicker.h"
#endif
extern keymap_config_t keymap_config;
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum planck_layers {
_QWERTY,
_LOWER,
_RAISE,
_ADJUST
};
// keycodes custom to this keymap:
enum planck_keycodes {
QWERTY = SAFE_RANGE,
BL_FLICKER
};
// flicker state:
#ifdef BACKLIGHT_ENABLE
bool flicker_enable = true;
bool flicker_isdown = false;
const uint8_t flicker_min_levels = 2;
const uint8_t flicker_max_levels = 7;
uint8_t flicker_restore_level = 0;
#endif
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
// mod tap definitions:
#define CTRL_ESC MT(MOD_LCTL, KC_ESC)
#define HYPR_SPC MT(MOD_HYPR, KC_SPC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | Del | GUI | Alt |Lower |HyprSp|Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
CTRL_ESC, 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_MPLY, KC_DEL, KC_LGUI, KC_LALT, LOWER, HYPR_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
* | | Reset| | | | | | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | |Aud on|Audoff|AGnorm|AGswap| | | | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | |Clicky|ClkDn |ClkUp |ClkRst|
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
_______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, BL_TOGG, BL_DOWN, BL_UP, BL_FLICKER,
_______, _______, _______, _______, _______, _______, _______, _______, CK_TOGG, CK_DOWN, CK_UP, CK_RST
),
}; // end keymaps
// if backlighting is enabled, configure it on boot
#ifdef BACKLIGHT_ENABLE
void matrix_init_user(void) {
// set to max
backlight_level(BACKLIGHT_LEVELS);
flicker_restore_level = get_backlight_level();
// if breathing happens to be compiled in, turn it off
#ifdef BACKLIGHT_BREATHING
breathing_disable();
#endif
}
#endif
void persistant_default_layer_set(uint16_t default_layer) {
eeconfig_update_default_layer(default_layer);
default_layer_set(default_layer);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// handle the _ADJUST layer and custom keycodes:
switch (keycode) {
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
#ifdef BACKLIGHT_ENABLE
case BL_FLICKER:
if (record->event.pressed) {
flicker_toggle();
}
return false;
break;
#endif
} // end switch case over custom keycodes
#ifdef BACKLIGHT_ENABLE
if (flicker_enable) {
if (record->event.pressed) {
flicker_keydown();
} else {
flicker_keyup();
}
}
#endif
return true;
}
bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
register_code(KC_VOLU);
unregister_code(KC_VOLU);
} else {
register_code(KC_VOLD);
unregister_code(KC_VOLD);
}
return true;
}
// flicker implementation:
#ifdef BACKLIGHT_ENABLE
void flicker_toggle(void) {
flicker_enable = !flicker_enable;
}
void flicker_keydown(void) {
// guard condition: only set the level to restore if the flicker is NOT already down
if (!flicker_isdown) {
flicker_restore_level = get_backlight_level();
flicker_isdown = true;
}
// calculate a random flicker level between min and max
uint8_t flicker_level = (rand() % (flicker_max_levels - flicker_min_levels)) + flicker_min_levels;
uint8_t level_to_set = flicker_level <= flicker_restore_level ? flicker_restore_level - flicker_level : 0;
backlight_level(level_to_set);
}
void flicker_keyup(void) {
backlight_level(flicker_restore_level);
flicker_isdown = false;
}
#endif

View file

@ -1,19 +0,0 @@
# Josh's 4x12 layout
Notable features:
* Esc is Ctrl on hold
* Left space is `MOD_HYPER` on hold
* Backspace is still backspace on `RAISE` and `LOWER`
* Faux clicky controls are on the arrow keys on the `ADJUST` layer, and the backlight controls are directly above that
* Backlight breathing is disabled; backlight flickering is implemented instead
* Colemak and other layouts are thoroughly disabled
* Rotary encoder controls media volume on base layer
This layout has been tested on:
* Let's Split (rev 2)
* Let's Split Vitamins Included (rev 1)
* Planck (rev 4)
It builds for the Planck rev 6 but has not been tested yet.

View file

@ -1,26 +0,0 @@
# none of my keyboards need LTO and it screws up I2C on my LSVI:
EXTRAFLAGS:=$(filter-out -flto,$(EXTRAFLAGS))
# turning off backlighting and audio for the split keebs
ifneq (,$(findstring lets_split,$(KEYBOARD)))
BACKLIGHT_ENABLE = no
BACKLIGHT_BREATHING = no
AUDIO_ENABLE = no
endif
ifneq (,$(findstring vitamins_included,$(KEYBOARD)))
BACKLIGHT_ENABLE = no
BACKLIGHT_BREATHING = no
AUDIO_ENABLE = no
endif
# both my plancks use audio but only the rev4 has backlighting
ifneq (,$(findstring planck,$(KEYBOARD)))
ifneq (,$(findstring rev4,$(KEYBOARD)))
BACKLIGHT_ENABLE = yes
BACKLIGHT_BREATHING = no
else
BACKLIGHT_ENABLE = no
BACKLIGHT_BREATHING = no
endif
AUDIO_ENABLE = yes
endif

View file

@ -1,23 +0,0 @@
/* Copyright 2018-2022 TheAmarin (@theamarin)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
// Tune the tapping term for dual-use `y`/`MOD3` key
#define TAPPING_TERM 150
#define NO_ACTION_ONESHOT
#define NO_MUSIC_MODE

View file

@ -1,175 +0,0 @@
/* Copyright 2018-2022 TheAmarin (@theamarin)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "keymap_german.h"
enum custom_keycodes {
NEO2 = SAFE_RANGE,
QWERTZ,
};
enum custom_layers {
L_NEO, // NEO2
L_QWZ, // QWERTZ
L_COD, // NEO2 Layer 3 (Coding layer using right MOD3)
L_COD_AT, // NEO2 Layer 3 (Coding layer using left MOD3, with @)
L_MOV, // NEO2 Layer 4 (Movements)
L_FUN, // Function and media keys
};
#define MCOD MO(L_COD)
#define MCODAT MO(L_COD_AT)
#define MMOV MO(L_MOV)
#define MFUN MO(L_FUN)
#define YMCOD LT(L_COD, DE_Y)
#define AEMCOD MT(DE_HASH, DE_ADIA)
#define RALTF LM(L_FUN, MOD_RALT)
#define LALTTAB LALT(KC_TAB)
#define RALTTAB RALT(KC_TAB)
#define ME_MAXM LCTL(LGUI(KC_UP))
#if defined(SWAP_HANDS_ENABLE)
#define SWAPH SH_MON
#else
#define SWAPH KC_TRNS
#endif
#define ____ KC_TRNS
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[L_NEO] = LAYOUT_ortho_4x12(
//,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
KC_TAB , DE_X , DE_V , DE_L , DE_C , DE_W , DE_K , DE_H , DE_G , DE_F , DE_Q , DE_SS ,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
MCODAT , DE_U , DE_I , DE_A , DE_E , DE_O , DE_S , DE_N , DE_R , DE_T , DE_D , YMCOD ,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
KC_LSFT,DE_UDIA,DE_ODIA,DE_ADIA, DE_P , DE_Z , DE_B , DE_M ,DE_COMM, DE_DOT, DE_J ,KC_RSFT,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
KC_LCTL,KC_LGUI,KC_LALT, SWAPH , MFUN , MMOV , KC_SPACE, SWAPH , MFUN , KC_APP, RALTF ,KC_RCTL
//`-------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+-------'
),
[L_QWZ] = LAYOUT_ortho_4x12(
//,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
KC_TAB , DE_Q , DE_W , DE_E , DE_R , DE_T , DE_Z , DE_U , DE_I , DE_O , DE_P ,DE_UDIA,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
KC_CAPS, DE_A , DE_S , DE_D , DE_F , DE_G , DE_H , DE_J , DE_K , DE_L ,DE_ODIA,AEMCOD ,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
KC_LSFT, DE_Y , DE_X , DE_C , DE_V , DE_B , DE_N , DE_M ,DE_COMM, DE_DOT, DE_SS ,KC_RSFT,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
KC_LCTL,KC_LGUI,KC_LALT, ____ , MFUN , MMOV , KC_SPACE, ____ ,KC_RALT,KC_APP , RALTF ,KC_RCTL
//`-------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+-------'
),
[L_COD] = LAYOUT_ortho_4x12(
//,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
DE_ACUT,DE_EURO,DE_UNDS,DE_LBRC,DE_RBRC,DE_CIRC, DE_EXLM,DE_LABK,DE_RABK,DE_EQL, DE_AMPR, DE_GRV,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ ,DE_BSLS,DE_SLSH,DE_LCBR,DE_RCBR,DE_ASTR, DE_QUES,DE_LPRN,DE_RPRN,DE_MINS,DE_COLN, ____ ,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ ,DE_HASH, DE_DLR,DE_PIPE,DE_TILD,DE_ACUT, DE_PLUS,DE_PERC,DE_DQUO,DE_QUOT,DE_SCLN, ____ ,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____
//`-------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+-------'
),
[L_COD_AT] = LAYOUT_ortho_4x12(
//,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
DE_ACUT,DE_EURO,DE_UNDS,DE_LBRC,DE_RBRC,DE_CIRC, DE_EXLM,DE_LABK,DE_RABK,DE_EQL, DE_AMPR, DE_GRV,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ ,DE_BSLS,DE_SLSH,DE_LCBR,DE_RCBR,DE_ASTR, DE_QUES,DE_LPRN,DE_RPRN,DE_MINS,DE_COLN, DE_AT ,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ ,DE_HASH, DE_DLR,DE_PIPE,DE_TILD,DE_ACUT, DE_PLUS,DE_PERC,DE_DQUO,DE_QUOT,DE_SCLN, ____ ,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____
//`-------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+-------'
),
[L_MOV] = LAYOUT_ortho_4x12(
//,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
____ ,KC_PGUP,KC_BSPC, KC_UP ,KC_DEL, KC_PGDN, ____ , KC_7 , KC_8 , KC_9 ,DE_PLUS,DE_MINS,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ ,KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_END , ____ , KC_4 , KC_5 , KC_6 ,DE_COMM, DE_DOT,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ ,KC_ESC ,KC_TAB ,KC_INS, KC_ENTER,____ , KC_0 , KC_1 , KC_2 , KC_3 ,DE_SCLN, ____ ,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ , ____ , ____ , ____ , ____ , ____ , ____ , KC_0 , ____ , ____ , ____ , ____
//`-------+-------+-------+-------+-------+-------' `-------+-------+-------+-------+-------+-------'
),
[L_FUN] = LAYOUT_ortho_4x12(
//,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
____ , AU_ON ,KC_VOLD,ME_MAXM,KC_VOLU, ____ , DM_REC1, KC_F7 , KC_F8 , KC_F9 , KC_F12,KC_PSCR,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ ,KC_MSTP,KC_MPRV,KC_MPLY,KC_MNXT, NEO2 , DM_RSTP, KC_F4 , KC_F5 , KC_F6 , KC_F11,KC_BRK ,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ , AU_OFF,KC_TAB ,KC_INS ,KC_ENTER,QWERTZ, DM_PLY1, KC_F1 , KC_F2 , KC_F3 , KC_F10, ____ ,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____ , ____
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
),
};
#if defined(AUDIO_ENABLE)
float SONG_QWERTZ[][2] = SONG(QWERTY_SOUND);
float SONG_NEO2[][2] = SONG(DVORAK_SOUND);
#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTZ:
if (record->event.pressed) {
default_layer_set(1UL<<L_QWZ);
#if defined(AUDIO_ENABLE)
PLAY_SONG(SONG_QWERTZ);
#endif
}
return false;
case NEO2:
if (record->event.pressed) {
default_layer_set(1UL<<L_NEO);
#if defined(AUDIO_ENABLE)
PLAY_SONG(SONG_NEO2);
#endif
}
return false;
}
return true;
}
#if defined(BACKLIGHT_ENABLE)
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case L_COD:
case L_COD_AT:
backlight_set(1);
break;
case L_MOV:
backlight_set(3);
break;
default:
backlight_set(0);
break;
}
return state;
}
#endif

View file

@ -1,105 +0,0 @@
TheAmarin's Neo2-based Layout
================================
This layout is based on [Neo2](https://www.neo-layout.org/), an ergonomic keyboard layout optimized for coding and German language.
**neo2marin** tries to squeeze Neo2 onto the Planck keyboard.
Neo2 already uses several layers with multiple modifiers, so we don't have to invent new layers.
A major difficulty is the missing 'hashtag' key which is usually left to the 'return' key on German QWERTZ keyboards.
Another astonishing thing might be that `return`/`enter` needs a modifier (`MOD4`+`P`).
This layout makes heavy use of the split `space` key, as its left part becomes the quite important `MOD4` modifier.
## The Neo2 Main Layer
```
|----+----+----+----+----+----| |----+----+----+----+----+------|
|TAB | X | V | L | C | W | | K | H | G | F | Q | SS |
|----+----+----+----+----+----| |----+----+----+----+----+------|
|MOD3| U | I | A | E | O | | S | N | R | T | D |Y/MOD3|
|----+----+----+----+----+----| |----+----+----+----+----+------|
|LSFT| Ü | Ö | Ä | P | Z | | B | M | , | . | J |RSFT |
|----+----+----+----+----+----| |----+----+----+----+----+------|
|LCTL|LGUI|LALT|SWAP|MOD5|MOD4| |SPC |SWAP|MOD5|APP |RALT|RCTL |
|----+----+----+----+----+----| |----+----+----+----+----+------|
```
Unfortunately, `y` and `MOD3` (switch to layer 3) need to share a single key.
This works for me most of the time but I am happy [to learn about your solution](https://github.com/theamarin/qmk_firmware/issues)!
## The QWERTZ fallback layer
I nearly never use this layer, so there may be room for optimization.
```
|----+----+----+----+----+----| |----+----+----+----+----+------|
|TAB | Q | W | E | R | T | | Z | U | I | O | P | Ü |
|----+----+----+----+----+----| |----+----+----+----+----+------|
|CAPS| A | S | D | F | G | | H | J | K | L | Ö |Ä/MOD3|
|----+----+----+----+----+----| |----+----+----+----+----+------|
|LSFT| Y | X | C | V | B | | N | M | , | . | SS |RSFT |
|----+----+----+----+----+----| |----+----+----+----+----+------|
|LCTL|LGUI|LALT|SWAP|MOD5|MOD4| |SPC |SWAP|RALT|APP |RALT|RCTL |
|----+----+----+----+----+----| |----+----+----+----+----+------|
```
The German `ß` has moved right to the `.` key, and we have to reuse `Ä` for `MOD3` again.
## MOD3: The Coding Layer
This is definitively the coolest part of Neo2, having most of the coding-related symbols right on your home row!
Of course, this is the only way to do it on Planck.
```
|----+----+----+----+----+----| |----+----+----+----+----+----|
|' | € | _ | [ | ] | ^ | | ! | < | > | = | & | ` |
|----+----+----+----+----+----| |----+----+----+----+----+----|
|MOD3, \ | / | { | } | * | | ? | ( | ) | - | : | @ |
|----+----+----+----+----+----| |----+----+----+----+----+----|
|LSFT, # | $ | | | ~ | ' | | + | % | " | ' | ; |RSFT|
|----+----+----+----+----+----| |----+----+----+----+----+----|
|LCTL|LGUI|LALT|SWAP|MOD5|MOD4| |SPC |SWAP|MOD5|APP |RALT|RCTL|
|----+----+----+----+----+----| |----+----+----+----+----+----|
```
Because `y` and `MOD3` have to share a key, we need two variants of the MOD3 layer (as can be seen in the keymap).
## MOD4: The Movements Layer
```
|----+----+----+----+----+----| |----+----+----+----+----+----|
| |PGUP|BSPC| UP |DEL |PGDN| | | 7 | 8 | 9 | + | - |
|----+----+----+----+----+----| |----+----+----+----+----+----|
| |HOME|LEFT|DOWN|RGHT|END | | | 4 | 5 | 6 | , | . |
|----+----+----+----+----+----| |----+----+----+----+----+----|
| |ESC |TAB |INS |ENTR| | | 0 | 1 | 2 | 3 | ; | |
|----+----+----+----+----+----| |----+----+----+----+----+----|
| | | | | | | | | 0 | | | | |
|----+----+----+----+----+----| |----+----+----+----+----+----|
```
## MOD5: The Fun(ctions) Layer
```
|----+----+----+----+----+----| |----+----+----+----+----+----|
| |AUD1|VOLD|MAXM|VOLU| | |M1R | F7 | F8 | F9 |F12 |PSCR|
|----+----+----+----+----+----| |----+----+----+----+----+----|
| |MSTP|MPRV|MPLY|MNXT|NEO2| |M1S | F4 | F5 | F6 |F11 |BRK |
|----+----+----+----+----+----| |----+----+----+----+----+----|
| |AUD0|TAB |INS |ENTR|QWERTZ |M1P | F1 | F2 | F3 |F10 | |
|----+----+----+----+----+----| |----+----+----+----+----+----|
| | | | | | | | | | | | | |
|----+----+----+----+----+----| |----+----+----+----+----+----|
```
Have fun!
[Your feedback is appreciated](https://github.com/theamarin/qmk_firmware/issues)!

View file

@ -1,6 +0,0 @@
DYNAMIC_MACRO_ENABLE = yes
ifeq ($(strip $(KEYBOARD)), planck/rev5)
AUDIO_ENABLE = yes
BACKLIGHT_ENABLE = yes
endif

View file

@ -1,73 +0,0 @@
/* Copyright 2020 Paul James
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define USE_2U_SPACE 1
#include QMK_KEYBOARD_H
#include "peej.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_PEEJ(
BASE_ROW_2,
BASE_ROW_3,
BASE_ROW_4,
BASE_ROW_5
),
[_SYMBOL] = LAYOUT_PEEJ(
SYMBOL_ROW_2,
SYMBOL_ROW_3,
SYMBOL_ROW_4,
SYMBOL_ROW_5
),
[_FUNCTION] = LAYOUT_PEEJ(
FUNCTION_ROW_2,
FUNCTION_ROW_3,
FUNCTION_ROW_4,
FUNCTION_ROW_5
),
[_ADJUST] = LAYOUT_PEEJ(
ADJUST_ROW_2,
ADJUST_ROW_3,
ADJUST_ROW_4,
ADJUST_ROW_5
)
};
layer_state_t layer_state_set_user(layer_state_t state) {
#if defined(LED_RED) && defined(LED_GREEN)
writePinLow(LED_RED);
writePinLow(LED_GREEN);
switch (get_highest_layer(state)) {
case _FUNCTION:
writePinHigh(LED_RED);
break;
case _SYMBOL:
writePinHigh(LED_GREEN);
break;
case _ADJUST:
writePinHigh(LED_RED);
writePinHigh(LED_GREEN);
break;
}
#endif
return state;
}

View file

@ -1 +0,0 @@
#pragma once

View file

@ -1,52 +0,0 @@
#include QMK_KEYBOARD_H
#include "rs.h"
// Used to create a keymap using only KC_ prefixed keys
#define LAYOUT_kc( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
) \
LAYOUT_ortho_4x12( \
KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b, \
KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b, \
KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b, \
KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b \
)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_kc(
// ,-----------------------------------------------------------------------------------.
TAB , Q , W , E , R , T , Y , U , I , O , P , EQL ,
// |------+------+------+------+------+------+------+------+------+------+------+------|
ESCC , A , S , D , F , G , H , J , K , L , SCLN , QUOT ,
// |------+------+------+------+------+------+------+------+------+------+------+------|
LSFT , Z , X , C , V , B , N , M , COMM , DOT , SLSH , ENTS ,
// |------+------+------+------+------+------+------+------+------+------+------+------|
TRNS , TRNS , LCTL , LALT , LGUI , SPC , SPC , BCOD , FN , TRNS , LEFT , RGHT
// `-----------------------------------------------------------------------------------'
),
[_CODE] = LAYOUT_kc(
// ,-----------------------------------------------------------------------------------.
GRV , EXLM , AT , HASH , DLR , PERC , CIRC , LPLT , ASTR , RPGT , NEQL , TRNS ,
// |------+------+------+------+------+------+------+------+------+------+------+------|
TRNS , 1 , 2 , 3 , 4 , 5 , MINS , LBRC , UP , RBRC , TRNS , BSLS ,
// |------+------+------+------+------+------+------+------+------+------+------+------|
TRNS , 6 , 7 , 8 , 9 , 0 , AMPR , LEFT , DOWN , RGHT , TRNS , PIPE ,
// |------+------+------+------+------+------+------+------+------+------+------+------|
TRNS , TRNS , TRNS , TRNS , TRNS , DOT , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS
// `-----------------------------------------------------------------------------------'
),
[_FN] = LAYOUT_kc(
// ,-----------------------------------------------------------------------------------.
TRNS , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 , F10 , F11 ,
// |------+------+------+------+------+------+------+------+------+------+------+------|
BLTG , BLUP , TRNS , TRNS , TRNS , BRMU , VOLU , TRNS , PGUP , TRNS , TRNS , TRNS ,
// |------+------+------+------+------+------+------+------+------+------+------+------|
BLTG , BLDN , TRNS , TRNS , RST , BRMD , VOLD , CTRA , PGDN , CTRE , TRNS , TRNS ,
// |------+------+------+------+------+------+------+------+------+------+------+------|
TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , MUTE , TRNS , TRNS , TRNS , TRNS , TRNS
// `-----------------------------------------------------------------------------------'
),
};

View file

@ -1 +0,0 @@
See [rs readme](../../../../users/rs/readme.md).

View file

@ -1,75 +0,0 @@
# Symbolic ortho 4x12 layout
## Features
### QWERTY based
![QWERTY layout](https://gist.githubusercontent.com/leico/5bf4d9ff94f2068c5333739f7f1f88b4/raw/2af7fed6f282b6ac278e79433d15887f6b91ba3a/QWERTY.png)
* Default keymap
* QWERTY layout
* Hold and tap
* `Left Ctrl` and `Tab`
* Symmetric Modifiers
* `Shift`
* `Raise Layer`
* `Lower Layer`
* `GUI`
### symbol charactor layer
![Raise layout](https://gist.githubusercontent.com/leico/5bf4d9ff94f2068c5333739f7f1f88b4/raw/2af7fed6f282b6ac278e79433d15887f6b91ba3a/Raise.png)
* Raise Layer
* assigned symbolic(punctuation) characters
* as could as possible, related neighbor keys
* brackets
* quotes
* operators
* slashes
* related default layer keys
* colons
* exclamation and question
* thus above features, easy learn keymapping
* transparent all modifiers
### numbers and allows layer
![Lower layout](https://gist.githubusercontent.com/leico/5bf4d9ff94f2068c5333739f7f1f88b4/raw/2af7fed6f282b6ac278e79433d15887f6b91ba3a/Lower.png)
* Lower Layer
* entrust vim style arrows
* also numkeys
* additional, computer volume keys
* transparent all modifiers
* **changed 2018/09/04**
* assign keys
* Home
* Page Down
* Page Up
* End
* Print Screen
### Numpads and F key layer
![Neutral layout](https://gist.githubusercontent.com/leico/5bf4d9ff94f2068c5333739f7f1f88b4/raw/2af7fed6f282b6ac278e79433d15887f6b91ba3a/Neutral.png)
* visibled when Raise and Lower layer visibled
* F keys assigned left hand side
* Numpads assigned right hand side
* for that reason, override `RGUI` key
* transparent mostly modifiers
* visibled `Reset` key on both hands
### Goals
* release a right little finger from symbols
* entrust more symbols for a left hand
* simple, minimal, easy learn
* as soon as possible, don't disable any shortcuts
### suggestions or find issues
[post issues for my fork](https://github.com/leico/qmk_firmware/issues)

View file

@ -1,35 +0,0 @@
/*
This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Select hand configuration */
//#define MASTER_LEFT
// #define MASTER_RIGHT
#define EE_HANDS
#ifdef AUDIO_ENABLE
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(DVORAK_SOUND), \
SONG(COLEMAK_SOUND) \
}
#endif

View file

@ -1,229 +0,0 @@
#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
#define _QWERTY 0
#define _LOWER 1
#define _RAISE 2
#define _NEUTRAL 3
enum custom_keycodes {
QWERTY = SAFE_RANGE,
L_LOWER,
R_LOWER,
L_RAISE,
R_RAISE
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,------------------------------------------------------------------------------------.
* | | | | | | || | | | | | |
* | Esc | Q | W | E | R | T || Y | U | I | O | P | Bksp |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* |LCTL_T| | | | | || | | | | | |
* | Tab | A | S | D | F | G || H | J | K | L | ; |Enter |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
* |Shift | Z | X | C | V | B || N | M | , | . | ! |Shift |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
* |LRaise| Alt | GUI | |LLower|Space ||Space |RLower| | GUI | Del |RRaise|
* `------------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_4x12(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_EXLM, KC_RSFT,
L_RAISE, KC_LALT, KC_LGUI, XXXXXXX, L_LOWER, KC_SPC, KC_SPC, R_LOWER, XXXXXXX, KC_RGUI, KC_DEL, R_RAISE
),
/* Raise
* ,------------------------------------------------------------------------------------.
* | | | | | | || | | | | | |
* | Esc | | & | { | } | % || \ | [ | ] | # | | Bksp |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* |LCTL_T| | | | | || | | | | | |
* | Tab | ~ | | | ( | ) | * || / | < | > | ' | : |Enter |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
* |Shift | ` | ^ | @ | $ | + || - | = | _ | " | ? |Shift |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
* |LRaise| Alt | GUI | |LLower|Space ||Space |RLower| | GUI | Del |RRaise|
* `------------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
_______, XXXXXXX, KC_AMPR, KC_LCBR, KC_RCBR, KC_PERC, KC_BSLS, KC_LBRC, KC_RBRC, KC_HASH, XXXXXXX, _______,
_______, KC_TILD, KC_PIPE, KC_LPRN, KC_RPRN, KC_ASTR, KC_SLSH, KC_LABK, KC_RABK, KC_DQUO, KC_COLN, _______,
_______, KC_GRV, KC_CIRC, KC_AT, KC_DLR, KC_PLUS, KC_MINS, KC_EQL, KC_UNDS, KC_QUOT, KC_QUES, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Lower
* ,------------------------------------------------------------------------------------.
* | | | | | | || | | | | | |
* | Esc | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* |LCTL_T| | | | | || | | | | | |
* | Tab | |VolDn |VolUp | Mute | || Left | Down | Up |Right | |Enter |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
* |Shift | | | | | PrSc || Home | PgDn | PgUp | End | |Shift |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
* |LRaise| Alt | GUI | |LLower|Space ||Space |RLower| | GUI | Del |RRaise|
* `------------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
_______, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Neutral
* ,------------------------------------------------------------------------------------.
* | | | | | | || | | | | | |
* | Esc | F1 | F2 | F3 | F4 | || + | - | 1 | 2 | 3 | Bksp |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* |LCTL_T| | | | | || | | | | | |
* | Tab | F5 | F6 | F7 | F8 | || * | / | 4 | 5 | 6 |Enter |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
* |Shift | F9 | F10 | F11 | F12 | || . | , | 7 | 8 | 9 |Shift |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
* |LRaise| Alt | GUI |Reset |LLower|Space ||Space |RLower|Reset | 0 | Del |RRaise|
* `------------------------------------------------------------------------------------'
*/
[_NEUTRAL] = LAYOUT_ortho_4x12(
_______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, KC_PPLS, KC_PMNS, KC_P1, KC_P2, KC_P3, _______,
_______, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, KC_PAST, KC_PSLS, KC_P4, KC_P5, KC_P6, _______,
_______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_PDOT, KC_COMM, KC_P7, KC_P8, KC_P9, _______,
_______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, KC_P0, _______, _______
)
};
/**** Raise Layer functions *****/
/* RaisePressed function */
/* called RaiseSwitch */
void RaisePressed ( keyevent_t *event, bool brother_state ){
if( brother_state ) { return; }
layer_on( _RAISE );
update_tri_layer( _LOWER, _RAISE, _NEUTRAL );
return;
}
/* RaiseReleased function */
/* called RaiseSwitch */
void RaiseReleased ( bool brother_state ){
if( brother_state ) { return; }
layer_off( _RAISE );
update_tri_layer( _LOWER, _RAISE, _NEUTRAL );
return;
}
/* RaiseSwitch function */
/* called process_record_user */
bool RaiseSwitch ( keyrecord_t *record, bool *key_state, bool brother ){
if( record -> event.pressed ) {
*key_state = true;
RaisePressed( &(record -> event), brother );
} else {
*key_state = false;
RaiseReleased( brother );
}
return false;
}
/**** Lower layer functions ****/
/* LowerPressed function */
/* call from LowerSwitch */
void LowerPressed ( bool brother_state ){
if( brother_state ) { return; }
layer_on( _LOWER );
update_tri_layer(_LOWER, _RAISE, _NEUTRAL );
return;
}
/* LowerReleased function */
/* call from LowerSwitch */
void LowerReleased ( bool brother_state ){
if( brother_state ) { return; }
layer_off( _LOWER );
update_tri_layer(_LOWER, _RAISE, _NEUTRAL );
return ;
}
/* LowerSwitch function */
/* call from process_record_user */
bool LowerSwitch ( keyrecord_t *record, bool *key_state, bool brother ){
if ( record -> event.pressed ) {
*key_state = true;
LowerPressed( brother );
} else {
*key_state = false;
LowerReleased( brother );
}
return false;
}
/**** process_record_user ****/
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static bool l_lower = false;
static bool r_lower = false;
static bool l_raise = false;
static bool r_raise = false;
switch (keycode) {
case L_LOWER : return LowerSwitch( record, &l_lower, r_lower ); break;
case R_LOWER : return LowerSwitch( record, &r_lower, l_lower ); break;
case L_RAISE : return RaiseSwitch( record, &l_raise, r_raise ); break;
case R_RAISE : return RaiseSwitch( record, &r_raise, l_raise ); break;
default: break;
}
return true;
}

View file

@ -1,33 +0,0 @@
/* Copyright 2020 Joseph Wasson
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define SPACE_COUNT 3
#define TEMPLATE( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \
) \
LAYOUT_ortho_4x12( \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
K40, K41, K0D, K42, K44, K45, K45, K46, K48, K49, K4B, K4C \
)

View file

@ -1 +0,0 @@
// This space intentionally left blank

View file

@ -1,27 +0,0 @@
/* Ortho 4x12 Unicode Rune Layout
*
* Copyright 2021 trguhq
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WIN, UC_WINC
// #define UNICODE_SONG_MAC AUDIO_ON_SOUND
// #define UNICODE_SONG_LNX UNICODE_LINUX
// #define UNICODE_SONG_BSD TERMINAL_SOUND
// #define UNICODE_SONG_WIN UNICODE_WINDOWS
// #define UNICODE_SONG_WINC UNICODE_WINDOWS

View file

@ -1,29 +0,0 @@
/* Ortho 4x12 Unicode Rune Layout
*
* Copyright 2021 trguhq
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_4x12(KC_ESC, KC_GRV, UC(0x16A0), UC(0x16A2), UC(0x16A6), UC(0x16A8), UC(0x16B1), UC(0x16B2), UC(0x16B7), UC(0x16B9), KC_QUOT, KC_BSPC, KC_TAB, KC_SCLN, UC(0x16BA), UC(0x16BE), UC(0x16C1), UC(0x16C3), UC(0x16C7), UC(0x16C8), UC(0x16C9), UC(0x16CA), KC_COMM, KC_DOT, KC_LSFT, KC_BSLS, UC(0x16CF), UC(0x16D2), UC(0x16D6), UC(0x16D7), UC(0x16DA), UC(0x16DC), UC(0x16DF), UC(0x16DE), KC_UP, KC_ENT, BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(4), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_ortho_4x12(KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(4), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
[2] = LAYOUT_ortho_4x12(KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, 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_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT, BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(4), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
[3] = LAYOUT_ortho_4x12(KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LSFT(KC_NUHS), LSFT(KC_NUBS), KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(6), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY),
[4] = LAYOUT_ortho_4x12(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(6), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY),
[5] = LAYOUT_ortho_4x12(KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, TO(0), KC_NO, KC_NO, KC_C, KC_V, KC_NO, KC_NO, KC_N, KC_M, KC_NO, KC_NO, KC_NO),
[6] = LAYOUT_ortho_4x12(UC_MAC, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL, UC_LINX, KC_TRNS, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, DF(0), DF(1), DF(2), TO(5), KC_TRNS, UC_WIN, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UC_WINC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};

View file

@ -1,36 +0,0 @@
# Planck Ortho 4x12 Unicode Futhark Rune layout
![Planck Futhark Layout Image](https://i.imgur.com/ocILTZ3.png)
* Layout Maintainer: [trguhq](https://github.com/trguhq)
Types unicode runes on ortholinear QMK keyboard. Legacy Latin letter
layers left for user but have been marked red as irrelevant.
## OS specific
With both modifiers (either side of spacebar) selected, layer 6
lets you select which OS mode to use with the first vertical column
of keys:
1. macOS
2. Linux
3. Windows Unicode
4. Windows WinCompose
See [QMK docs](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_unicode.md) for details.
### macOS
On macOS this will have to be enabled in keyboard settings as a
Unicode Hex Input Keyboard Source and selected under the
keyboard layouts icon on the menu bar.
### Linux
Uses IBus or GTK.
### Windows
Either create the needed EnableHexNumpad registry key for Windows Unicode
entry, or (recommended) install WinCompose.

View file

@ -1 +0,0 @@
UNICODE_ENABLE = yes

View file

@ -1,361 +0,0 @@
{
"version": 1,
"notes": "",
"documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
"keyboard": "planck/rev6_drop",
"keymap": "trguhq",
"layout": "LAYOUT_ortho_4x12",
"layers": [
[
"KC_ESC",
"KC_GRV",
"ANY(UC(0x16A0))",
"ANY(UC(0x16A2))",
"ANY(UC(0x16A6))",
"ANY(UC(0x16A8))",
"ANY(UC(0x16B1))",
"ANY(UC(0x16B2))",
"ANY(UC(0x16B7))",
"ANY(UC(0x16B9))",
"KC_QUOT",
"KC_BSPC",
"KC_TAB",
"KC_SCLN",
"ANY(UC(0x16BA))",
"ANY(UC(0x16BE))",
"ANY(UC(0x16C1))",
"ANY(UC(0x16C3))",
"ANY(UC(0x16C7))",
"ANY(UC(0x16C8))",
"ANY(UC(0x16C9))",
"ANY(UC(0x16CA))",
"KC_COMM",
"KC_DOT",
"KC_LSFT",
"KC_BSLS",
"ANY(UC(0x16CF))",
"ANY(UC(0x16D2))",
"ANY(UC(0x16D6))",
"ANY(UC(0x16D7))",
"ANY(UC(0x16DA))",
"ANY(UC(0x16DC))",
"ANY(UC(0x16DF))",
"ANY(UC(0x16DE))",
"KC_UP",
"KC_ENT",
"BL_STEP",
"KC_LCTL",
"KC_LALT",
"KC_LGUI",
"MO(3)",
"KC_SPC",
"KC_SPC",
"MO(4)",
"KC_SLSH",
"KC_LEFT",
"KC_DOWN",
"KC_RGHT"
],
[
"KC_TAB",
"KC_Q",
"KC_W",
"KC_F",
"KC_P",
"KC_G",
"KC_J",
"KC_L",
"KC_U",
"KC_Y",
"KC_SCLN",
"KC_BSPC",
"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_LSFT",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_K",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_ENT",
"BL_STEP",
"KC_LCTL",
"KC_LALT",
"KC_LGUI",
"MO(3)",
"KC_SPC",
"KC_SPC",
"MO(4)",
"KC_LEFT",
"KC_DOWN",
"KC_UP",
"KC_RGHT"
],
[
"KC_TAB",
"KC_QUOT",
"KC_COMM",
"KC_DOT",
"KC_P",
"KC_Y",
"KC_F",
"KC_G",
"KC_C",
"KC_R",
"KC_L",
"KC_BSPC",
"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_LSFT",
"KC_SCLN",
"KC_Q",
"KC_J",
"KC_K",
"KC_X",
"KC_B",
"KC_M",
"KC_W",
"KC_V",
"KC_Z",
"KC_ENT",
"BL_STEP",
"KC_LCTL",
"KC_LALT",
"KC_LGUI",
"MO(3)",
"KC_SPC",
"KC_SPC",
"MO(4)",
"KC_LEFT",
"KC_DOWN",
"KC_UP",
"KC_RGHT"
],
[
"KC_TILD",
"KC_EXLM",
"KC_AT",
"KC_HASH",
"KC_DLR",
"KC_PERC",
"KC_CIRC",
"KC_AMPR",
"KC_ASTR",
"KC_LPRN",
"KC_RPRN",
"KC_BSPC",
"KC_DEL",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_UNDS",
"KC_PLUS",
"KC_LCBR",
"KC_RCBR",
"KC_PIPE",
"KC_TRNS",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_F12",
"LSFT(KC_NUHS)",
"LSFT(KC_NUBS)",
"KC_HOME",
"KC_END",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"MO(6)",
"KC_MNXT",
"KC_VOLD",
"KC_VOLU",
"KC_MPLY"
],
[
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_6",
"KC_7",
"KC_8",
"KC_9",
"KC_0",
"KC_BSPC",
"KC_DEL",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_MINS",
"KC_EQL",
"KC_LBRC",
"KC_RBRC",
"KC_BSLS",
"KC_TRNS",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_F12",
"KC_NUHS",
"KC_NUBS",
"KC_PGUP",
"KC_PGDN",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"MO(6)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_MNXT",
"KC_VOLD",
"KC_VOLU",
"KC_MPLY"
],
[
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_NO",
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_LBRC",
"KC_NO",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_H",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_QUOT",
"TO(0)",
"KC_NO",
"KC_NO",
"KC_C",
"KC_V",
"KC_NO",
"KC_NO",
"KC_N",
"KC_M",
"KC_NO",
"KC_NO",
"KC_NO"
],
[
"ANY(UC_MAC)",
"QK_BOOT",
"DG_TOGG",
"RGB_TOG",
"RGB_MOD",
"RGB_HUI",
"RGB_HUD",
"RGB_SAI",
"RGB_SAD",
"RGB_VAI",
"RGB_VAD",
"KC_DEL",
"ANY(UC_LINX)",
"KC_TRNS",
"ANY(MU_NEXT)",
"ANY(AU_ON)",
"ANY(AU_OFF)",
"AG_NORM",
"AG_SWAP",
"DF(0)",
"DF(1)",
"DF(2)",
"TO(5)",
"KC_TRNS",
"ANY(UC_WIN)",
"ANY(AU_PREV)",
"ANY(AU_NEXT)",
"ANY(MU_ON)",
"ANY(MU_OFF)",
"ANY(MI_ON)",
"ANY(MI_OFF)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"ANY(UC_WINC)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
]
],
"author": ""
}

View file

@ -1,49 +0,0 @@
#pragma once
#if defined(KEYBOARD_jj40)
#undef BACKLIGHT_BREATHING
#undef BACKLIGHT_LEVELS
#undef BREATHING_PERIOD
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
#define BREATHING_PERIOD 15
#endif
//QMK DFU settings (ProMicro boards with QMK bootloader)
// set top left key as bootloader mode escape key on Lets Split rev2
#if defined(KEYBOARD_lets_split_rev2)
#define QMK_LED B0
#define QMK_ESC_OUTPUT F6 // usually COL
#define QMK_ESC_INPUT D7 // usually ROW
#undef USE_I2C
#define EE_HANDS
#endif
// set top left key as bootloader mode escape key on Nori
#if defined(KEYBOARD_40percentclub_nori)
#define QMK_LED B0
#define QMK_ESC_OUTPUT F4 // usually COL
#define QMK_ESC_INPUT D3 // usually ROW
#endif
// set top left key as bootloader mode escape key on 4x4 48key layout
#if defined(KEYBOARD_40percentclub_4x4) && !defined(PRO_MICRO)
#define QMK_LED B0
#define QMK_ESC_OUTPUT C6 // usually COL
#define QMK_ESC_INPUT B2 // usually ROW
#endif
// use alternate settings for 4x4 board using ProMicro instead of Micro
// usage: make 4x4:wanleg PM=yes
#if defined(KEYBOARD_40percentclub_4x4) && defined(PRO_MICRO)
#define QMK_ESC_OUTPUT F4 // usually COL
#define QMK_ESC_INPUT D1 // usually ROW
#define QMK_LED B0
//need to undefine standard 4x4 array before defining alternate ProMicro array
#undef MATRIX_ROW_PINS
#undef MATRIX_COL_PINS
#define MATRIX_ROW_PINS { D1, D0, D4, C6 }
//last 4 elements of the column array are not broken out on a ProMicro (included only to preserve array structure)
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7, F0, B7, D6, F1 }
#endif

View file

@ -1,96 +0,0 @@
#include QMK_KEYBOARD_H
#include "wanleg.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(KEYBOARD_lets_split_rev2)
[_GK] = LAYOUT_ortho_4x12_wrapper(
_______________GherkinLike_0_______________,
_______________GherkinLike_1_______________,
_______________GherkinLike_2_______________,
_______________GherkinLike_3_OneHand_______
),
[ONE] = LAYOUT_ortho_4x12_wrapper(
_______________Qwerty_Row__0_______________,
_______________Qwerty_Row__1_______________,
_______________Qwerty_Row__2_______________,
KC_LCTL, KC_LGUI, KC_LALT, GHERKIN, SUBTER, SH_T(KC_SPC), SH_T(KC_SPC), SUPRA, KC_RGUI, KC_RALT, GHERKIN, KC_RCTL
),
[DIR] = LAYOUT_ortho_4x12_wrapper(
_____________DIRECTIONS_Row__0_____________,
_____________DIRECTIONS_Row__1_____________,
_____________DIRECTIONS_Row__2_____________,
_______, _______, ONEHAND, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
#elif defined(KEYBOARD_40percentclub_4x4) || defined(KEYBOARD_40percentclub_nori)
[_GK] = LAYOUT_ortho_4x12_wrapper(
_______________GherkinLike_0_______________,
_______________GherkinLike_1_______________,
_______________GherkinLike_2_______________,
TD(RST_TAP_DANCE), KC_LGUI, KC_LALT, NUMPAD, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, KC_DEL, KC_RCTL
),
[PAD] = LAYOUT_ortho_4x4_wrapper(
_______________NUMPAD_Row__0_______________,
_______________NUMPAD_Row__1_______________,
_______________NUMPAD_Row__2_______________,
_______________NUMPAD_Row__3_______________
),
#else
[_GK] = LAYOUT_ortho_4x12_wrapper(
_______________GherkinLike_0_______________,
_______________GherkinLike_1_______________,
_______________GherkinLike_2_______________,
_______________GherkinLike_3_______________
),
#endif
[_QW] = LAYOUT_ortho_4x12_wrapper(
_______________Qwerty_Row__0_______________,
_______________Qwerty_Row__1_______________,
_______________Qwerty_Row__2_______________,
_______________Qwerty_Row__3_______________
),
[SUP] = LAYOUT_ortho_4x12_wrapper(
________________SUPRA_Row_0________________,
________________SUPRA_Row_1________________,
________________SUPRA_Row_2________________,
________________SUPRA_Row_3________________
),
[SUB] = LAYOUT_ortho_4x12_wrapper(
_______________SUBTER_Row__0_______________,
_______________SUBTER_Row__1_______________,
_______________SUBTER_Row__2_______________,
_______________SUBTER_Row__3_______________
),
[NUM] = LAYOUT_ortho_4x12_wrapper(
_______________NUMBERS_Row_0_______________,
_______________NUMBERS_Row_1_______________,
_______________NUMBERS_Row_2_______________,
_______________NUMBERS_Row_3_______________
),
[DIR] = LAYOUT_ortho_4x12_wrapper(
_____________DIRECTIONS_Row__0_____________,
_____________DIRECTIONS_Row__1_____________,
_____________DIRECTIONS_Row__2_____________,
_____________DIRECTIONS_Row__3_____________
),
[ETC] = LAYOUT_ortho_4x12_wrapper(
______________ETCETERA_Row__0______________,
______________ETCETERA_Row__1______________,
______________ETCETERA_Row__2______________,
______________ETCETERA_Row__3______________
),
[_FN] = LAYOUT_ortho_4x12_wrapper(
_______, _______________Gherkin_FN_0________________, _______,
_______, _______________Gherkin_FN_0________________, _______,
_______, _______________Gherkin_FN_0________________, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};

View file

@ -1,46 +0,0 @@
# Let's Split Flashing
(More information at `qmk_firmware/layouts/community/ortho_3x10/wanleg/readme.md`)
## Make the QMK DFU .hex
`make lets_split/rev2:wanleg:production dfu=qmk`
## Burning EEPROM settings and Firmware
Navigate to the directory with your .hex file and the `eeprom-lefthand.eep` and `eeprom-righthand.eep` files in it.
**Burn Left Side With QMK DFU and Firmware**
`avrdude -b 19200 -c avrisp -p m32u4 -v -e -U lock:w:0x3F:m -U efuse:w:0xC3:m -U hfuse:w:0xD9:m -U lfuse:w:0x5E:m -U eeprom:w:eeprom-lefthand.eep -P comPORT -U flash:w:YOUR_production.hex:a`
**Burn Right Side With QMK DFU and Firmware**
`avrdude -b 19200 -c avrisp -p m32u4 -v -e -U lock:w:0x3F:m -U efuse:w:0xC3:m -U hfuse:w:0xD9:m -U lfuse:w:0x5E:m -U eeprom:w:eeprom-righthand.eep -P comPORT -U flash:w:YOUR_production.hex:a`
Change `comPORT` to whatever port is used by the Arduino (e.g. `com11` in Windows or `/dev/ttyACM0` in Linux). Use Device Manager in Windows to find the port being used. Use `ls /dev/tty*` in Linux. Change `YOUR_production.hex` to whatever you've created in the previous step.
## Using QMK DFU
Once QMK DFU is burned to your ProMicro, you can then flash subsequent hex files with
`make lets_split/rev2:<keymap>:dfu dfu=qmk`
The `dfu=qmk` conditional will set `BOOTLOADER = qmk-dfu` instead of `BOOTLOADER = caterina`
# Let's Split LEDs
In `qmk_firmware/keyboards/lets_split/rev2/rev2.c`, replace contents with
```
#include "lets_split.h"
void matrix_init_kb(void) {
// // green led on
// DDRD |= (1<<5);
// PORTD &= ~(1<<5);
// // orange led on
// DDRB |= (1<<0);
// PORTB &= ~(1<<0);
//turn off LEDs on ProMicro
DDRD &= ~(1<<5);
PORTD &= ~(1<<5);
DDRB &= ~(1<<0);
PORTB &= ~(1<<0);
matrix_init_user();
};
```
to turn off LEDs

View file

@ -1,15 +0,0 @@
AUDIO_ENABLE = no
SWAP_HANDS_ENABLE = no
ifeq ($(strip $(KEYBOARD)), lets_split/rev2)
SWAP_HANDS_ENABLE = yes
endif
ifeq ($(strip $(KEYBOARD)), planck/rev6)
AUDIO_ENABLE = yes
endif
#disable RGB on version 1 of jj40 keyboard (does not exist)
ifeq ($(strip $(KEYBOARD)), jj40)
RGBLIGHT_ENABLE = no
endif

View file

@ -1,39 +0,0 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
#define MIDI_BASIC
#define EE_HANDS
#undef RGBLED_NUM
#if defined(KEYBOARD_planck_rev5)
#define RGBLED_NUM 10
#define WS2812_DI_PIN D1
#elif defined(KEYBOARD_keebio_levinson_rev2)
#define RGBLED_NUM 12
#elif defined(KEYBOARD_lets_split_rev2)
#define RGBLED_NUM 8
#elif defined(KEYBOARD_jj40)
#define RGBLED_NUM 5
#else
#define RGBLED_NUM 1
#endif
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#undef BACKLIGHT_LEVELS
#define BACKLIGHT_LEVELS 8
#endif

View file

@ -1,159 +0,0 @@
#include QMK_KEYBOARD_H
enum layer_names { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, ADJUST };
// Aliases to keep the keymap tidy
#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped.
#define RGB_SWR RGB_M_SW // Swirl Animation alias
#define RGB_SNK RGB_M_SN // Snake Animation alias
#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook!
#define RAISE MO(_RAISE)
#define LOWER MO(_LOWER)
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / | Shift|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_4x12 (
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT
),
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_4x12 (
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT
),
/* Dvorak
* ,-----------------------------------------------------------------------------------.
* | Tab | " | , | . | P | Y | F | G | C | R | L | / |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | O | E | U | I | D | H | T | N | S | - |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
* `-----------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT_ortho_4x12 (
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_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
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_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Caps | | Mute | Vol- | Vol+ | | | | + | { | } | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | Prev | Play | Next | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12 (
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______,
BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Caps | | Mute | Vol- | Vol+ | | | | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | Prev | Play | Next | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12 (
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______,
BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______
),
/* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------.
* | F11 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F12 |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | Reset|RGB PL|RGB BR|RGB RB|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* |RGB ON| MODE |RGB SW|RGB KN|RGB GR| HUE- | HUE+ | HUE- | SAT+ | SAT- | VAL+ | VAL- |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | |MacLck| | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12 (
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 ,
_______, QK_BOOT, RGB_M_P, RGB_M_B, RGB_M_R, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
RGB_TOG, RGB_MOD, RGB_SWR, RGB_M_K, RGB_M_G, RGB_HUI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MACLOCK
)
};
// clang-format on
#ifdef AUDIO_ENABLE
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
float tone_dvorak[][2] = SONG(DVORAK_SOUND);
float tone_colemak[][2] = SONG(COLEMAK_SOUND);
#endif
void matrix_init_user(void) {
#ifdef BOOTLOADER_CATERINA
// This will disable the red LEDs on the ProMicros
setPinInput(D5);
setPinInput(B0);
#endif
};
layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch (keycode) {
case QWERTY:
set_single_persistent_default_layer(_QWERTY);
return false;
case COLEMAK:
set_single_persistent_default_layer(_COLEMAK);
return false;
case DVORAK:
set_single_persistent_default_layer(_DVORAK);
return false;
}
}
return true;
}

View file

@ -1,99 +0,0 @@
# Xyverz's 4x12 Ortho Keymap
## About this keymap:
I'm moving all my 4x12s to the same keymap since I pretty much use it across all of them anyway, regardless of whether they're split or not. Gotta get the `LAYOUT` lovin', yo.
This revision includes this documentation and introduction of the individual RGB mode keys in the `ADJUST` layer.
## What's New?
* Added the Mac Lock macro of CMD+CTRL+Q to lock the screen on my mac.
* Changed the location of the `pipe` and `backslash` keys to match my other layouts.
## Still to do:
* Enjoy this revision; figure out new things later.
### Qwerty layer
```
,-----------------------------------------------------------------------------------.
| Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|------+------+------+------+------+-------------+------+------+------+------+------|
| Esc | A | S | D | F | G | H | J | K | L | ; | " |
|------+------+------+------+------+------|------+------+------+------+------+------|
| Shift| Z | X | C | V | B | N | M | , | . | / | Shift|
|------+------+------+------+------+------+------+------+------+------+------+------|
| Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI | Enter|
`-----------------------------------------------------------------------------------'
```
### Colemak layer
```
,-----------------------------------------------------------------------------------.
| Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|------+------+------+------+------+-------------+------+------+------+------+------|
| Esc | A | R | S | T | D | H | N | E | I | O | " |
|------+------+------+------+------+------|------+------+------+------+------+------|
| Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
|------+------+------+------+------+------+------+------+------+------+------+------|
| Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI | Enter|
`-----------------------------------------------------------------------------------'
```
### Dvorak layer
```
,-----------------------------------------------------------------------------------.
| Tab | " | , | . | P | Y | F | G | C | R | L | / |
|------+------+------+------+------+-------------+------+------+------+------+------|
| Esc | A | O | E | U | I | D | H | T | N | S | - |
|------+------+------+------+------+------|------+------+------+------+------+------|
| Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift|
|------+------+------+------+------+------+------+------+------+------+------+------|
| Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI | Enter|
`-----------------------------------------------------------------------------------'
```
### LOWER layer
```
,-----------------------------------------------------------------------------------.
| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | |
|------+------+------+------+------+-------------+------+------+------+------+------|
| Caps | | Mute | Vol- | Vol+ | | | _ | + | { | } | |
|------+------+------+------+------+------|------+------+------+------+------+------|
| | | Prev | Play | Next | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Brite| | Home | End | | Del | Ins | | PgUp | PgDN | | |
`-----------------------------------------------------------------------------------'
```
### RAISE layer
```
,-----------------------------------------------------------------------------------.
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ |
|------+------+------+------+------+-------------+------+------+------+------+------|
| Caps | | Mute | Vol- | Vol+ | | | - | = | [ | ] | |
|------+------+------+------+------+------|------+------+------+------+------+------|
| | | Prev | Play | Next | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Brite| | Home | End | | Del | Ins | | PgUp | PgDN | | |
`-----------------------------------------------------------------------------------'
```
### ADJUST layer
```
,-----------------------------------------------------------------------------------.
| F11 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F12 |
|------+------+------+------+------+-------------+------+------+------+------+------|
| | Reset|RGB PL|RGB BR|RGB RB|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|------+------+------+------+------+------|------+------+------+------+------+------|
|RGB ON| MODE |RGB SW|RGB KN|RGB GR| HUE- | HUE+ | HUE- | SAT+ | SAT- | VAL+ | VAL- |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | |MacLck| | | | | | |
`-----------------------------------------------------------------------------------'
```

View file

@ -1,11 +0,0 @@
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output on port C6
ifeq ("$(KEYBOARD)","vitamins_included")
RGBLIGHT_ENABLE = no
else ifeq ($(strip $(KEYBOARD)), 40percentclub/4x4)
RGBLIGHT_ENABLE = no
else
RGBLIGHT_ENABLE = yes
endif