Merge remote-tracking branch 'upstream/master' into develop

This commit is contained in:
Nick Brassel 2023-12-17 22:27:35 +11:00
commit ae90b1d1e5
No known key found for this signature in database
940 changed files with 0 additions and 85796 deletions

View file

@ -1,188 +0,0 @@
#include QMK_KEYBOARD_H
#include "debug.h"
#include "action_layer.h"
// http://www.keyboard-layout-editor.com/#/gists/9be130e4c9b503317619
#define BASE 0 // default layer
#define SYMB_R 1 // symbols (activated by right hand)
#define SYMB_L 2 // symbols (activated by left hand)
#define NAV 3 // navigation
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Prose layer
*
* Layer switch keys:
* [tap/toggle]
* (momentary)
* {toggle}
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | Del | | BSPC | 6 | 7 | 8 | 9 | 0 | BSPC |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | W | E | R | T | Ctrl/| |Ctrl/ | Y | U | I | O | P | \ |
* |--------+------+------+------+------+------| Esc | | ; |------+------+------+------+------+--------|
* | Ctrl | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
* |--------+------+------+------+------+------|Alt/ | |Alt/ |------+------+------+------+------+--------|
* | Shift | Z | X | C | V | B |Tab | |Ins | N | M | , | . | / | Shift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |Ctrl |Super | Alt |[Nav] |[Symb]| |[Symb]|[Nav] | Alt | Ctrl | Enter|
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | Shift| Alt | | Alt | Shift |
* ,------|------|------| |------+--------+------.
* | | |[Nav] | |[Nav] | | |
* | Tab | Esc |------| |------| Space | Bspc |
* | | | Ctrl | | Ctrl | | |
* `--------------------' `----------------------'
*/
[BASE] = LAYOUT_ergodox( // layer 0 : default
// left hand
LT(NAV,KC_ESC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_DELETE,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, CTL_T(KC_ESC),
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALT_T(KC_TAB),
KC_LCTL, KC_LGUI, KC_LALT,KC_NO, MO(NAV),
KC_LCTL, KC_LALT,
MO(NAV),
KC_TAB, LT(SYMB_L,KC_ESC), KC_LSFT,
// right hand
KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
CTL_T(KC_SCLN),KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
ALT_T(KC_INS), KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
MO(NAV),KC_NO, KC_RALT,KC_RGUI, CTL_T(KC_ENT),
KC_RALT, KC_RCTL,
MO(NAV),
KC_RSFT, LT(SYMB_R,KC_SPACE), KC_BSPC
),
/* Keymap 1: Symbol Layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | ` | ~ | * | & | / | < | | > | \ | 7 | 8 | 9 | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | _ | ^ | % | $ | ( |------| |------| ) | 4 | 5 | 6 | - | Enter |
* |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------|
* | | = | # | @ | ! | { | | | | } | 1 | 2 | 3 | + | Enter |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | " | | | | | | 0 | . | . | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | ? | : |------| |------| ; | . |
* | | | | | | | |
* `--------------------' `--------------------'
*/
[SYMB_L] = LAYOUT_ergodox(
// left hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_GRV , KC_TILD, KC_ASTR, KC_AMPR, KC_SLSH, LSFT(KC_COMM),
KC_TRNS, KC_UNDS, KC_CIRC, KC_PERC, KC_DLR, KC_LPRN,
KC_TRNS, KC_EQL, KC_HASH, KC_AT, KC_EXLM, KC_LCBR, KC_LBRC,
LSFT(KC_QUOT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
LSFT(KC_SLSH), KC_TRNS, KC_TRNS,
// right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
LSFT(KC_DOT), KC_BSLS, KC_7, KC_8, KC_9, KC_PIPE, KC_TRNS,
KC_RPRN, KC_4, KC_5, KC_6, KC_MINS, KC_ENT,
KC_RBRC, KC_RCBR, KC_1, KC_2, KC_3, KC_PLUS, KC_ENT,
KC_0, KC_DOT, KC_DOT, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_SCLN, KC_DOT
),
[SYMB_R] = LAYOUT_ergodox( // same as above, but avoids clash between SYMB and ;/:
// left hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_GRV , KC_TILD, KC_ASTR, KC_AMPR, KC_SLSH, LSFT(KC_COMM),
KC_TRNS, KC_UNDS, KC_CIRC, KC_PERC, KC_DLR, KC_LPRN,
KC_TRNS, KC_EQL, KC_HASH, KC_AT, KC_EXLM, KC_LCBR, KC_LBRC,
LSFT(KC_QUOT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
LSFT(KC_SLSH), KC_COLN, KC_TRNS,
// right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
LSFT(KC_DOT), KC_BSLS, KC_7, KC_8, KC_9, KC_PIPE, KC_TRNS,
KC_RPRN, KC_4, KC_5, KC_6, KC_MINS, KC_ENT,
KC_RBRC, KC_RCBR, KC_1, KC_2, KC_3, KC_PLUS, KC_ENT,
KC_0, KC_DOT, KC_DOT, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_DOT
),
/* Keymap 2: Navigation Layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 |Break | |PrntSc| F6 | F7 | F8 | F9 | F10 | F11 |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | --- |MsLeft|MsUp |MsDown|MsRght|------| |------| Left | Down | Up | Right| F11 | Enter|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | --- | Btn4 |ScrlDn|ScrlUp| Btn5 | | | | Home | PgDwn| PgUp | End | F12 | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
[NAV] = LAYOUT_ergodox(
// left hand
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PAUSE,
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
KC_TRNS, KC_BTN1, KC_MS_L, KC_MS_U, KC_MS_D, KC_MS_R,
KC_TRNS, KC_BTN2, KC_BTN4, KC_MS_WH_UP, KC_MS_WH_DOWN, KC_BTN5, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
// right hand
KC_PSCR, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_ENT,
KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
};
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
switch (layer) {
// TODO: Make this relevant to the ErgoDox EZ.
case 1:
case 2:
ergodox_right_led_1_on();
break;
case 3:
case 4:
ergodox_right_led_2_on();
break;
default:
// none
break;
}
};

View file

@ -1,100 +0,0 @@
The Matrixman Ergodox / Split-Planck Keyboard Layout
====================================================
### The problem
These layouts were designed to give my aching pinkeys a break
### The Design
- Pinkeys do less:
- Left q, a, z, `, _, =, [Shift], [F1] [Click], [Right Click]
- Right p, ', /, |, -, +, [Shift], [F10], [F11], [F12]
- Index fingers do more:
- Left: r, f, v, t, g, b, &, $, !, /, (, {, <, [, [Ctrl], [Tab], [Alt], [PrintScr]
- Right: u, j, m, y, h, n, 7, 4, 1, \, ), }, >, ], ;, [Ctrl], [Insert], [Alt], [Pause]
- Thumbs do more:
- Left: [Esc], :, [Shift], [Tab]
- Right: [Space], ;, [Shift], [Backspace]
- Palm Presses too:
- Left: [Ctrl], "
- Right: [Ctrl, [Enter]
### The Plan
I keep an Ergodox at home and at work, and when I'm mobile, I carry a planck.
These keymaps are designed to minimize the difficulty of switching between the two.
### Other features
- 10-key at home row for right hand
- "Matching" symbols use same finger on opposite hand: <> [] {} /\ () 1! 2@ 3# 4$ 5% 6^ 7& 8* -_ +=
- Supports vim-like (hjkl) movements:
- mouse movement and scrolling
- arrow keys and nav keys (home, end, pg up, pg down)
- All non-modal keys mapped (all keys from a typical 105 key keyboard except caps, num, and scroll lock)
The Planck Layout
-----------------
For a picture, see here: http://www.keyboard-layout-editor.com/#/gists/eb0696806831fc0d93c9
### Prose Layer
qwert▓▓yuiop
asdfg▓;hjkl'
zxcvb▓▓nm,./
▓▓▓▓▓▓▓ ▓▓▓▓
### Symbol Layer
`~*&/<>\789|
_^%$([])456-
=#@!{▓▓}123+
"▓,?:▓▓;0▓.▓
### Nav Layer
FKEYF▓▓KEYFK
mouse▓▓arowE
scrol▓▓seekY
▓▓▓▓▓▓▓▓▓▓▓▓
The Ergodox Layout
------------------
For a picture, see here: http://www.keyboard-layout-editor.com/#/gists/9be130e4c9b503317619
Wherever the Ergodox has keys that the Planck doesn't, whichever key would be expected on a typical 105 key is in that place
### Prose Layer
▓▓▓▓▓▓▓ ▓▓▓▓▓▓
▓qwert▓ ▓yuiop\
▓asdfg▓ ;hjkl;'
▓zxcvb nm,./▓
▓▓▓▓▓▓ ▓▓▓▓▓▓
▓▓ ▓▓
▓▓▓ ▓ ▓
### Symbol Layer
▓▓▓▓▓▓ ▓▓▓▓▓▓
▓`~*&/< >\789|\
▓_^%$([ ])456-▓
▓=#@!{ }123+▓
"▓▓▓▓▓▓ 0▓.▓▓
▓▓ ▓▓
?:▓ ▓;.
### Nav Layer
▓▓▓▓▓▓▓ ▓▓▓▓▓▓
▓FKEYF▓ ▓KEYFK▓
▓mouse▓ arowE▓
▓scrol seekY▓
▓▓▓▓▓▓ ▓▓▓▓▓▓
▓▓ ▓▓
▓▓▓ ▓▓▓

View file

@ -1,8 +0,0 @@
#pragma once
#define FORCE_NKRO
#undef LSPO_KEY
#undef RSPC_KEY
#define LSPO_KEY KC_8 // Nordic Left SpaceCadet
#define RSPC_KEY KC_9 // Nordic Right SpaceCadet

View file

@ -1,251 +0,0 @@
/* Copyright 2018 Andreas Lindhé, Christoffer Holmberg
*
* 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 "version.h"
#include "keymap_swedish.h"
#define BASE 0 // default layer
#define SYMB 1 // symbols
#define MDIA 2 // media keys
#define ARRW 3 // arrow + soon mouse
enum custom_keycodes {
PLACEHOLDER = SAFE_RANGE, // can always be here
EPRM,
VRSN,
RGB_SLD
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | Esc | ! | " | # | # | % | Ins | | L1 | & | / | ( | ) | = | ? |
* | | 1 | 2 @ | 3 £ | 4 $ | 5 | | | | 6 | 7 { | 8 [ | 9 ] | 0 } | + \ |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | W | E | R | T | L2 | | L2 | Y | U | I | O | P | Å |
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | L4 | A | S | D | F | G |------| |------| H | J | K | L |Ö / L3| Ä/L2 |
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+------| Back | |Forwd |------+------+------+------+------+--------|
* | LShift/| Z | X | C | V | B | | | | N | M | ; | : | _ | RShift/|
* | ( | | | | | | | | | | | , | . | - | ) |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | '/ | ` |Alt | Left | Right| | Spc | Bksp | AltGr| * | ~/ |
* | Ctrl | ' | | | | | | | | | Ctrl |
* `----------------------------------' `----------------------------------'
* ,-------------. ,---------------.
* | <>| | End | | Home | ^ |
* ,------|------|------| |------+--------+------.
* | Left | Right| PgDn | | PgUp | Up | Down |
* |------|------|------| |------|--------|------|
* | Ctrl/| Alt/ | | | | Alt/ | Ctrl/|
* | Enter| Esc | Lgui | | Lgui | Esc | Enter|
* `--------------------' `----------------------'
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_
// Otherwise, it needs KC_*
[BASE] = LAYOUT_ergodox_80( // layer 0 : default
// left hand
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_INS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
MO(ARRW), KC_A, KC_S, KC_D, KC_F, KC_G,
SC_LSPO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_WBAK,
CTL_T(SE_QUOT), SE_ACUT, KC_LALT, KC_BSPC, KC_SPC,
SE_LABK, KC_END,
KC_LEFT, KC_RIGHT, KC_PGDN,
CTL_T(KC_ENT), ALT_T(KC_ESC), KC_LGUI,
// right hand
TO(ARRW), KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,
TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
KC_H, KC_J, KC_K, KC_L, LT(MDIA, SE_ODIA), LT(SYMB, SE_ADIA),
KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, SC_RSPC,
KC_SPC, KC_BSPC, KC_ALGR, SE_ASTR, CTL_T(SE_TILD),
KC_HOME, SE_CIRC,
KC_PGUP, KC_UP, KC_DOWN,
KC_LGUI, ALT_T(KC_ESC), CTL_T(KC_ENT)
),
/* Keymap: Symbol Layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | - | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | < | > | | | . | 0 | = | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* |------|------|------| |------|------|------|
* | | | | | | | |
* `--------------------' `--------------------'
*/
// SYMBOLS
[SYMB] = LAYOUT_ergodox_80(
// left hand
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______,
_______,KC_EXLM,SE_AT, SE_LCBR,SE_RCBR,SE_PIPE,_______,
_______,KC_HASH,SE_DLR, SE_LPRN,SE_RPRN,SE_GRV,
_______,KC_PERC,SE_CIRC,SE_LBRC,SE_RBRC,SE_TILD,_______,
EPRM, _______, _______, SE_LABK , SE_RABK,
_______,_______,
_______,_______,_______,
_______,_______,_______,
// right hand
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
_______, KC_UP, KC_7, KC_8, KC_9, SE_ASTR, KC_F12,
KC_DOWN, KC_4, KC_5, KC_6, SE_PLUS, _______,
_______, SE_AMPR, KC_1, KC_2, KC_3, SE_MINS, _______,
_______,KC_DOT, KC_0, SE_EQL, _______,
_______, _______,
_______, _______, _______,
_______, _______, _______
),
/* Keymap: Media and mouse keys
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | MsUp | | | | | | | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | |MsLeft|MsDown|MsRght| | |------| |------| | | | | | Play |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | Prev | Next | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | |------|------| |------|------|------|
* | | | | | | |BrBck |
* `--------------------' `--------------------'
*/
// MEDIA AND MOUSE
[MDIA] = LAYOUT_ergodox_80(
_______, _______, _______, _______, _______, _______, _______,
_______, _______, KC_MS_U, _______, _______, _______, _______,
_______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_BTN1, KC_BTN2,
_______, _______,
_______, _______, _______,
_______, _______, _______,
// right hand
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_MPLY,
_______, _______, _______, KC_MPRV, KC_MNXT, _______, _______,
KC_VOLU, KC_VOLD, KC_MUTE, _______, _______,
_______, _______,
_______, _______, _______,
_______, _______, KC_WBAK
),
// Keymap: Ducky Style arrows
[ARRW] = LAYOUT_ergodox_80(
SE_HALF, _______, _______, _______, _______, _______, _______,
_______, _______, KC_UP , _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_DEL, _______,
_______, _______,
_______, _______, _______,
_______, _______, _______,
// right hand
TO(BASE), _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
_______, _______,
_______, _______, _______,
_______, _______, _______
),
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
// dynamically generate these.
case EPRM:
if (record->event.pressed) {
eeconfig_init();
}
return false;
break;
case VRSN:
if (record->event.pressed) {
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
}
return false;
break;
case RGB_SLD:
if (record->event.pressed) {
#ifdef RGBLIGHT_ENABLE
rgblight_mode(1);
#endif
}
return false;
break;
}
return true;
}
// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {
};
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
switch (layer) {
// Binary: lsb at bottom
case 1:
ergodox_right_led_3_on();
break;
case 2:
ergodox_right_led_2_on();
break;
case 3:
ergodox_board_led_on();
default:
// none
break;
}
};

View file

@ -1,4 +0,0 @@
# Nordic Qwerty layout for ErgoDox EZ, based on Andreas Lindhe's version
*NOTE:* it might still be desirable to set the software layout to sv_SE in your
OS.

View file

@ -1,247 +0,0 @@
#include QMK_KEYBOARD_H
#define BASE 0 // default layer
#define SYMB 1 // symbols
#define MDIA 2 // media keys
#define TXBOLT 3 // TxBolt Steno Virtual Serial
#define TXBOLT2 4 // TxBolt Steno Virtual Serial Alternative Layout
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Del | Q | W | E | R | T | L1 | | TX | Y | U | I | O | P | \ |
* |--------+------+------+------+------+------| | | BOLT |------+------+------+------+------+--------|
* | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd |
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
* | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | App | LGui | | Alt |Ctrl/Esc|
* ,------|------|------| |------+--------+------.
* | | | Home | | PgUp | | |
* | Space|Backsp|------| |------| Tab |Enter |
* | |ace | End | | PgDn | | |
* `--------------------' `----------------------'
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
// Otherwise, it needs KC_*
[BASE] = LAYOUT_ergodox( // layer 0 : default
// left hand
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
ALT_T(KC_APP), KC_LGUI,
KC_HOME,
KC_SPC,KC_BSPC,KC_END,
// right hand
KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
TG(TXBOLT), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT),
MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TT(SYMB),
KC_LALT, CTL_T(KC_ESC),
KC_PGUP,
KC_PGDN,KC_TAB, KC_ENT
),
/* Keymap 1: Symbol Layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | . | 0 | = | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
// SYMBOLS
[SYMB] = LAYOUT_ergodox(
// left hand
M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
KC_TRNS,KC_TRNS,
KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,
// right hand
KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
/* Keymap 2: Media and mouse keys
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | QK_BOOT | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | MsUp | | | | | | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | Prev | Next | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | |Brwser|
* | | |------| |------| |Back |
* | | | | | | | |
* `--------------------' `--------------------'
*/
// MEDIA AND MOUSE
[MDIA] = LAYOUT_ergodox(
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
// right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_WBAK
),
/* Keymap 3: TxBolt (Serial)
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | BKSPC | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | # | # | # | # | # | | | | # | # | # | # | # | # |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | S | T | P | H | * |------| |------| * | F | P | L | T | D |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | S | K | W | R | * | | | | * | R | B | G | S | Z |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | A | O |------| |------| E | U |
* | | | | | | | |
* `--------------------' `--------------------'
*/
// TxBolt over Serial
[TXBOLT] = LAYOUT_ergodox(
KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, KC_NO,
KC_NO, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1,
KC_NO, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO,
KC_NO,
STN_A, STN_O, KC_NO,
// right hand
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB,
STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR,
KC_NO, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO,
KC_NO,
KC_NO, STN_E, STN_U
),
/* Keymap 4: TxBolt (Serial) Alternative
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | # | # | # | # | # | | | | # | # | # | # | # | # |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | S | T | P | H | * | | | | * | F | P | L | T | D |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | S | K | W | R | * |------| |------| * | R | B | G | S | Z |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | A | O | | E | U | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
// TxBolt over Serial
[TXBOLT2] = LAYOUT_ergodox(
KC_NO, STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, KC_NO,
KC_NO, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, KC_NO,
KC_NO, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, STN_A, STN_O,
KC_NO, KC_NO,
KC_NO,
KC_NO, KC_NO, KC_NO,
// right hand
KC_NO, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB,
KC_TRNS, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR,
STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
STN_E, STN_U, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO,
KC_NO,
KC_NO, KC_NO, KC_NO
),
};
// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {
steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI
};
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
uint8_t layer = get_highest_layer(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
switch (layer) {
// TODO: Make this relevant to the ErgoDox EZ.
case 1:
ergodox_right_led_1_on();
break;
case 2:
ergodox_right_led_2_on();
break;
default:
// none
break;
}
};

View file

@ -1,92 +0,0 @@
# ErgoDox EZ Steno Configuration
This layout has a layer that uses the TxBolt Stenograph protocol over a Virtual Serial port. It requires something like Plover in order to function.
In Plover, you can select TX Bolt as the Stenotype Machine, and find the COM port that was assigned. In this way, your regular keyboard will still function normally, and you can switch back and forth between the Steno and Keyboard layers.
<pre><code>
/* Keymap 0: Basic layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Del | Q | W | E | R | T | L1 | | TX | Y | U | I | O | P | \ |
* |--------+------+------+------+------+------| | | BOLT |------+------+------+------+------+--------|
* | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd |
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
* | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | App | LGui | | Alt |Ctrl/Esc|
* ,------|------|------| |------+--------+------.
* | | | Home | | PgUp | | |
* | Space|Backsp|------| |------| Tab |Enter |
* | |ace | End | | PgDn | | |
* `--------------------' `----------------------'
*/
/* Keymap 1: Symbol Layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | . | 0 | = | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
/* Keymap 2: Media keys
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | RESET | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | |------| |------| | | | | | Play |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | Prev | Next | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | |VolUp |VolDn | Mute | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | |Brwser|
* | | |------| |------| |Back |
* | | | | | | | |
* `--------------------' `--------------------'
*/
/* Keymap 3: TxBolt (Serial)
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | BKSPC | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | # | # | # | # | # | | | | # | # | # | # | # | # |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | S | T | P | H | * |------| |------| * | F | P | L | T | D |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | S | K | W | R | * | | | | * | R | B | G | S | Z |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | A | O |------| |------| E | U |
* | | | | | | | |
* `--------------------' `--------------------'
*/
</code></pre>

View file

@ -1,3 +0,0 @@
STENO_ENABLE = yes # Additional protocols for Stenography(+1700), requires VIRTSER
# Not enough interupts, so something has to go
MOUSEKEY_ENABLE = no