Remove userspace keymaps (#22544)
This commit is contained in:
parent
4908d4b1ca
commit
1ed03f498f
2738 changed files with 0 additions and 207314 deletions
|
@ -1,125 +0,0 @@
|
|||
## Layout
|
||||
|
||||
### Keymap 0: Basic layer
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| ` | 1 | 2 | 3 | 4 | 5 | = | | L1 | 6 | 7 | 8 | 9 | 0 | - |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| TAB | Q | W | E | R | T | L1 | | L2 | Y | U | I | O | P | \ |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| Esc | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
||||
|--------+------+------+------+------+------| L2 | |TT(3) |------+------+------+------+------+--------|
|
||||
| LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
|LCTRL | F4 | F5 | LGUI | LALT | | Left | Down | Up | Right| RGUI |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| Copy | Paste| | Copy | Paste |
|
||||
,------|------|------| |------+--------+------.
|
||||
| | | PgUp | | PgDn | | |
|
||||
| Bcksp|OSL(2)|------| |------| Ent |Space |
|
||||
| | VIM | Del | |OSL(2)| | |
|
||||
`--------------------' `----------------------'
|
||||
```
|
||||
* For a single tap or single hold, OSL behaves like OSL(SYMB). For a tap + hold, it behaves like MO(VIM).
|
||||
|
||||
### Keymap 1: Code Layer
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| | | | | | | F10 | | F11 | | | | | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | | | | | |------| |------| | | | | | |
|
||||
|--------+------+------+------+------+------| L2 | | |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | | | | | F12 |GoToIm| FAR | | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,---------------.
|
||||
|Format|Build | | Copy | Paste |
|
||||
,------|------|------| |------+--------+------.
|
||||
| | |Refact| | Up | | |
|
||||
| | |------| |------| | |
|
||||
| | | | | Down | | |
|
||||
`--------------------' `----------------------'
|
||||
```
|
||||
* Build - Visualt Studio Build Solution. Sends `CTRL + SHFT + B`
|
||||
* FAR - Visual Studio Find All References. Sends `CTRL + K, R`
|
||||
* Format - Visual Studio Format. Sends `CTRL + K, CTRL + D`
|
||||
* GoToIm - Visual Studio Go To Implementation. Sends `CTRL + F12`
|
||||
* Refact - Visual Studio Refactor. Sends `CTRL + R, R`
|
||||
* Sort U - Visual Studio Sort Usings. Sends `CTRL + R, CTRL + G`
|
||||
|
||||
|
||||
### Keymap 2: 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 | \ | |
|
||||
`---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| EPRM | | | | | | 0 | 0 | . | = | |
|
||||
`-----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| | Caps | | | |
|
||||
,------|------|------| |------+------+------.
|
||||
| | |APscr | | | | |
|
||||
| | |------| |------| | |
|
||||
| | | PScr | | | | |
|
||||
`--------------------' `--------------------'
|
||||
```
|
||||
* APscr - Take a printscreen of the current app. Sends `Alt + Print Screen`
|
||||
|
||||
### Keymap 3: Media and Mouse Keys
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| | | | MsUp | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | |MsLeft|MsDown|MsRght| |------| |------| | | | | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | | Lclk | Rclk | | | | | | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| Back+| Back-| | Vol+ | |
|
||||
,------|------|------| |------+------+------.
|
||||
| | |BL_TOG| | Vol- | | |
|
||||
| | |------| |------| PL/PS| Next |
|
||||
| | | | | Back | | |
|
||||
`--------------------' `--------------------'
|
||||
```
|
||||
|
||||
### Keymap 4: Movement
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| |KOpen |KType | LSFT | | | | | | Copy | | | | Paste| |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| |DLeft |DRight| LCTL | LGUI | |------| |------| Left | Down | Up | Right| | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| |SFT_TB| Tab | | | | | | | | | | | | |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | | | | | | | | | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| | | | Home | End |
|
||||
,------|------|------| |------+------+------.
|
||||
| | | | | | | |
|
||||
| | |------| |------| | |
|
||||
| | | | | | | |
|
||||
`--------------------' `--------------------'
|
||||
```
|
||||
* DLeft - Move to the left Desktop. Sends `Ctrl + Win + Left Arrow`
|
||||
* DRight - Move to the right Desktop. Sends `Ctrl + Win + Right Arrow`
|
||||
* KOpen - Opens KeePass. Sends `Ctrl + Alt + k`
|
||||
* KType - Autotypes KeePass password. Sends `Ctrl + Alt + a`
|
||||
* SFT_TB - Sends `CTRL + TAB`.
|
|
@ -1,26 +0,0 @@
|
|||
/*
|
||||
Copyright (c) 2020 Fred Silberberg
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#undef TAPPING_TERM
|
||||
#define TAPPING_TERM 200
|
|
@ -1,314 +0,0 @@
|
|||
/*
|
||||
Copyright (c) 2020 Fred Silberberg
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
#include "version.h"
|
||||
#include "333fred.h"
|
||||
|
||||
// NOTE: Cells marked with ACCESS must remain transparent, they're the keys that actually get to that layer
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | F5 | | F6 | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | TAB | Q | W | E | R | T | GAME | |GAMEA | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Esc | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
||||
* |--------+------+------+------+------+------| SYMB | |MEDIA |------+------+------+------+------+--------|
|
||||
* | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |LCTRL | F4 | F5 | LGUI | LALT | | Left | Down | = | Right| RGUI |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Copy | Paste| | Copy | Paste |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | PgUp | | Up | | |
|
||||
* | Bcksp|OSL(2)|------| |------| Ent |Space |
|
||||
* | | VIM | Del | | Down | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
[BASE] = LAYOUT_ergodox_pretty( // layer 0 : default
|
||||
// left hand
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F5, KC_F6, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(GAME), TG(GAME_ARROW), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
OSM(MOD_LSFT), CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(SYMB), MO(MDIA), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), OSM(MOD_RSFT),
|
||||
OSM(MOD_LCTL), KC_F4, KC_F5, KC_LGUI, KC_LALT, KC_LEFT, KC_DOWN, KC_EQL, KC_RIGHT, KC_RGUI,
|
||||
LCTL(KC_C), LCTL(KC_V), LCTL(KC_C), LCTL(KC_V),
|
||||
KC_PGUP, KC_UP,
|
||||
KC_BSPC, TD(TD_SYM_VIM), KC_DEL, KC_DOWN, KC_ENT, KC_SPC
|
||||
),
|
||||
|
||||
/* Keymap 2: Codeflow Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | F7 | F8 | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,---------------.
|
||||
* | |ACCESS| | | |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||
// Otherwise, it needs KC_*
|
||||
[CODEFLOW] = LAYOUT_ergodox_pretty( // layer 1 : code
|
||||
// left hand
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, KC_F7, KC_F8, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/* Keymap 3: Symbol Layer
|
||||
*
|
||||
* ,---------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
* | | ! | @ | ( | ) | | | | | | Up | 7 | 8 | 9 | * | F12 |
|
||||
* |---------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | # | $ | { | } | ` |------| |------| Down | 4 | 5 | 6 | + | |
|
||||
* |---------+------+------+------+------+------|ACCESS| | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
|
||||
* `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | 0 | 0 | . | = | |
|
||||
* `-----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | |APScr | | | | |
|
||||
* | |ACCESS|------| |------| | |
|
||||
* | | | PScr | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[SYMB] = LAYOUT_ergodox_pretty(
|
||||
// left hand
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, KC_PIPE, _______, _______, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
|
||||
_______, KC_HASH, KC_DLR, KC_LCBR, KC_RCBR, KC_GRV, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, _______,
|
||||
_______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, _______, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, _______,
|
||||
_______, _______, _______, _______, _______, KC_0, KC_0, KC_DOT, KC_EQL, _______,
|
||||
_______, _______, _______, _______,
|
||||
PSCREEN_APP, _______,
|
||||
_______, _______, KC_PSCR, _______, _______, _______
|
||||
),
|
||||
/* Keymap 3: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | |ACCESS|------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Back+| Back-| | Vol+ | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | |BackTg| | Vol- | | |
|
||||
* | | |------| |------| PL/PS| Next |
|
||||
* | | | | | Back | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[MDIA] = LAYOUT_ergodox_pretty(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______, _______,
|
||||
BL_UP, BL_DOWN, KC_VOLU, _______,
|
||||
BL_TOGG, KC_VOLD,
|
||||
_______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
|
||||
),
|
||||
/* Keymap 4: Movement
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | |KOpen |KType |TERMCP|TERMPT| | | | | Copy | | | | Paste| |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | |DLeft |DRight|LCTRL | LGUI | |------| |------| Left | Down | Up | Right| | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | |SFT_TB| TAB | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | Home | End |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | |ACCESS|------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[VIM] = LAYOUT_ergodox_pretty(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, DLEFT, DRIGHT, KC_LCTL, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
|
||||
_______, _______, KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_HOME, KC_END,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/* Keymap 1: Game Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ESC | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | |ACCESS| | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | CTRL | | | | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | SHIFT | Z | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |ENTER | | | LOCK | BSPC | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,---------------.
|
||||
* | F5 | F6 | | | |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | | | | | |
|
||||
* | ALT | SPC |------| |------| | |
|
||||
* | | | SYMB | | | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||
// Otherwise, it needs KC_*
|
||||
[GAME] = LAYOUT_ergodox_pretty( // layer 1 : code
|
||||
// left hand
|
||||
KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_LSFT, KC_Z, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_ENT, _______, _______, QK_LOCK, KC_BSPC, _______, _______, _______, _______, _______,
|
||||
KC_F5, KC_F6, LCTL(KC_C), LCTL(KC_V),
|
||||
_______, KC_UP,
|
||||
KC_LALT, KC_SPC, OSM(SYMB), KC_DOWN, _______, _______
|
||||
),
|
||||
/* Keymap 1: Game Arrow Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ESC | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | Up | | | | | |ACCESS| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | CTRL | Left | Down |Right | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | SHIFT | Z | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |ENTER | | | LOCK | BSPC | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,---------------.
|
||||
* | F5 | F6 | | | |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | | | | | |
|
||||
* | ALT | SPC |------| |------| | |
|
||||
* | | | SYMB | | | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||
// Otherwise, it needs KC_*
|
||||
[GAME_ARROW] = LAYOUT_ergodox_pretty( // layer 1 : code
|
||||
// left hand
|
||||
KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_LCTL, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_LSFT, KC_Z, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_ENT, _______, _______, QK_LOCK, KC_BSPC, _______, _______, _______, _______, _______,
|
||||
KC_F5, KC_F6, LCTL(KC_C), LCTL(KC_V),
|
||||
_______, KC_UP,
|
||||
KC_LALT, KC_SPC, OSM(SYMB), KC_DOWN, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
tap_dance_process_keycode(keycode);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
ergodox_board_led_on();
|
||||
ergodox_led_all_on();
|
||||
}
|
||||
|
||||
#ifdef ST7565_ENABLE
|
||||
|
||||
void st7565_task_user(void) {
|
||||
// The colors will need to be ported over to the quantum painter API when
|
||||
// https://github.com/qmk/qmk_firmware/pull/10174 is merged.
|
||||
|
||||
st7565_clear();
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case BASE:
|
||||
//state->target_lcd_color = LCD_COLOR(84, saturation, 0xFF);
|
||||
st7565_write_P(PSTR("Default\n"), false);
|
||||
break;
|
||||
case CODEFLOW:
|
||||
//state->target_lcd_color = LCD_COLOR(216, 90, 0xFF);
|
||||
st7565_write_P(PSTR("Code\n"), false);
|
||||
break;
|
||||
case SYMB:
|
||||
//state->target_lcd_color = LCD_COLOR(168, saturation, 0xFF);
|
||||
st7565_write_P(PSTR("Symbol\n"), false);
|
||||
break;
|
||||
case MDIA:
|
||||
//state->target_lcd_color = LCD_COLOR(0, saturation, 0xFF);
|
||||
st7565_write_P(PSTR("Media\n"), false);
|
||||
break;
|
||||
case VIM:
|
||||
//state->target_lcd_color = LCD_COLOR(140, 100, 60);
|
||||
st7565_write_P(PSTR("Movement\n"), false);
|
||||
break;
|
||||
case GAME:
|
||||
//state->target_lcd_color = LCD_COLOR(0, 255, 60);
|
||||
st7565_write_P(PSTR("Game\n"), false);
|
||||
break;
|
||||
case GAME_ARROW:
|
||||
//state->target_lcd_color = LCD_COLOR(0, 255, 60);
|
||||
st7565_write_P(PSTR("Game Arrow\n"), false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
|
@ -1,2 +0,0 @@
|
|||
KEY_LOCK_ENABLE = yes
|
||||
CONSOLE_ENABLE = no
|
|
@ -1,161 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
#include "keymap_german.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
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 | K | . | O | , | Y | L1 | | L1 | V | G | C | L | ß | Z |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | BkSp | H | A | E | I | U |------| |------| D | T | R | N | S | F |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift |X/Ctrl| Q | Ä | Ü | Ö | | | | B | P | W | M | J | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | App | LGui | | Alt |Ctrl/Esc|
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | Space|Enter |------| |------| Tab |RShift|
|
||||
* | | | 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, DE_K, DE_DOT, DE_O, DE_COMM,DE_Y, TG(SYMB),
|
||||
KC_BSPC, DE_H, DE_A, DE_E, DE_I, DE_U,
|
||||
KC_LSFT, CTL_T(DE_X), DE_Q, DE_ADIA,DE_UDIA,DE_ODIA,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_ENT ,KC_END,
|
||||
// right hand
|
||||
KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(SYMB), DE_V, DE_G, DE_C, DE_L, DE_SS, DE_Z,
|
||||
DE_D, DE_T, DE_R, DE_N, LT(MDIA, DE_S), GUI_T(KC_F),
|
||||
MEH_T(KC_NO),KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), 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_RSFT
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
KC_TRNS,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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, 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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,7 +0,0 @@
|
|||
# Basic implementation for k.o,y variant of the adnw layout
|
||||
|
||||
adnw is a layout optimised for usage with german and english language
|
||||
k.o,y is a variant of this layout
|
||||
http://www.adnw.de/index.php?n=Main.SeitlicheNachbaranschl%C3%A4ge
|
||||
|
||||
The os must use the de_DE layout
|
|
@ -1,9 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
// This is the ideal value for me but find your own
|
||||
#undef TAPPING_TERM
|
||||
#define TAPPING_TERM 145
|
||||
|
||||
// more options here: https://docs.qmk.fm/config_options.html
|
||||
#define FORCE_NKRO
|
||||
#define PERMISSIVE_HOLD // tab/hold-Keys should work better with that
|
|
@ -1,335 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "keymap_german.h"
|
||||
|
||||
|
||||
#define BASE 0 // default layer / VIM
|
||||
#define ARW 1 // arrow layer / Terminal
|
||||
#define DIAK 2 // diakritika layer
|
||||
#define BRACK 3 // brackets layer
|
||||
#define SYMBOLS 4 // symbols
|
||||
#define MEDIA 5 // media keys / Mouse-Navigation
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer / VIM
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | Media |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | P | U | Dia-L| , | Q | | | | V | C | L | M | B | |
|
||||
* |--------+------+------+------+------+------| G | | gg |------+------+------+------+------+--------|
|
||||
* | Symbols| H | I | E | A | O |------| |------| D | T | R | N | S | ARW |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | LShift | K | Y | . | ' | X |str-D | |str-U | J | G | Z | W | F | RShift |
|
||||
* * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | Ctrl | Alt | | | | | H | J | K | L | Ctrl |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* LShift is Tab on Click
|
||||
*
|
||||
* ,-------------. ,-------------.
|
||||
* | ^ | / | | ? | $ |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | |str+a | |str+c | | |
|
||||
* | Brack| Space|------| |------| Enter |BSpace|
|
||||
* | -Lay |/shift| Tab/ | | | | |
|
||||
* | | | GUI | | ESC | | |
|
||||
* `--------------------' `----------------------'
|
||||
* GUI is one shot
|
||||
* str + a is for tmux etc.
|
||||
* str + c is for stopping programs
|
||||
*/
|
||||
[BASE] = LAYOUT_ergodox( // layer 0 : default
|
||||
// left hand
|
||||
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO,
|
||||
TG(SYMBOLS), DE_P, DE_U, OSL(DIAK), DE_COMM, DE_Q, LSFT(DE_G),
|
||||
OSL(SYMBOLS), DE_H, DE_I, DE_E, DE_A, DE_O,
|
||||
SFT_T(KC_TAB), DE_K, DE_Y, DE_DOT, DE_QUOT, DE_X, LCTL(DE_D),
|
||||
KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_NO,
|
||||
|
||||
|
||||
// left hand thumb-cluster
|
||||
DE_CIRC, DE_SLSH,
|
||||
LCTL(DE_A),
|
||||
OSL(BRACK), SFT_T(KC_SPACE), GUI_T(KC_TAB),
|
||||
|
||||
|
||||
// right hand
|
||||
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, TG(MEDIA),
|
||||
DE_G, DE_V, DE_C, DE_L, DE_M, DE_B, KC_NO,
|
||||
DE_D, DE_T, DE_R, DE_N, DE_S, TG(ARW),
|
||||
LCTL(DE_U), DE_J, DE_G, DE_Z, DE_W, DE_F, KC_RSFT,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_RCTL,
|
||||
|
||||
// right thumb-cluster
|
||||
DE_QUES, DE_DLR,
|
||||
LCTL(DE_C),
|
||||
KC_ESCAPE, KC_ENTER, KC_BSPC
|
||||
),
|
||||
|
||||
|
||||
/* Keymap 1: Arrow Layer / Terminal
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |P-Down| |P-Up | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | Left | Bot | Top | Right| |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Home | | | | End |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// Arrows
|
||||
[ARW] = LAYOUT_ergodox(
|
||||
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_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_HOME, 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_TRNS,
|
||||
KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS,
|
||||
KC_TRNS, KC_END,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
|
||||
/* Keymap 2: Diakritika Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | Ü | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | Ä | Ö |------| |------| | | | | ß | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// Diakritika
|
||||
[DIAK] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, DE_UDIA, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_ADIA, DE_ODIA,
|
||||
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,
|
||||
|
||||
// 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, DE_SS, 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
|
||||
),
|
||||
|
||||
|
||||
/* Keymap 3: Brackets Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | ( | { | [ | |------| |------| | ] | } | ) | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// BRACK
|
||||
[BRACK] = LAYOUT_ergodox(
|
||||
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, DE_LPRN, DE_LCBR, DE_LBRC, 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,
|
||||
|
||||
// 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, DE_RBRC, DE_RCBR, DE_RPRN, 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_TRNS
|
||||
),
|
||||
|
||||
|
||||
/* Keymap 4: Symbol Layer
|
||||
*
|
||||
*
|
||||
* Original:
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | ² | ° | ~ | @ | ! | | | | ? | & | § | " | ³ | |
|
||||
* |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
|
||||
* | | ´ | ' | : | ^ | < |------| |------| > | $ | ; | | | ` | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | € | + | = | * | / | { | | } | \ | % | # | - | _ | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[SYMBOLS] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, //DE_LBRC,
|
||||
KC_TRNS,DE_SUP2,DE_DEG, DE_TILD, DE_AT, DE_EXLM, DE_LPRN,
|
||||
KC_TRNS,DE_ACUT,DE_QUOT, DE_COLN, DE_CIRC, DE_LABK,
|
||||
KC_TRNS,DE_EURO,DE_PLUS, DE_EQL, DE_ASTR, DE_SLSH, DE_LCBR,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
|
||||
// right hand
|
||||
//DE_RBRC,
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
|
||||
DE_RPRN, DE_QUES, DE_AMPR, DE_SECT, DE_DQUO, DE_SUP3, KC_TRNS,
|
||||
DE_RABK, DE_DLR, DE_SCLN, DE_PIPE, DE_GRV, KC_TRNS,
|
||||
DE_RCBR, DE_BSLS, DE_PERC, DE_HASH, DE_MINS, DE_UNDS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 5: Numbers
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | Num | / | * | - |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | 7 | 8 | 9 | + |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | 4 | 5 | 6 | + |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | 1 | 2 | 3 | Enter |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | 0 | , | | | Enter|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
// NUMBERS
|
||||
[NUMBERS] = LAYOUT_ergodox(
|
||||
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_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,
|
||||
|
||||
// right hand
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_4, KC_5, KC_8, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_TRNS,
|
||||
KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/* Keymap 6: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | Sleep| | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | Wake | | | | |------| |------| |MsLeft|MsDown| MsUp |MsRght| |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | Mute| VolDn| VolUp| | Play| Prev | Next | Stop | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | Lclk|------| |------|Rclk | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MEDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_SLEP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_WAKE, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_BTN1, KC_TRNS,
|
||||
// right hand
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_BTN2, KC_TRNS
|
||||
),
|
||||
};
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user_keyboard(void) {
|
||||
ergodox_board_led_on();
|
||||
ergodox_led_all_on();
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
This is a fork of the adnw_k_o_y-Layout
|
||||
|
||||
Features:
|
||||
- Diakritika-Layer for ADNW-PUQ-Layout
|
||||
- all basic-symbols of the german-layout can be found in the Symbol- and Diakritika-Layer
|
||||
- Symbol-Layer: Symbols are mirrored -- left = < and right = >
|
||||
- Basic-Layer-Keys which always be present in any Layer and allow the movement between layers
|
||||
- HJKL-Keys and Arrow-Keys can be switched, necessary for working with a terminal and vim
|
||||
- Number-Layer for Numpad-Emulation
|
||||
- Brackets-Layer for easier programming
|
||||
- Media-Layer for Mouse-Navigation
|
||||
|
||||
Notes:
|
||||
- adnw is a layout optimised for usage with german and english language
|
||||
- PUQ is a variant of adnw: http://www.adnw.de/index.php?n=Main.OptimierungF%C3%BCrDieGeradeTastaturMitDaumen-Shift
|
||||
- This implementation is optimised for my workflow with vim/tmux/xmonad and ergodox
|
||||
- The OS must use the de_DE layout
|
|
@ -1,163 +0,0 @@
|
|||
// Netable differences vs. the default firmware for the ErgoDox EZ:
|
||||
// 1. The Cmd key is now on the right side, making Cmd+Space easier.
|
||||
// 2. The media keys work on OSX (But not on Windows).
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | '" | | '" | 6 | 7 | 8 | 9 | 0 | BkSp |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | ~L1 | | ~L1 | Y | U | I | O | P | - |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* |Ctrl/Esc| A | S | D | F | G |------| |------| H | J | K | L |; / L2| / |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Grv/L1| Alt |AltShf| Left | Right| | Up | Down | [ | ] | L1 |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | App | LGui | | Esc |Ctrl/Esc|
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | ( | | { | | |
|
||||
* | Space| LGui |------| |------| RGui |Enter |
|
||||
* | | | ) | | } | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
// 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_QUOT,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TT(SYMB),
|
||||
CTL_T(KC_ESC), 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_LALT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
|
||||
ALT_T(KC_APP), KC_LGUI,
|
||||
KC_LPRN,
|
||||
KC_SPC,KC_LGUI,KC_RPRN,
|
||||
// right hand
|
||||
KC_QUOT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
TT(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
|
||||
KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_BSLS,
|
||||
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, TG(1),
|
||||
KC_ESC, CTL_T(KC_ESC),
|
||||
KC_LCBR,
|
||||
KC_RCBR,KC_RGUI, KC_ENT
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
KC_TRNS,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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
LAYOUT_ergodox(
|
||||
KC_TRNS, 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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2016 Kaleb Elwert
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -1,79 +0,0 @@
|
|||
# Belak's Ergodox Layout
|
||||
|
||||
This has been based off of [emacs\_osx\_dk](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/ergodox/emacs_osx_dk)
|
||||
from the main qmk repo. However, I've taken some of the ideas for the thumbs
|
||||
from [dvorak\_emacs](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/ergodox/dvorak_emacs)
|
||||
and tweaked it a bit based on the keycaps I have.
|
||||
|
||||
This keyboard is intended for use in emacs (one of the main reasons for easy
|
||||
access to modifiers) but it could be useful in other instances as well.
|
||||
|
||||
The main repo is used as a testbed, so sometimes the layout may be in a strange
|
||||
state. The qmk version should be relatively stable.
|
||||
|
||||
## Instructions
|
||||
|
||||
This is currently being used on a regular ergodox, but it should work fine on
|
||||
the infinity as well. Though, you may have to modify the commands to build and
|
||||
flash the firmware to match the separate halves as defined in the infinity
|
||||
documentation.
|
||||
|
||||
If you are using this keymap in the qmk repo, you should be able to just run
|
||||
`make ergodox-belak-teensy`. If you're using this externally (I sometimes make
|
||||
changes before syncing them to qmk), use the following instructions:
|
||||
|
||||
1. Clone the main qmk repo
|
||||
2. Clone this to `$QMK/keyboards/ergodox/keymaps/belak-external`
|
||||
3. Run `make ergodox-belak-external-teensy` from the root of the qmk repo.
|
||||
|
||||
## Changelog
|
||||
|
||||
Fifth Revision
|
||||
|
||||
* Change layer keys to tap-dance keys which cycle through additional layers
|
||||
* Add a few emoji keys (in preparation for an emoji layer)
|
||||
|
||||
Fourth Revision
|
||||
|
||||
* Remove media layer
|
||||
* Add a layer which swaps control and gui on the thumb keys.
|
||||
* Add some basic code to save settings to the eeprom
|
||||
* Save the state of the keys swapped in the thumb in the eeprom
|
||||
|
||||
Third Revision
|
||||
|
||||
* Add numpad layer and remove numpad from symbols layer
|
||||
* Disable media layer
|
||||
* Add arrow keys on ijkl to the symbols layer
|
||||
* Replace ALT on held enter and held delete with GUI (for better OSX
|
||||
compatibility, as there's already an ALT key relatively close)
|
||||
* Replace keys above enter and delete with temporary layer switch buttons not
|
||||
matching the other layer switch for that hand.
|
||||
* Reindent and space out most of the layer definitions
|
||||
|
||||
Second Revision
|
||||
|
||||
* Clean up definitions to make differences between layers easier to see
|
||||
* Remove old LCD code
|
||||
* Add new LCD code based on fredizzimo's branch
|
||||
|
||||
First Revision
|
||||
|
||||
* Reverse grave and escape
|
||||
|
||||
Initial Version
|
||||
|
||||
* Copy from emacs\_osx\_dk
|
||||
* "Fix" right alt
|
||||
* Change thumb keys to match default layout (backspace, delete, enter, space)
|
||||
* Add modifiers to thumb keys (ctrl to backspace and space, alt to delete and
|
||||
enter)
|
||||
* Replace the RAlt below the brackets with LGui and RGui
|
||||
* Remove LCtrl and RCtrl from the keys above shift
|
||||
* Add browser forward, and move browser back
|
||||
* "Fix" the order of volume keys
|
||||
|
||||
## Repository
|
||||
|
||||
The original code for this is kept at https://github.com/belak/ergodox-layout and
|
||||
is synced to qmk every few main revisions.
|
|
@ -1,362 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
#include "eeconfig.h"
|
||||
#include "eeprom.h"
|
||||
|
||||
#define LAYER_ON(pos) ((layer_state) & (1<<(pos)))
|
||||
|
||||
#define EECONFIG_BELAK_MAGIC (uint16_t)0xBE42
|
||||
|
||||
// NOTE: This is just a number that's a bit beyond the end of what's already
|
||||
// defined. As there is no other define we can base this on, it may need to be
|
||||
// changed in the future. The initial value here is used as a placeholder with a
|
||||
// magic word, similar to the normal eeconfig. Note that all the storage being
|
||||
// used needs to fit inside the 32 bytes of the Ergodox Infinity.
|
||||
#define EECONFIG_BELAK (uint16_t *)16
|
||||
|
||||
// The correct way to do this would be how the normal eeconfig handles it and
|
||||
// use a bitfield. However, the eeprom has a ton of space which isn't being
|
||||
// used so I don't really care and have a separate byte for every setting.
|
||||
#define EECONFIG_BELAK_SWAP_GUI_CTRL (uint8_t *)18
|
||||
|
||||
static uint8_t swap_gui_ctrl = 0;
|
||||
static uint8_t td_led_override = 0;
|
||||
|
||||
enum belak_keycodes {
|
||||
// Function codes
|
||||
BEL_F0 = SAFE_RANGE,
|
||||
BEL_F1,
|
||||
|
||||
E_SHRUG,
|
||||
E_TFLIP,
|
||||
E_TSET,
|
||||
};
|
||||
|
||||
// TODO: Add LED support to the tap dance by using the advanced macro
|
||||
#define LTOGGLE TD(TD_LAYER_TOGGLE)
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define NUMP 2 // numpad
|
||||
#define SWPH 3 // swap gui/ctrl on the hands
|
||||
|
||||
enum belak_td {
|
||||
TD_LAYER_TOGGLE = 0,
|
||||
};
|
||||
|
||||
void belak_td_each(tap_dance_state_t *state, void *user_data);
|
||||
void belak_td_finished(tap_dance_state_t *state, void *user_data);
|
||||
void belak_td_reset(tap_dance_state_t *state, void *user_data);
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_LAYER_TOGGLE] = ACTION_TAP_DANCE_FN_ADVANCED(belak_td_each, belak_td_finished, belak_td_reset),
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 | L1 | | L2 | 6 | 7 | 8 | 9 | 0 | = |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | - |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | \ | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
||||
* |--------+------+------+------+------+------| LGui | | RGui |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Layers| LCtrl| Left | Right| LAlt | | RAlt | Up | Down | RCtrl|Layers|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,--------------.
|
||||
* | ~L2 | Ins | | Grv | ~L1 |
|
||||
* ,-------|------|------| |------+-------+-------.
|
||||
* | Back | | Home | | PgUp | | |
|
||||
* | Space | Del |------| |------| Enter | Space |
|
||||
* | | | End | | PgDn | | |
|
||||
* `---------------------' `----------------------'
|
||||
*/
|
||||
[BASE] = LAYOUT_ergodox( // layer 0 : default
|
||||
// left hand
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB),
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
|
||||
CTL_T(KC_BSLS), KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI,
|
||||
LTOGGLE, KC_LCTL, KC_LEFT,KC_RGHT,KC_LALT,
|
||||
MO(NUMP),KC_INS,
|
||||
KC_HOME,
|
||||
CTL_T(KC_BSPC),GUI_T(KC_DEL),KC_END,
|
||||
// right hand
|
||||
TG(NUMP), KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
|
||||
KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_RGUI, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_RALT,KC_UP, KC_DOWN,KC_RCTL, LTOGGLE,
|
||||
KC_GRV, MO(SYMB),
|
||||
KC_PGUP,
|
||||
KC_PGDN, GUI_T(KC_ENT), CTL_T(KC_SPC)
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | ! | @ | { | } | | | | | | Up | | Up | | | F12 |
|
||||
* |--------+------+------+------+------+------| TFLIP| | TSET |------+------+------+------+------+--------|
|
||||
* | | # | $ | ( | ) | ` |------| |------| Down | Left | Down | Rght | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | SHRUG| | | & | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |LClear| | | | | | | | | |LClear|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | TOGL | | | | TOGL |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, E_TFLIP,
|
||||
_______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, E_TSET,
|
||||
_______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
|
||||
_______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, E_SHRUG,
|
||||
BEL_F1, _______, _______, _______, _______,
|
||||
BEL_F0, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
// right hand
|
||||
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, KC_UP, _______, KC_UP, _______, _______, KC_F12,
|
||||
KC_DOWN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
|
||||
_______, KC_AMPR, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, BEL_F1,
|
||||
_______, BEL_F0,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
/* Keymap 2: Numpad Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | 7 | 8 | 9 | * | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | 1 | 2 | 3 | \ | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |LClear| | | | | | 0 | 0 | . | = |LClear|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | TOGL | | | | TOGL |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[NUMP] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
BEL_F1, _______, _______, _______, _______,
|
||||
BEL_F0, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
// right hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
|
||||
_______, KC_4, KC_5, KC_6, KC_PLUS, _______,
|
||||
_______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______,
|
||||
KC_0, KC_0, KC_DOT, KC_EQL, BEL_F1,
|
||||
_______, BEL_F0,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
/* Keymap 3: Swap control and gui on the thumb */
|
||||
[SWPH] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______,
|
||||
GUI_T(KC_BSPC), CTL_T(KC_DEL), _______,
|
||||
// right hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, CTL_T(KC_ENT), GUI_T(KC_SPC)
|
||||
),
|
||||
};
|
||||
|
||||
// Runs just one time when the keyboard initializes.
|
||||
void matrix_init_user(void) {
|
||||
// If our magic word wasn't set properly, we need to zero out the settings.
|
||||
if (eeprom_read_word(EECONFIG_BELAK) != EECONFIG_BELAK_MAGIC) {
|
||||
eeprom_update_word(EECONFIG_BELAK, EECONFIG_BELAK_MAGIC);
|
||||
eeprom_update_byte(EECONFIG_BELAK_SWAP_GUI_CTRL, 0);
|
||||
}
|
||||
|
||||
if (eeprom_read_byte(EECONFIG_BELAK_SWAP_GUI_CTRL)) {
|
||||
layer_on(SWPH);
|
||||
swap_gui_ctrl = 1;
|
||||
}
|
||||
};
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
|
||||
switch (td_led_override) {
|
||||
case 1:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
default:
|
||||
// Layer 1 and 2 are both overlay layers, so they could both be on. This
|
||||
// means we can't use the lazy check of checking for the first significant
|
||||
// bit.
|
||||
if (LAYER_ON(SYMB)) {
|
||||
ergodox_right_led_1_on();
|
||||
}
|
||||
if (LAYER_ON(NUMP)) {
|
||||
ergodox_right_led_2_on();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case BEL_F0:
|
||||
if(record->event.pressed){
|
||||
swap_gui_ctrl = !swap_gui_ctrl;
|
||||
eeprom_update_byte(EECONFIG_BELAK_SWAP_GUI_CTRL, swap_gui_ctrl);
|
||||
|
||||
if (swap_gui_ctrl) {
|
||||
layer_on(SWPH);
|
||||
} else {
|
||||
layer_off(SWPH);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case BEL_F1:
|
||||
if(record->event.pressed){
|
||||
layer_off(SYMB);
|
||||
layer_off(NUMP);
|
||||
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case E_SHRUG: // ¯\_(ツ)_/¯
|
||||
if (record->event.pressed) {
|
||||
process_unicode((0x00AF|QK_UNICODE), record); // Hand
|
||||
tap_code16(KC_BSLS); // Arm
|
||||
register_code(KC_RSFT);
|
||||
tap_code16(KC_UNDS); // Arm
|
||||
tap_code16(KC_LPRN); // Head
|
||||
unregister_code(KC_RSFT);
|
||||
process_unicode((0x30C4|QK_UNICODE), record); // Face
|
||||
register_code(KC_RSFT);
|
||||
tap_code16(KC_RPRN); // Head
|
||||
tap_code16(KC_UNDS); // Arm
|
||||
unregister_code(KC_RSFT);
|
||||
tap_code16(KC_SLSH); // Arm
|
||||
process_unicode((0x00AF|QK_UNICODE), record); // Hand
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case E_TFLIP: // (╯°□°)╯ ︵ ┻━┻
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
tap_code16(KC_9);
|
||||
unregister_code(KC_RSFT);
|
||||
process_unicode((0x256F|QK_UNICODE), record); // Arm
|
||||
process_unicode((0x00B0|QK_UNICODE), record); // Eye
|
||||
process_unicode((0x25A1|QK_UNICODE), record); // Mouth
|
||||
process_unicode((0x00B0|QK_UNICODE), record); // Eye
|
||||
register_code(KC_RSFT);
|
||||
tap_code16(KC_0);
|
||||
unregister_code(KC_RSFT);
|
||||
process_unicode((0x256F|QK_UNICODE), record); // Arm
|
||||
tap_code16(KC_SPC);
|
||||
process_unicode((0x0361|QK_UNICODE), record); // Flippy
|
||||
tap_code16(KC_SPC);
|
||||
process_unicode((0x253B|QK_UNICODE), record); // Table
|
||||
process_unicode((0x2501|QK_UNICODE), record); // Table
|
||||
process_unicode((0x253B|QK_UNICODE), record); // Table
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case E_TSET: // ┬──┬ ノ( ゜-゜ノ)
|
||||
if (record->event.pressed) {
|
||||
process_unicode((0x252C|QK_UNICODE), record); // Table
|
||||
process_unicode((0x2500|QK_UNICODE), record); // Table
|
||||
process_unicode((0x2500|QK_UNICODE), record); // Table
|
||||
process_unicode((0x252C|QK_UNICODE), record); // Table
|
||||
tap_code16(KC_SPC);
|
||||
process_unicode((0x30CE|QK_UNICODE), record); // Arm
|
||||
register_code(KC_RSFT);
|
||||
tap_code16(KC_9);
|
||||
unregister_code(KC_RSFT);
|
||||
tap_code16(KC_SPC);
|
||||
process_unicode((0x309C|QK_UNICODE), record); // Eye
|
||||
tap_code16(KC_MINS);
|
||||
process_unicode((0x309C|QK_UNICODE), record); // Eye
|
||||
process_unicode((0x30CE|QK_UNICODE), record); // Arm
|
||||
register_code(KC_RSFT);
|
||||
tap_code16(KC_0);
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void belak_td_each(tap_dance_state_t *state, void *user_data) {
|
||||
switch (state->count) {
|
||||
case 1:
|
||||
td_led_override = 1;
|
||||
break;
|
||||
case 2:
|
||||
td_led_override = 2;
|
||||
break;
|
||||
default:
|
||||
reset_tap_dance(state);
|
||||
}
|
||||
}
|
||||
|
||||
void belak_td_finished(tap_dance_state_t *state, void *user_data) {
|
||||
switch (state->count) {
|
||||
case 1:
|
||||
layer_on(SYMB);
|
||||
break;
|
||||
case 2:
|
||||
layer_on(NUMP);
|
||||
break;
|
||||
}
|
||||
td_led_override = 0;
|
||||
}
|
||||
|
||||
void belak_td_reset(tap_dance_state_t *state, void *user_data) {
|
||||
td_led_override = 0;
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
TAP_DANCE_ENABLE=yes
|
||||
UNICODE_ENABLE=yes
|
||||
|
||||
|
|
@ -1,127 +0,0 @@
|
|||
/* Bepo layout for ergodox EZ by Nicolas CARPi (deltablot.com) */
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keymap_bepo.h"
|
||||
#include "keymap_french.h"
|
||||
|
||||
#define BEPO 0 // default layer, for bepo compatible systems
|
||||
#define FNAV 1 // function / navigation / mouse layer
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: default layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | $ | " | < | > | ( | ) | @ | | + | - | - | / | * | = | % |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | TAB | B |E_ACUT| P | O |E_GRAV|Backsp| |CapsLo| ^ | V | D | L | J | Z |
|
||||
* |--------+------+------+------+------+------| ace | | |------+------+------+------+------+--------|
|
||||
* | W | A | U | I | E | , |------| |------| C | T | S | R | N | M |
|
||||
* |--------+------+------+------+------+------| | | ESCAP------+------+------+------+------+--------|
|
||||
* | SHIFT |E_CIRC | A_GRAV | Y | X | . | K | | | ' | Q | G | H | F | C_CEDIL|
|
||||
* `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
|
||||
* |Ctrl|LSuper|LSuper| LSuper| LAlt| | PgUp | PgDwn| |BEPO| Delete | | AltGr| RSuper|RSuper|RCtrl| Enter|
|
||||
* `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
|
||||
* | | |Insert| |L_Fnav| | |
|
||||
* | Space|Shift |------| |------|RShift|Enter |
|
||||
* | | |Mouse | | Fn | | |
|
||||
* `--------------------' `--------------------'
|
||||
* df is for temporary stuff and mo is for toggle (momentary)
|
||||
* so mouse is to toggle the mouse mode
|
||||
*/
|
||||
[BEPO] = LAYOUT_ergodox(
|
||||
|
||||
/* Left hand */
|
||||
BP_DLR, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_AT,
|
||||
KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_BSPC,
|
||||
BP_W, BP_A, BP_U, BP_I, BP_E, BP_COMM,
|
||||
KC_LSFT, BP_ECIR, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K,
|
||||
KC_LCTL, KC_LGUI, KC_LGUI, KC_LGUI, KC_LALT,
|
||||
KC_PGUP, KC_PGDN,
|
||||
KC_INS,
|
||||
KC_SPC, KC_LSFT, DF(FNAV),
|
||||
|
||||
/* Right hand */
|
||||
BP_PLUS, BP_MINS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, BP_PERC,
|
||||
KC_CAPS, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z,
|
||||
BP_C, BP_T, BP_S, BP_R, BP_N, BP_M,
|
||||
KC_ESC, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, BP_CCED,
|
||||
KC_ALGR, KC_RGUI, KC_RGUI, KC_RCTL, KC_ENTER,
|
||||
DF(BEPO), KC_DEL,
|
||||
DF(FNAV),
|
||||
MO(FNAV), KC_RSFT, KC_ENTER),
|
||||
|
||||
/* Keymap 1: function / navigation / mouse layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | F12 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | Next |LClick| Up |RClick| WhUp |Backspace| | | PgUp | Home | Up | End | F11 | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | Prev | Left | Down | Right|WhDown|------| |------| Left | Down | Up | Right | F12 | |
|
||||
* |--------+------+------+------+------+------| VolUp| | |------+------+------+------+------+--------|
|
||||
* | Shift | Undo | Cut | Copy | Paste| | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------,-------------. ,-------------`-------------+------+------+------+------+--------'
|
||||
* | ctrl | super | super | alt | | Home | End | | | | | | Alt | | |Ctrl | |
|
||||
* `----------------------------------' ,------|------|------| |------+------+------. `----------------------------------'
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[FNAV] = LAYOUT_ergodox(
|
||||
|
||||
/* Left hand */
|
||||
KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
KC_NO, KC_MS_BTN5, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_MS_WH_UP, KC_BSPC,
|
||||
KC_NO, KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN,
|
||||
KC_LSFT, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_NO, KC_VOLD,
|
||||
KC_LCTL, KC_INS, KC_LGUI, KC_LGUI, KC_LALT,
|
||||
KC_HOME, KC_END,
|
||||
KC_TRNS,
|
||||
KC_NO, KC_TRNS, KC_TRNS,
|
||||
|
||||
/* Right hand */
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F12,
|
||||
KC_NO, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_F11, KC_NO,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_F12, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_RALT, KC_TRNS, KC_TRNS, KC_RCTL, KC_NO,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_NO),
|
||||
};
|
||||
|
||||
/* helper function to switch on of the right LED ON/OFF */
|
||||
static void indicate_using_led(const uint8_t led, const bool enabled) {
|
||||
if (enabled) {
|
||||
ergodox_right_led_on(led);
|
||||
} else {
|
||||
ergodox_right_led_off(led);
|
||||
}
|
||||
}
|
||||
|
||||
/* Runs constantly in the background, in a loop */
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
/* red led for shift */
|
||||
if (keyboard_report->mods & MOD_BIT(KC_LSFT) ||
|
||||
((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) {
|
||||
indicate_using_led(1, true);
|
||||
} else {
|
||||
indicate_using_led(1, false);
|
||||
}
|
||||
|
||||
/* green led for alt */
|
||||
if (keyboard_report->mods & MOD_BIT(KC_LALT) ||
|
||||
((get_oneshot_mods() & MOD_BIT(KC_LALT)) && !has_oneshot_mods_timed_out())) {
|
||||
indicate_using_led(2, true);
|
||||
} else {
|
||||
indicate_using_led(2, false);
|
||||
}
|
||||
|
||||
/* blue led for function mode */
|
||||
if (IS_LAYER_ON(FNAV)) {
|
||||
indicate_using_led(3, true);
|
||||
} else {
|
||||
indicate_using_led(3, false);
|
||||
}
|
||||
};
|
|
@ -1,66 +0,0 @@
|
|||

|
||||
|
||||

|
||||
|
||||
# BEPO keymap for the ErgoDox (alternate version)
|
||||
|
||||
This keymap has been made for the BEPO layout (https://bepo.fr), which is an ergonomic french keyboard layout based on Dvorak rules. As it's made for french people, the following of this readme will be in french.
|
||||
|
||||
Keyboard Maintainer: [Nicolas CARPi](https://github.com/NicolasCARPi)
|
||||
|
||||
Hardware Supported: Ergodox EZ
|
||||
|
||||
## Disposition BÉPO pour l'ErgoDox
|
||||
|
||||
Cette keymap a été adaptée de la keymap "bepo_csa" présente dans le dossier parent.
|
||||
|
||||
Certaines modifications ont été apportées pour ressembler un peu plus à une clavier traditionel:
|
||||
|
||||
* entrée sur la touche tout en bas à droite (comme la touche entrée du pavé numérique sur un clavier traditionnel)
|
||||
* plusieurs touches "Super" pour faciliter son accès
|
||||
|
||||
Il y a deux layers, celui de base, et celui avec les flèches, les touches fonction et la souris (main gauche).
|
||||
|
||||
## Particularités
|
||||
|
||||
* Touches de repos des pouces : "espace" à gauche et "entrée" à droite.
|
||||
* Touche Ctrl gauche accessible avec la paume de la main.
|
||||
* Touche "w" placée sur la main gauche (j'ai toujours trouvé le "w" difficle d'accès sur un clavier bépo classique.
|
||||
* Plusieurs touches F12.
|
||||
* Les flèches sont disposées avec un déplacement à la VIM.
|
||||
* Un mode souris permet d'utiliser la souris avec le clavier.
|
||||
* Possibilité de changer de mode de manière temporaire ou permanente.
|
||||
* Les leds s'allument avec SHIFT, ALT ou la touche function.
|
||||
|
||||
J'ai fait cette disposition pour mes besoins, à vous de la modifier pour les vôtres ;)
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Pré-requis
|
||||
|
||||
Pour Archlinux, il est nécessaire d'installer ces paquets au préalable:
|
||||
|
||||
~~~bash
|
||||
sudo pacman -S avr-gcc avr-libc teensy-loader-cli
|
||||
~~~
|
||||
|
||||
Les paquets "avr" permettent de compiler le firmware, et teensy-loader permet de le charger sur le clavier.
|
||||
|
||||
### Compilation
|
||||
|
||||
~~~bash
|
||||
# clone the repo
|
||||
git clone https://github.com/qmk/qmk_firmware
|
||||
# install submodules
|
||||
make git-submodule
|
||||
# compile this layout
|
||||
make ergodox_ez:bepo_alt
|
||||
~~~
|
||||
|
||||
### Chargement
|
||||
|
||||
~~~bash
|
||||
teensy-loader-cli -w -mmcu=atmega32u4 -v ergodox_ez_bepo_alt.hex && sleep 6 && setxkbmap fr bepo
|
||||
~~~
|
||||
|
||||
J'ai ajouté un sleep avant la commande pour remettre en bépo afin de laisser au clavier le temps de rebooter.
|
|
@ -1,5 +0,0 @@
|
|||
# Having a file like this allows you to override Makefile definitions
|
||||
# for your own particular keymap
|
||||
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
@ -1,8 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#undef TAPPING_TERM
|
||||
#define TAPPING_TERM 150
|
||||
|
||||
#define RGBLIGHT_EFFECT_BREATHE_CENTER 1.4
|
||||
#define RGBLIGHT_EFFECT_BREATHE_MAX 150
|
||||
|
|
@ -1,286 +0,0 @@
|
|||
// Netable differences vs. the default firmware for the ErgoDox EZ:
|
||||
// 1. The Cmd key is now on the right side, making Cmd+Space easier.
|
||||
// 2. The media keys work on OSX (But not on Windows).
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
enum keyboard_layers {
|
||||
QWERTY = 0, // default layer
|
||||
NUMS, // numbers + symbols
|
||||
MOVE, // vim-like movement
|
||||
AFK,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
BF_AFK = SAFE_RANGE,
|
||||
BF_WAKE,
|
||||
BF_NUMS,
|
||||
BF_MOVE,
|
||||
};
|
||||
|
||||
// Dashes (macOS)
|
||||
#define KC_NDSH LALT(KC_MINS)
|
||||
#define KC_MDSH S(LALT(KC_MINS))
|
||||
|
||||
#define VIM_B LALT(KC_LEFT)
|
||||
#define VIM_W LALT(KC_RIGHT)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | Power| | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* |Ctrl/Esc| A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
||||
* |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Hyper | F19 |AltShf| | NUMS | | NUMS | |Ctrl/E| F19 | Meh |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | V- | V+ | | Next |Play/Pau|
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | Vx | | Prev | | |
|
||||
* | Space| LGUI |------| |------| Bsp | Enter|
|
||||
* | | | LAlt | | LAlt | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||
// Otherwise, it needs KC_*
|
||||
[QWERTY] = LAYOUT_ergodox( // layer 0 : default
|
||||
// left hand
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
|
||||
CTL_T(KC_ESC),KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_9),
|
||||
ALL_T(KC_NO), KC_F19,KC_LALT,KC_NO, BF_NUMS,
|
||||
KC_VOLD,KC_VOLU,
|
||||
KC_MUTE,
|
||||
KC_SPC,KC_LGUI,KC_LALT,
|
||||
|
||||
// right hand
|
||||
BF_AFK, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, LT(MOVE, KC_SCLN),KC_QUOT,
|
||||
S(KC_0), KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
|
||||
BF_NUMS,KC_NO, CTL_T(KC_ESC),KC_F19, MEH_T(KC_NO),
|
||||
KC_MNXT,KC_MPLY,
|
||||
KC_MPRV,
|
||||
KC_LALT,KC_BSPC,KC_ENT
|
||||
),
|
||||
|
||||
/* Keymap: Number Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | ⌘-` | ` | | | | | | | | | | | - | = | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | 1 | 2 | 3 | 4 | 5 |------| |------| 6 | 7 | 8 | 9 | 0 | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[NUMS] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
|
||||
LGUI(KC_GRV),KC_GRV, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||
KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, 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_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_MINS, KC_EQL, KC_TRNS,
|
||||
KC_6 , KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
||||
KC_TRNS, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_TRNS,
|
||||
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 2: Movement Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | |VIM W | | | | | | | ⌘ ← | ⌥ ← | ⌥ → | ⌘ → | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | HOME | PGUP | PGDW | END |------| |------| ← | ↓ | ↑ | → | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | |VIM B | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[MOVE] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,VIM_W, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_HOME,KC_PGUP,KC_PGDN,KC_END,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,VIM_B, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,LGUI(KC_LEFT),LALT(KC_LEFT),LALT(KC_RIGHT),LGUI(KC_RIGHT),KC_TRNS,KC_TRNS,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, 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_TRNS
|
||||
),
|
||||
|
||||
/* Keymap: AFK Layer
|
||||
* All keys wake
|
||||
*/
|
||||
[AFK] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
|
||||
// right hand
|
||||
KC_TRNS,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,
|
||||
BF_WAKE,
|
||||
BF_WAKE,BF_WAKE,BF_WAKE
|
||||
),
|
||||
};
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
/*
|
||||
* Led Configuration
|
||||
*/
|
||||
extern rgblight_config_t rgblight_config;
|
||||
|
||||
typedef struct {
|
||||
uint16_t hue :9;
|
||||
uint8_t sat :8;
|
||||
uint8_t val :8;
|
||||
uint8_t mode :6;
|
||||
} bf_rgb_data;
|
||||
|
||||
bf_rgb_data bf_rgb_config[] = { // color mode
|
||||
[QWERTY] = { .hue = 274, .sat = 255, .val = 36, .mode = 3 }, // purple breathing
|
||||
[MOVE] = { .hue = 180, .sat = 255, .val = 75, .mode = 1 }, // teal solid
|
||||
[NUMS] = { .hue = 120, .sat = 255, .val = 75, .mode = 1 }, // green solid
|
||||
[AFK] = { .hue = 0, .sat = 255, .val = 150, .mode = 22 }, // red knight
|
||||
};
|
||||
|
||||
static inline void bf_set_led(uint8_t layer) {
|
||||
bf_rgb_data cfg = bf_rgb_config[layer];
|
||||
|
||||
if (rgblight_config.mode != cfg.mode) {
|
||||
rgblight_mode(cfg.mode);
|
||||
}
|
||||
|
||||
rgblight_sethsv(cfg.hue, cfg.sat, cfg.val);
|
||||
}
|
||||
|
||||
static inline void mod_layer_with_rgb(keyrecord_t *record, uint8_t layer) {
|
||||
if (record->event.pressed) {
|
||||
layer_on(layer);
|
||||
bf_set_led(layer);
|
||||
} else {
|
||||
layer_off(layer);
|
||||
uint8_t currentLayer = get_highest_layer(layer_state);
|
||||
bf_set_led(currentLayer);
|
||||
};
|
||||
};
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Custom keycodes
|
||||
*/
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch(keycode) {
|
||||
case BF_AFK:
|
||||
if (record->event.pressed) {
|
||||
layer_on(AFK);
|
||||
SEND_STRING(SS_DOWN(X_LCTL)SS_DOWN(X_LSFT)SS_TAP(X_PWR)SS_UP(X_LSFT)SS_UP(X_LCTL));
|
||||
}
|
||||
return false; break;
|
||||
case BF_WAKE:
|
||||
if (record->event.pressed) {
|
||||
layer_off(AFK);
|
||||
SEND_STRING(" ");
|
||||
}
|
||||
return false; break;
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
case BF_NUMS:
|
||||
mod_layer_with_rgb(record, NUMS);
|
||||
return false; break;
|
||||
case BF_MOVE:
|
||||
mod_layer_with_rgb(record, MOVE);
|
||||
return false; break;
|
||||
#endif
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
/*
|
||||
* Active Routines
|
||||
*/
|
||||
void matrix_init_user(void) {
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
bf_set_led(QWERTY);
|
||||
#endif
|
||||
};
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
|
||||
switch (layer) {
|
||||
case NUMS:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
case MOVE:
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case AFK:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
}
|
||||
};
|
|
@ -1,93 +0,0 @@
|
|||
# Bernardo's modified version of the OSX defaults
|
||||
|
||||
I map F19 to spotlight so I like having that handy
|
||||
|
||||
## Base
|
||||
|
||||
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | | | | | | | | Power| | | | | | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
|Ctrl/Esc| A | S | D | F | G |------| |------| H | J | K | L |;/MOVE| ' |
|
||||
|--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
|
||||
| LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
|Hyper | F19 |AltShf| | NUMS | | NUMS | |Ctrl/E| F19 | Meh |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| V- | V+ | | Next |Play/Pau|
|
||||
,------|------|------| |------+--------+------.
|
||||
| | | Vx | | Prev | | |
|
||||
| Space| LGUI |------| |------| Bsp | Enter|
|
||||
| | | LAlt | | LAlt | | |
|
||||
`--------------------' `----------------------'
|
||||
```
|
||||
|
||||
## Numbers and Symbols
|
||||
|
||||
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| ⌘-` | ` | | | | | | | | | | | - | = | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | 1 | 2 | 3 | 4 | 5 |------| |------| 6 | 7 | 8 | 9 | 0 | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | | | | | | | | | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| | | | | |
|
||||
,------|------|------| |------+------+------.
|
||||
| | | | | | | |
|
||||
| | |------| |------| | |
|
||||
| | | | | | | |
|
||||
`--------------------' `--------------------'
|
||||
```
|
||||
|
||||
## Movement
|
||||
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| | | ⌥ ← | | | | | | | ⌘ ← | ⌥ ← | ⌥ → | ⌘ → | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | | HOME | PGUP | PGDW | END |------| |------| ← | ↓ | ↑ | → | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | | | | | ⌥ → | | | | | | | | | |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | | | | | | | | | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| | | | | |
|
||||
,------|------|------| |------+------+------.
|
||||
| | | | | | | |
|
||||
| | |------| |------| | |
|
||||
| | | | | | | |
|
||||
`--------------------' `--------------------'
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
In order to be able to make frequent updates, I maintain this layout [in its own
|
||||
repository](berfarah:ergodox-layout)
|
||||
|
||||
```sh
|
||||
git clone https://github.com/qmk/qmk_firmware.git
|
||||
cd qmk_firmware
|
||||
git clone https://github.com/berfarah/ergodox-layout.git \
|
||||
layouts/community/ergodox/berfarah_master
|
||||
make ergodox_ez-berfarah_master
|
||||
```
|
||||
|
||||
To use this keyboard, run `make ergodox_ez:berfarah`
|
||||
|
||||
## Using on Windows
|
||||
|
||||
The keymap default to forcing NKRO, which seems to upset Windows, and except the modifiers, none of them work. If you experience this problem, recompile the firmware with `FORCE_NKRO=no` added to the `make` command line.
|
|
@ -1,16 +0,0 @@
|
|||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
COMMAND_ENABLE = no
|
||||
SLEEP_LED_ENABLE = yes
|
||||
FORCE_NKRO ?= yes
|
||||
DEBUG_ENABLE = no
|
||||
CONSOLE_ENABLE = no
|
||||
TAP_DANCE_ENABLE = no
|
||||
MOUSEKEY_ENABLE = no
|
||||
ifdef RGBLIGHT_ENABLE
|
||||
RGBLIGHT_ANIMATION = yes
|
||||
endif
|
||||
|
||||
ifeq (${FORCE_NKRO},yes)
|
||||
OPT_DEFS += -DFORCE_NKRO
|
||||
endif
|
||||
|
|
@ -1,284 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Keymap 0: Colemak
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | BSPACE |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | TAB | Q | W | F | P | G | | | | J | L | U | Y | ; : | \ | |
|
||||
* |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
|
||||
* | ESC | A | R | S | T | D |------| |------| H | N | E | I | O | ' " |
|
||||
* |--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
|
||||
* | Shift |CTR(Z)|GUI(X)|ALT(C)| V | B | [ | | ] | K | M | , < |ALT(.)|CTR(/)| Shift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |OSL(3)| TG(2)| TO(5)| TO(1)| CAPS | | LEFT | DOWN | UP |RIGHT |TG(4)|
|
||||
* `----------------------------------' `---------------------------------'
|
||||
* ,--------------. ,--------------.
|
||||
* | LCTR | LALT | | RALT | RCTR |
|
||||
* ,------|------|-------| |------+-------+------.
|
||||
* | | | MUTE | |SCROLU| | |
|
||||
* |BSPACE|DELETE|-------| |------| ENTER |SPACE |
|
||||
* | | | GUI | |SCROLD| | |
|
||||
* `---------------------' `---------------------'
|
||||
*/
|
||||
[0] = LAYOUT_ergodox(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LPRN,
|
||||
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
KC_LSFT, CTL_T(KC_Z), GUI_T(KC_X), ALT_T(KC_C), KC_V, KC_B, KC_LBRC,
|
||||
OSL(3), TG(2), TO(5), TO(1), KC_CAPS,
|
||||
KC_LCTL, KC_LALT,
|
||||
KC_MUTE,
|
||||
KC_BSPC, KC_DEL, KC_LGUI,
|
||||
|
||||
KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_RPRN, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
KC_RBRC, KC_K, KC_M, KC_COMM, ALT_T(KC_DOT), CTL_T(KC_SLSH), KC_RSFT,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TG(4),
|
||||
KC_RALT, KC_RCTL,
|
||||
KC_WH_U,
|
||||
KC_WH_D, KC_ENT, KC_SPC
|
||||
),
|
||||
|
||||
/* Keymap 1: QWERTY
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | ESC |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | Q | W | E | R | T | | | | Y | U | I | O | P | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | CAPS | A | S | D | F | G |------| |------| H | J | K | L | ; | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | |CTL(Z)|GUI(X)|ALT(C)| V | B | | | | N | M | , < |ALT(.)|CTL(/)| |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |OSL(3)| TG(2)| TO(5)| TO(0)| | | | | | | TG(4)|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,--------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+-------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `---------------------'
|
||||
*/
|
||||
[1] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_TRNS, CTL_T(KC_Z), GUI_T(KC_X), ALT_T(KC_C), KC_V, KC_B, KC_TRNS,
|
||||
OSL(3), TG(2), TO(5), TO(0), 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_ESC,
|
||||
KC_RPRN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_TRNS,
|
||||
KC_RBRC, KC_N, KC_M, KC_COMM, ALT_T(KC_DOT), CTL_T(KC_SLSH), KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(4),
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 2: Function Row
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,--------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+-------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `---------------------'
|
||||
*/
|
||||
[2] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
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_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 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, 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_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 3: Symbols
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | + | < | > | # | | | | ~ | ( | ) | \ | : | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | ! | - | = | % | @ |------| |------| _ | { | } | / | ? | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | * | & | / | $ | ^ | | | | | | [ | ] | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,--------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+-------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `---------------------'
|
||||
*/
|
||||
[3] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
KC_TRNS, KC_PIPE, KC_PLUS, KC_LABK, KC_RABK, KC_HASH, KC_TRNS,
|
||||
KC_TRNS, KC_EXLM, KC_MINS, KC_EQL, KC_PERC, KC_AT,
|
||||
KC_TRNS, KC_ASTR, KC_AMPR, KC_SLSH, KC_DLR, KC_CIRC, 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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
|
||||
KC_TRNS, KC_TILD, KC_LPRN, KC_RPRN, KC_BSLS, KC_COLN, KC_TRNS,
|
||||
KC_UNDS, KC_LCBR, KC_RCBR, KC_SLSH, KC_QUES, KC_TRNS,
|
||||
KC_TRNS, KC_PIPE, KC_LBRC, KC_RBRC, 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
|
||||
),
|
||||
|
||||
/* Keymap 4: Numlock
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | POWER |SLEEP | |MOUSE3| | | QK_BOOT| |QK_BOOT |SCROL | NUML | / | * | - | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | |MOUSE1|MOUSEU|MOUSE2|SCROLU| | | | | 7 | 8 | 9 | + | ACCEL0 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MOUSEL|MOUSED|MOUSER|SCROLD|------| |------| | 4 | 5 | 6 | + | ACCEL1 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |ACCEL0|ACCEL1|ACCEL2| | | | | | 1 | 2 | 3 |ENTER | ACCEL2 |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | 0 | 0 | . |ENTER | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | VOL+ | VOL- | |MEDIA<|MEDIA>|
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | MUTE | |Pause | | |
|
||||
* | | |------| |------| | |
|
||||
* | | |FILES | | CALC | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[4] = LAYOUT_ergodox(
|
||||
KC_PWR, KC_SLEP, KC_TRNS, KC_BTN3, KC_TRNS, KC_TRNS, QK_BOOT,
|
||||
KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D,
|
||||
KC_TRNS, KC_TRNS, KC_ACL0, KC_ACL1, KC_ACL2, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_VOLD, KC_VOLU,
|
||||
KC_MUTE,
|
||||
KC_TRNS, KC_TRNS, KC_MYCM,
|
||||
|
||||
QK_BOOT, KC_SCRL, KC_NUM, KC_SLSH, KC_ASTR, KC_MINS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_PLUS, KC_ACL2,
|
||||
KC_TRNS, KC_4, KC_5, KC_6, KC_PLUS, KC_ACL1,
|
||||
KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_ENT, KC_ACL0,
|
||||
KC_0, KC_0, KC_DOT, KC_ENT, KC_TRNS,
|
||||
KC_MPRV, KC_MNXT,
|
||||
KC_MPLY,
|
||||
KC_CALC, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 5: Gaming
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | ESC |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | TAB | Q | W | E | R | T | | | | Y | U | I | O | P | \ | |
|
||||
* |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
|
||||
* | LCTR | A | S | D | F | G |------| |------| H | J | K | L | ; : | ' " |
|
||||
* |--------+------+------+------+------+------| MEDIA| | } |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | P/P | | ] | K | M | UP | . > | / ? | Shift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | LCTR |ALTTAB| TO(0)| ALT | SPACE| | LEFT | DOWN | RIGHT| , < |TO(0) |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,--------------. ,--------------.
|
||||
* |MEDIA<| MEDIA>| | RALT | RCTR |
|
||||
* ,------|------|-------| |------+-------+------.
|
||||
* | | | VOL+ | | PGUP | | |
|
||||
* |SPACE |ENTER |-------| |------|BSPACE |DELETE|
|
||||
* | | | VOL- | | PGDWN| | |
|
||||
* `---------------------' `---------------------'
|
||||
*/
|
||||
[5] = LAYOUT_ergodox(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY,
|
||||
KC_LCTL, LALT(KC_TAB), TO(0), KC_LALT, KC_SPC,
|
||||
KC_MPRV, KC_MNXT,
|
||||
KC_VOLU,
|
||||
KC_SPC, KC_ENT, KC_VOLD,
|
||||
|
||||
KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_ESC,
|
||||
KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE,
|
||||
KC_TRNS, KC_N, KC_M, KC_UP, KC_DOT, KC_SLSH, KC_LSFT,
|
||||
KC_LEFT, KC_DOWN, KC_RGHT, KC_COMM, TO(0),
|
||||
KC_LALT, KC_LCTL,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_BSPC, KC_DEL
|
||||
),
|
||||
};
|
||||
|
||||
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) {
|
||||
case 1:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
case 3:
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case 4:
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
case 5:
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case 6:
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,138 +0,0 @@
|
|||
# Choromanski
|
||||
|
||||
## Features
|
||||
* Colemak
|
||||
* Qwerty
|
||||
* Toggable function row
|
||||
* Symbol layer programmer friendly
|
||||
* Numpad/Mouse layer with media controls
|
||||
* Gaming friendly layer
|
||||
|
||||
## Layers
|
||||
|
||||
### 0 Colemak
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | BSPACE |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| TAB | Q | W | F | P | G | | | | J | L | U | Y | ; : | \ | |
|
||||
|--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
|
||||
| ESC | A | R | S | T | D |------| |------| H | N | E | I | O | ' " |
|
||||
|--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
|
||||
| Shift |CTR(Z)|GUI(X)|ALT(C)| V | B | [ | | ] | K | M | , < |ALT(.)|CTR(/)| Shift |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
|OSL(3)| TG(2)| TO(5)| TO(1)| CAPS | | LEFT | DOWN | UP |RIGHT |TG(4)|
|
||||
`----------------------------------' `---------------------------------'
|
||||
,--------------. ,--------------.
|
||||
| LCTR | LALT | | RALT | RCTR |
|
||||
,------|------|-------| |------+-------+------.
|
||||
| | | MUTE | |SCROLU| | |
|
||||
|BSPACE|DELETE|-------| |------| ENTER |SPACE |
|
||||
| | | GUI | |SCROLD| | |
|
||||
`---------------------' `---------------------'
|
||||
```
|
||||
### 1 Qwerty
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | ESC |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| | Q | W | E | R | T | | | | Y | U | I | O | P | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| CAPS | A | S | D | F | G |------| |------| H | J | K | L | ; | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| |CTL(Z)|GUI(X)|ALT(C)| V | B | | | | N | M | , < |ALT(.)|CTL(/)| |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
|OSL(3)| TG(2)| TO(5)| TO(0)| | | | | | | TG(4)|
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,--------------.
|
||||
| | | | | |
|
||||
,------|------|------| |------+-------+------.
|
||||
| | | | | | | |
|
||||
| | |------| |------| | |
|
||||
| | | | | | | |
|
||||
`--------------------' `---------------------'
|
||||
```
|
||||
### 2 Function Lock
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | | | | | |------| |------| | | | | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | | | | | | | | | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,--------------.
|
||||
| | | | | |
|
||||
,------|------|------| |------+-------+------.
|
||||
| | | | | | | |
|
||||
| | |------| |------| | |
|
||||
| | | | | | | |
|
||||
`--------------------' `---------------------'
|
||||
```
|
||||
### 3 Symbols
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| | | | + | < | > | # | | | | ~ | ( | ) | \ | : | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | ! | - | = | % | @ |------| |------| _ | { | } | / | ? | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | * | & | / | $ | ^ | | | | | | [ | ] | | | |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | | | | | | | | | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,--------------.
|
||||
| | | | | |
|
||||
,------|------|------| |------+-------+------.
|
||||
| | | | | | | |
|
||||
| | |------| |------| | |
|
||||
| | | | | | | |
|
||||
`--------------------' `---------------------'
|
||||
```
|
||||
### 4 Numpad/Mouse with Media Controls
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| POWER |SLEEP | |MOUSE3| | | RESET| |RESET |SCROL | NUML | / | | - | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| | |MOUSE1|MOUSEU|MOUSE2|SCROLU| | | | | 7 | 8 | 9 | + | ACCEL0 |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | |MOUSEL|MOUSED|MOUSER|SCROLD|------| |------| | 4 | 5 | 6 | + | ACCEL1 |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | |ACCEL0|ACCEL1|ACCEL2| | | | | | 1 | 2 | 3 |ENTER | ACCEL2 |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | | | | | 0 | 0 | . |ENTER | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| VOL+ | VOL- | |MEDIA<|MEDIA>|
|
||||
,------|------|------| |------+------+------.
|
||||
| | | MUTE | |Pause | | |
|
||||
| | |------| |------| | |
|
||||
| | |FILES | | CALC | | |
|
||||
`--------------------' `--------------------'
|
||||
```
|
||||
### 5 Gaming
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | ESC |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| TAB | Q | W | E | R | T | | | | Y | U | I | O | P | \ | |
|
||||
|--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
|
||||
| LCTR | A | S | D | F | G |------| |------| H | J | K | L | ; : | ' " |
|
||||
|--------+------+------+------+------+------| MEDIA| | } |------+------+------+------+------+--------|
|
||||
| LShift | Z | X | C | V | B | P/P | | ] | K | M | UP | . > | / ? | Shift |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| LCTR |ALTTAB| TO(0)| ALT | SPACE| | LEFT | DOWN | RIGHT| , < |TO(0) |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,--------------. ,--------------.
|
||||
|MEDIA<| MEDIA>| | RALT | RCTR |
|
||||
,------|------|-------| |------+-------+------.
|
||||
| | | VOL+ | | PGUP | | |
|
||||
|SPACE |ENTER |-------| |------|BSPACE |DELETE|
|
||||
| | | VOL- | | PGDWN| | |
|
||||
`---------------------' `---------------------'
|
||||
```
|
|
@ -1,160 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
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 | F | P | G | L1 | | L1 | J | L | U | Y | ; | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | BkSp | A | R | S | T | D |------| |------| H | N | E | I |O / L2| ' |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift |Z/Ctrl| X | C | V | B | | | | K | 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_F, KC_P, KC_G, TG(SYMB),
|
||||
KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
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(SYMB), KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
KC_H, KC_N, KC_E, KC_I, LT(MDIA, KC_O), KC_QUOT,
|
||||
MEH_T(KC_NO),KC_K, 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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
KC_TRNS,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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, 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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,4 +0,0 @@
|
|||
# ErgoDox EZ Colemak Configuration
|
||||
|
||||
Colemak layout with same layers as default ergodox ez keymap.
|
||||
|
|
@ -1,333 +0,0 @@
|
|||
/* -*- Mode:C; c-basic-offset:2; tab-width:2; indent-tabs-mode:nil; evil-indent-convert-tabs:t; -*- */
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
//#define DYNAMIC_MACRO_SIZE 128
|
||||
|
||||
#define LAYER_BASE 0 /* default layer */
|
||||
#define LAYER_NUM 1 /* numbers and symbols */
|
||||
#define LAYER_LNUM 2 /* Left side -> LAYER_NUM, Right side -> Shift + LAYER_BASE */
|
||||
#define LAYER_RNUM 3 /* Left side -> Shift + LAYER_BASE, Right side -> LAYER_NUM */
|
||||
|
||||
enum custom_keycodes5 {
|
||||
PLACEHOLDER = SAFE_RANGE, /* can always be here */
|
||||
|
||||
M_POINER, /* -> */
|
||||
M_LAMBDA, /* => */
|
||||
M_IN_CBR, /* {} */
|
||||
M_IN_PRN, /* () */
|
||||
M_IN_BRC, /* [] */
|
||||
M_IN_ANG, /* <> */
|
||||
M_NOT_EQL, /* != */
|
||||
M_COL_EQL, /* := */
|
||||
M_PLUS_EQL,/* += */
|
||||
|
||||
DYNAMIC_MACRO_RANGE,
|
||||
};
|
||||
|
||||
#include "dynamic_macro.h"
|
||||
|
||||
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
* .--------------------------------------------------. .--------------------------------------------------.
|
||||
* | Grave | ! | @ | # | $ | % | ^ | | TG(1)| & | * | ( | ) | - | Bspc |
|
||||
* |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | F | P | G | = | | _ | J | L | U | Y | ; | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Esc | A | R | S | T | D |------| |------| H | N | E | I | O | ' |
|
||||
* |--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
|
||||
* | LShift |Z/LCtl|X/Supe| C | V |B/RAlt| | | |K/RAlt| M | , |./Supe|/ RCtl| RShift |
|
||||
* '--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
|
||||
* | LCtl |Super | Alt | [ | ] | | Left | Down | Up |Right | Del |
|
||||
* '----------------------------------' '----------------------------------'
|
||||
* .-------------. .-------------.
|
||||
* | Home | End | | Ins |ScrLck|
|
||||
* .------+------+------| |------+------+------.
|
||||
* | | |PrnScr| | PgUp | | |
|
||||
* | LNUM | Enter|------| |------| Space| RNUM |
|
||||
* | | | Super| | PgDn | | |
|
||||
* '--------------------' '--------------------'
|
||||
*/
|
||||
|
||||
[LAYER_BASE] = LAYOUT_ergodox( /* layer 0 : default */
|
||||
/* left hand */
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_EQL,
|
||||
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
KC_LSFT, LCTL_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, RALT_T(KC_B), KC_LCBR,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_LBRC, KC_RBRC,
|
||||
|
||||
KC_HOME, KC_END,
|
||||
KC_PSCR,
|
||||
MO(LAYER_LNUM), KC_ENT, KC_LGUI,
|
||||
/* right hand */
|
||||
TG(1), KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINS, KC_BSPC,
|
||||
KC_UNDS, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
KC_RCBR, RALT_T(KC_K), KC_M, KC_COMM, LGUI_T(KC_DOT), RCTL_T(KC_SLSH), KC_RSFT,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL,
|
||||
KC_INS, KC_SCRL,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_SPC, MO(LAYER_RNUM)
|
||||
),
|
||||
/* Keymap 1: Numbers, Macro Record
|
||||
*
|
||||
* .--------------------------------------------------. .--------------------------------------------------.
|
||||
* | | | | | | <> | | | | | * | ( | ) | - | |
|
||||
* |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
* | | F12 | F11 | F10 | F9 | {} | | | = | => | 7 | 8 | 9 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | F8 | F7 | F6 | F5 | () |------| |------| -> | 4 | 5 | 6 | 0 | |
|
||||
* |--------+------+------+------+------+------| | | Enter|------+------+------+------+------+--------|
|
||||
* | | F4 | F3 | F2 | F1 | [] | | | | != | 1 | 2 | 3 | | |
|
||||
* '--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
|
||||
* | MUTE | VOLD | VOLU | | | | 0 | , | . | | |
|
||||
* '----------------------------------' '----------------------------------'
|
||||
* .-------------. .-------------.
|
||||
* | | | | | Stop |
|
||||
* .------+------+------| |------+------+------.
|
||||
* | | |Start1| |Start2| | |
|
||||
* | | |------| |------| | |
|
||||
* | | |Play1 | |Play2 | | |
|
||||
* '--------------------' '--------------------'
|
||||
*/
|
||||
[LAYER_NUM] = LAYOUT_ergodox(
|
||||
/* left hand */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M_IN_ANG, KC_TRNS,
|
||||
KC_TRNS, KC_F12, KC_F11, KC_F10, KC_F9, M_IN_CBR, KC_TRNS,
|
||||
KC_TRNS, KC_F8, KC_F7, KC_F6, KC_F5, M_IN_PRN,
|
||||
KC_TRNS, KC_F4, KC_F3, KC_F2, KC_F1, M_IN_BRC, KC_TRNS,
|
||||
KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_TRNS, KC_TRNS,
|
||||
DM_REC1,
|
||||
KC_TRNS, KC_TRNS, DM_PLY1,
|
||||
/* right hand */
|
||||
KC_TRNS, KC_TRNS, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINS, KC_TRNS,
|
||||
KC_EQL, M_LAMBDA, KC_7, KC_8, KC_9, KC_PLUS, KC_TRNS,
|
||||
M_POINER, KC_4, KC_5, KC_6, KC_0, KC_TRNS,
|
||||
KC_ENT, M_NOT_EQL, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS,
|
||||
KC_0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, DM_RSTP,
|
||||
DM_REC2,
|
||||
DM_PLY2, KC_TRNS, KC_TRNS
|
||||
),
|
||||
/* Keymap 2: Left side -> LAYER_NUM, Right side -> Shift + LAYER_BASE
|
||||
*
|
||||
* .--------------------------------------------------. .--------------------------------------------------.
|
||||
* | | | | | | <> | | | TG(1)| & | * | ( | ) | - | Bspc |
|
||||
* |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
* | | F12 | F11 | F10 | F9 | {} | | | _ | J | L | U | Y | ; | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | F8 | F7 | F6 | F5 | () |------| |------| H | N | E | I | O | ' |
|
||||
* |--------+------+------+------+------+------| | | } |------+------+------+------+------+--------|
|
||||
* | | F4 | F3 | F2 | F1 | [] | | | |K/RAlt| M | , |./Supe|/ RCtl| RShift |
|
||||
* '--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
|
||||
* | MUTE | VOLD | VOLU | | | | Left | Down | Up |Right | Del |
|
||||
* '----------------------------------' '----------------------------------'
|
||||
* .-------------. .-------------.
|
||||
* | | | | Ins |ScrLck|
|
||||
* .------+------+------| |------+------+------.
|
||||
* | | |Start1| | PgUp | | |
|
||||
* | | |------| |------| Space|CapsLk|
|
||||
* | | |Play1 | | PgDn | | |
|
||||
* '--------------------' '--------------------'
|
||||
*/
|
||||
[LAYER_LNUM] = LAYOUT_ergodox(
|
||||
/* left hand */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M_IN_ANG, KC_TRNS,
|
||||
KC_TRNS, KC_F12, KC_F11, KC_F10, KC_F9, M_IN_CBR, KC_TRNS,
|
||||
KC_TRNS, KC_F8, KC_F7, KC_F6, KC_F5, M_IN_PRN,
|
||||
KC_TRNS, KC_F4, KC_F3, KC_F2, KC_F1, M_IN_BRC, KC_TRNS,
|
||||
KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_TRNS, KC_TRNS,
|
||||
DM_REC1,
|
||||
KC_TRNS, KC_TRNS, DM_PLY1,
|
||||
/* right hand */
|
||||
TG(1), KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, S(KC_MINS), S(KC_BSPC),
|
||||
KC_UNDS, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), S(KC_SCLN), S(KC_BSLS),
|
||||
S(KC_H), S(KC_N), S(KC_E), S(KC_I), S(KC_O), S(KC_QUOT),
|
||||
KC_RCBR, S(KC_K), S(KC_M), S(KC_COMM), S(KC_DOT), S(KC_SLSH), KC_RSFT,
|
||||
S(KC_LEFT), S(KC_DOWN), S(KC_UP), S(KC_RGHT), S(KC_DEL),
|
||||
S(KC_INS), S(KC_SCRL),
|
||||
S(KC_PGUP),
|
||||
S(KC_PGDN), S(KC_SPC), KC_CAPS
|
||||
),
|
||||
/* Keymap 3: Left side -> Shift + LAYER_BASE, Right side -> LAYER_NUM
|
||||
*
|
||||
* .--------------------------------------------------. .--------------------------------------------------.
|
||||
* | Grave | ! | @ | # | $ | % | ^ | | | | * | ( | ) | - | |
|
||||
* |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | F | P | G | = | | = | => | 7 | 8 | 9 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Esc | A | R | S | T | D |------| |------| -> | 4 | 5 | 6 | 0 | |
|
||||
* |--------+------+------+------+------+------| { | | Enter|------+------+------+------+------+--------|
|
||||
* | LShift |Z/LCtl|X/Supe| C | V |B/RAlt| | | | != | 1 | 2 | 3 | | |
|
||||
* '--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
|
||||
* | LCtl |Super | Alt | [ | ] | | 0 | , | . | | |
|
||||
* '----------------------------------' '----------------------------------'
|
||||
* .-------------. .-------------.
|
||||
* | Home | End | | | Stop |
|
||||
* .------+------+------| |------+------+------.
|
||||
* | | |PrnScr| |Start2| | |
|
||||
* |CapsLk| Enter|------| |------| | |
|
||||
* | | | Super| |Play2 | | |
|
||||
* '--------------------' '--------------------'
|
||||
*/
|
||||
[LAYER_RNUM] = LAYOUT_ergodox(
|
||||
/* left hand */
|
||||
S(KC_GRV), KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC,
|
||||
S(KC_TAB), S(KC_Q), S(KC_W), S(KC_F), S(KC_P), S(KC_G), S(KC_EQL),
|
||||
S(KC_ESC), S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_D),
|
||||
KC_LSFT, S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), KC_LCBR,
|
||||
S(KC_LCTL), S(KC_LGUI), S(KC_LALT), S(KC_LBRC), S(KC_RBRC),
|
||||
|
||||
S(KC_HOME), S(KC_END),
|
||||
S(KC_PSCR),
|
||||
KC_CAPS, S(KC_ENT), S(KC_LGUI),
|
||||
/* right hand */
|
||||
KC_TRNS, KC_TRNS, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINS, KC_TRNS,
|
||||
KC_EQL, M_LAMBDA, KC_7, KC_8, KC_9, KC_PLUS, KC_TRNS,
|
||||
M_POINER, KC_4, KC_5, KC_6, KC_0, KC_TRNS,
|
||||
KC_ENT, M_NOT_EQL, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS,
|
||||
KC_0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, DM_RSTP,
|
||||
DM_REC2,
|
||||
DM_PLY2, KC_TRNS, KC_TRNS
|
||||
),
|
||||
};
|
||||
|
||||
static bool recording_dynamic_macro;
|
||||
|
||||
static bool process_record_dynamic_macro_wrapper(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
/* detect dynamic macro recording state */
|
||||
case QK_DYNAMIC_MACRO_RECORD_START_1:
|
||||
case QK_DYNAMIC_MACRO_RECORD_START_2:
|
||||
if (record->event.pressed) {
|
||||
recording_dynamic_macro = true;
|
||||
}
|
||||
break;
|
||||
case QK_DYNAMIC_MACRO_RECORD_STOP:
|
||||
if (record->event.pressed) {
|
||||
recording_dynamic_macro = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (!process_record_dynamic_macro(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
/* the purpose of the ..._wrapper is to detect START/ST0P keys to
|
||||
light the blue led during recording */
|
||||
if (!process_record_dynamic_macro_wrapper(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (keycode) {
|
||||
/* static macro keys */
|
||||
case M_IN_CBR:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("{}" SS_TAP(X_LEFT));
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case M_IN_PRN:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("()" SS_TAP(X_LEFT));
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case M_IN_BRC:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("[]" SS_TAP(X_LEFT));
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case M_IN_ANG:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("<>" SS_TAP(X_LEFT));
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case M_POINER:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("->");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case M_LAMBDA:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("=>");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case M_NOT_EQL:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("!=");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case M_COL_EQL:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(":=");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case M_PLUS_EQL:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("+=");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Runs just one time when the keyboard initializes. */
|
||||
void matrix_init_user(void) {
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
ergodox_right_led_1_set(5);
|
||||
ergodox_right_led_2_set(5);
|
||||
ergodox_right_led_3_set(5);
|
||||
};
|
||||
|
||||
/* Runs constantly in the background, in a loop. */
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
//led 2, GREEN
|
||||
if (layer == LAYER_NUM)
|
||||
ergodox_right_led_2_on();
|
||||
else
|
||||
ergodox_right_led_2_off();
|
||||
|
||||
//led 3, BLUE
|
||||
if (recording_dynamic_macro)
|
||||
ergodox_right_led_3_on();
|
||||
else
|
||||
ergodox_right_led_3_off();
|
||||
};
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
bool led_update_user(led_t led_state) {
|
||||
if (led_state.caps_lock)
|
||||
ergodox_right_led_1_on();
|
||||
else
|
||||
ergodox_right_led_1_off();
|
||||
return false;
|
||||
}
|
|
@ -1,106 +0,0 @@
|
|||
# ErgoDox EZ Code Friendly Colemak Layout
|
||||
|
||||
_This layout was inspired by qwerty_code_friendly layout._
|
||||
|
||||
Having all the symbols accessible without modifiers is a good improvement for coding.
|
||||
|
||||
There are only two layouts which is easy to memorize.
|
||||
|
||||
There are two _"Super shifts"_, LNUM and RNUM, placed on the most convenient physical keys. Each of them act as shift for the opposite side of the keyboard, and as a modifier key for the current side (usage similar to AltGr in many national layouts). This is achieved by duplicating the corresponding parts of Layer 0 and 1 into Layer 3 and 4. As a bonus, pressing both keys toggles Caps-Lock.
|
||||
|
||||
The numerical keypad is composed from regular number keys, works even in macOS.
|
||||
|
||||
## Keymap 0: Basic layer
|
||||
|
||||
```
|
||||
.--------------------------------------------------. .--------------------------------------------------.
|
||||
| Grave | ! | @ | # | $ | % | ^ | | TG(1)| & | * | ( | ) | - | Bspc |
|
||||
|--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
| Tab | Q | W | F | P | G | = | | _ | J | L | U | Y | ; | \ |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| Esc | A | R | S | T | D |------| |------| H | N | E | I | O | ' |
|
||||
|--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
|
||||
| LShift |Z/LCtl|X/Supe| C | V |B/RAlt| | | |K/RAlt| M | , |./Supe|/ RCtl| RShift |
|
||||
'--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
|
||||
| LCtl |Super | Alt | [ | ] | | Left | Down | Up |Right | Del |
|
||||
'----------------------------------' '----------------------------------'
|
||||
.-------------. .-------------.
|
||||
| Home | End | | Ins |ScrLck|
|
||||
.------+------+------| |------+------+------.
|
||||
| | |PrnScr| | PgUp | | |
|
||||
| LNUM | Enter|------| |------| Space| RNUM |
|
||||
| | | Super| | PgDn | | |
|
||||
'--------------------' '--------------------'
|
||||
```
|
||||
|
||||
## Keymap 1: Numbers, Macro Record
|
||||
|
||||
|
||||
```
|
||||
.--------------------------------------------------. .--------------------------------------------------.
|
||||
| | | | | | <> | | | | | * | ( | ) | - | |
|
||||
|--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
| | F12 | F11 | F10 | F9 | {} | | | = | => | 7 | 8 | 9 | + | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | F8 | F7 | F6 | F5 | () |------| |------| -> | 4 | 5 | 6 | 0 | |
|
||||
|--------+------+------+------+------+------| | | Enter|------+------+------+------+------+--------|
|
||||
| | F4 | F3 | F2 | F1 | [] | | | | != | 1 | 2 | 3 | | |
|
||||
'--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
|
||||
| MUTE | VOLD | VOLU | | | | 0 | , | . | | |
|
||||
'----------------------------------' '----------------------------------'
|
||||
.-------------. .-------------.
|
||||
| | | | | Stop |
|
||||
.------+------+------| |------+------+------.
|
||||
| | |Start1| |Start2| | |
|
||||
| | |------| |------| | |
|
||||
| | |Play1 | |Play2 | | |
|
||||
'--------------------' '--------------------'
|
||||
```
|
||||
|
||||
## Keymap 2: Left side -> LAYER_NUM, Right side -> Shift + LAYER_BASE
|
||||
|
||||
|
||||
```
|
||||
.--------------------------------------------------. .--------------------------------------------------.
|
||||
| | | | | | <> | | | TG(1)| & | * | ( | ) | - | Bspc |
|
||||
|--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
| | F12 | F11 | F10 | F9 | {} | | | _ | J | L | U | Y | ; | \ |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | F8 | F7 | F6 | F5 | () |------| |------| H | N | E | I | O | ' |
|
||||
|--------+------+------+------+------+------| | | } |------+------+------+------+------+--------|
|
||||
| | F4 | F3 | F2 | F1 | [] | | | |K/RAlt| M | , |./Supe|/ RCtl| RShift |
|
||||
'--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
|
||||
| MUTE | VOLD | VOLU | | | | Left | Down | Up |Right | Del |
|
||||
'----------------------------------' '----------------------------------'
|
||||
.-------------. .-------------.
|
||||
| | | | Ins |ScrLck|
|
||||
.------+------+------| |------+------+------.
|
||||
| | |Start1| | PgUp | | |
|
||||
| | |------| |------| Space|CapsLk|
|
||||
| | |Play1 | | PgDn | | |
|
||||
'--------------------' '--------------------'
|
||||
```
|
||||
|
||||
## Keymap 3: Left side -> Shift + LAYER_BASE, Right side -> LAYER_NUM
|
||||
|
||||
|
||||
```
|
||||
.--------------------------------------------------. .--------------------------------------------------.
|
||||
| Grave | ! | @ | # | $ | % | ^ | | | | * | ( | ) | - | |
|
||||
|--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
| Tab | Q | W | F | P | G | = | | = | => | 7 | 8 | 9 | + | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| Esc | A | R | S | T | D |------| |------| -> | 4 | 5 | 6 | 0 | |
|
||||
|--------+------+------+------+------+------| { | | Enter|------+------+------+------+------+--------|
|
||||
| LShift |Z/LCtl|X/Supe| C | V |B/RAlt| | | | != | 1 | 2 | 3 | | |
|
||||
'--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------'
|
||||
| LCtl |Super | Alt | [ | ] | | 0 | , | . | | |
|
||||
'----------------------------------' '----------------------------------'
|
||||
.-------------. .-------------.
|
||||
| Home | End | | | Stop |
|
||||
.------+------+------| |------+------+------.
|
||||
| | |PrnScr| |Start2| | |
|
||||
|CapsLk| Enter|------| |------| | |
|
||||
| | | Super| |Play2 | | |
|
||||
'--------------------' '--------------------'
|
||||
```
|
|
@ -1,7 +0,0 @@
|
|||
COMMAND_ENABLE = no
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no
|
||||
CONSOLE_ENABLE = no
|
||||
RGBLIGHT_ENABLE = no
|
||||
LEADER_ENABLE = no
|
||||
MIDI_ENABLE = no
|
|
@ -1,285 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
#include "keymap_norwegian.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define BASE_MAC 1 // default layer mac
|
||||
#define NUMB_SYMB 2 // numbers and symbols
|
||||
#define NUMB_SYMB_MAC 3 // numbers and symbols mac
|
||||
#define FUNCTION 4 // function keys
|
||||
|
||||
enum custom_keycodes {
|
||||
TILDE_NO = SAFE_RANGE,
|
||||
LESS_NO,
|
||||
GRTR_NO,
|
||||
CIRC_NO,
|
||||
ACUT_NO,
|
||||
GRV_NO,
|
||||
LESS_NO_MAC,
|
||||
GRTR_NO_MAC,
|
||||
ACUT_NO_MAC
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Keymap 0: Basic layer PC
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | \ | [ | ] | { | } | * |Mac/PC| | ^ | $ | ( | ) | < | > | @ |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | ? | Q | W | F | P | G | " | | ' | J | L | U | Y | Å | Æ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | : | A | R | S | T | D |------| |------| H | N | E | I | O | Ø |
|
||||
* |--------+------+------+------+------+------| ; | | = |------+------+------+------+------+--------|
|
||||
* | ! | Z | X | C | V | B | | | | K | M | RIGHT| DOWN | UP | _ |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | Func | Lclk | Rclk | TAB |,/CTRL| | LEFT | Esc | ` | # | Num |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,--------------.
|
||||
* | & | | | |Insert| / |
|
||||
* ,------|------|------| |------+-------+------.
|
||||
* | | | + | | Del | | |
|
||||
* | Shift| ./Spc|------| |------| Enter |Space|
|
||||
* | | |-/Alt | | Bspc | | |
|
||||
* `--------------------' `---------------------'
|
||||
*/
|
||||
[BASE] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
NO_BSLS, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, NO_ASTR, TG(1),
|
||||
NO_QUES, KC_Q, KC_W, KC_F, KC_P, KC_G, NO_DQUO,
|
||||
NO_COLN, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
KC_EXLM, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN,
|
||||
MO(4), KC_BTN1, KC_BTN2, KC_TAB,GUI_T(KC_COMMA),
|
||||
NO_AMPR, NO_PIPE,
|
||||
NO_PLUS,
|
||||
OSM(MOD_LSFT),CTL_T(KC_DOT),ALT_T(NO_MINS),
|
||||
// right hand
|
||||
CIRC_NO, NO_DLR, NO_LPRN, NO_RPRN ,LESS_NO, GRTR_NO,NO_AT,
|
||||
NO_QUOT, KC_J, KC_L, KC_U, KC_Y, NO_ARNG, NO_AE ,
|
||||
KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSTR,
|
||||
NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_UNDS,
|
||||
KC_LEFT, KC_ESC, GRV_NO, KC_HASH, MO(2),
|
||||
KC_INSERT, NO_SLSH,
|
||||
KC_DEL,
|
||||
KC_BSPC,KC_ENT,KC_SPC
|
||||
),
|
||||
/* Keymap 1: Basic layer MACS (Same as pc, except for cmd/ctrl, which are swapped)
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | \ | | | { | } | | | | | $ | | | < | > | @ |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | ' |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | Func | | | |,/Ctrl| | | | ` | | Num |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | |./Cmd |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[BASE_MAC] = LAYOUT_ergodox(
|
||||
S(ALGR(NO_7)), KC_TRNS,KC_TRNS, S(ALGR(NO_8)),S(ALGR(NO_9)), 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_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, CTL_T(KC_COMMA),
|
||||
KC_TRNS, ALGR(NO_7),
|
||||
KC_TRNS,
|
||||
KC_TRNS,GUI_T(KC_DOT) , KC_TRNS,
|
||||
// right hand
|
||||
KC_TRNS, S(NO_4), KC_TRNS,KC_TRNS,LESS_NO_MAC, GRTR_NO_MAC,NO_QUOT,
|
||||
NO_LABK, 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_TRNS, KC_TRNS, ALGR(NO_BSLS), KC_TRNS, MO(3),
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 2: Number ++ layer pc
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | % | | | | | | ~ | ´ | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | 3 | 2 | 1 | 0 | |------| |------| | 5 | 6 | 7 | 8 | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | 4 | | | | | | 9 | END | PGDWN| PGUP | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | HOME | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[NUMB_SYMB] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_PERC, KC_TRNS , KC_TRNS,
|
||||
KC_TRNS, KC_3 , KC_2 , KC_1 , KC_0 , KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, 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,
|
||||
// right hand
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, TILDE_NO, ACUT_NO , KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS,
|
||||
KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS,
|
||||
KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 3: Number ++ layer mac. Some keys have to be repeated from the pc symbol layer, since transient keys inherit from the layer we jump from, not the layer above.
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | % | | | | | | ~ | ´ | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | 3 | 2 | 1 | 0 | |------| |------| | 5 | 6 | 7 | 8 | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | 4 | | | | | | 9 | END | PGDWN| PGUP | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | HOME | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[NUMB_SYMB_MAC] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_PERC, KC_TRNS , KC_TRNS,
|
||||
KC_TRNS, KC_3 , KC_2 , KC_1 , KC_0 , KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, 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,
|
||||
// right hand
|
||||
KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, TILDE_NO, ACUT_NO_MAC, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_5, KC_6, KC_7, KC_8, KC_TRNS,
|
||||
KC_TRNS, KC_HOME, KC_9, KC_END, KC_PGDN, KC_PGUP, KC_TRNS,
|
||||
KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 4: Function layer mac + pc
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | F3 | F2 | F1 | | |------| |------| | F5 | F6 | F7 | F8 | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | F4 | | | | | | F9 | F10 | F11 | F12 | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[FUNCTION] = LAYOUT_ergodox(
|
||||
KC_5, 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_F3 , KC_F2 , KC_F1 , KC_TRNS , KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F4, 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,
|
||||
// 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_F5, KC_F6, KC_F7, KC_F8, KC_TRNS,
|
||||
KC_TRNS, NO_TILD, KC_F9, KC_F10, KC_F11, 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
|
||||
)
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case TILDE_NO:
|
||||
if (record->event.pressed) {
|
||||
tap_code16(ALGR(KC_RBRC));
|
||||
tap_code(KC_SPC);
|
||||
}
|
||||
return false;
|
||||
case LESS_NO:
|
||||
if (record->event.pressed) {
|
||||
tap_code(KC_NUBS);
|
||||
}
|
||||
return false;
|
||||
case GRTR_NO:
|
||||
if (record->event.pressed) {
|
||||
tap_code16(S(KC_NUBS));
|
||||
}
|
||||
return false;
|
||||
case CIRC_NO:
|
||||
if (record->event.pressed) {
|
||||
tap_code16(S(KC_RBRC));
|
||||
tap_code(KC_SPC);
|
||||
}
|
||||
return false;
|
||||
case ACUT_NO:
|
||||
if (record->event.pressed) {
|
||||
tap_code16(ALGR(KC_EQL));
|
||||
tap_code(KC_SPC);
|
||||
}
|
||||
return false;
|
||||
case GRV_NO:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(SS_LSFT("= "));
|
||||
}
|
||||
return false;
|
||||
case LESS_NO_MAC:
|
||||
if (record->event.pressed) {
|
||||
tap_code(KC_GRV);
|
||||
}
|
||||
return false;
|
||||
case GRTR_NO_MAC:
|
||||
if (record->event.pressed) {
|
||||
tap_code16(S(KC_GRV));
|
||||
}
|
||||
return false;
|
||||
case ACUT_NO_MAC:
|
||||
if (record->event.pressed) {
|
||||
tap_code(KC_EQL);
|
||||
tap_code(KC_SPC);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
# Norwegian Colemak setup with osx/pc toggle
|
||||
|
||||
## Motivation
|
||||
I wanted a Norwegian Colemak setup that worked in a similar way on both my Mac and PC. I also wanted it to translate from a standard Norwegian keyboard OS setup.
|
||||
|
||||
## Overview
|
||||
The setup is created to be programmer friendly.
|
||||
- Most of the symbols used in code can be activated without using layers or shift key.
|
||||
- You can reach the IDE/OS shortcut activators(Ctrl, Win/Cmd, Alt, Shift) with the thumb.
|
||||
- Navigation is prioritized, arrows are right below the home row.
|
||||
|
||||
## PC/Mac toggle
|
||||
The default setup is for Norwegian keyboard setting(not colemak variants) on a PC(Windows or Linux). Use the Mac/PC toggle button to switch between OSX and PC setup. The settings will be reverted to PC setup each time you restart/connect the keyboard.
|
||||
|
||||
## Layers
|
||||
Numbers and function buttons are on their own layers. The easiest way to switch layers(at least with my hands) in this setup, is to push your hand right below the little finger, on the layer switches. You will then have all your fingers free to type numbers or press function buttons.
|
||||
|
||||
## Shift-key
|
||||
Tap for the next character to be shifted, hold down for regular shift functionality
|
||||
|
||||
## Layout
|
||||
|
||||

|
|
@ -1,256 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
* MEH: Alt+Control+Shift
|
||||
* HYPER: Alt+Control+Shift+Gui
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | Backsp |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | TAB | Q | W | F | P | G |TG(3) | |TG(4) | J | L | U | Y | ; : | ' " |
|
||||
* |--------+------+------+------+------+------|F-lck | |N-lck |------+------+------+------+------+--------|
|
||||
* | CAPS | A | R | S | T | D |------| |------| H | N | E | I | O | ENT |
|
||||
* |--------+------+------+------+------+------| MEH | | MEH |------+------+------+------+------+--------|
|
||||
* | Shift | Z | X | C | V | B | | | | K | M | , < | . > | UP | Shift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | LCTL | LCTL | LGUI | LALT | LGUI | | RALT | RCTL | LEFT | DOWN | RIGHT|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,--------------. ,--------------.
|
||||
* | Esc | App | | Ins | Del |
|
||||
* ,------|------|-------| |------+-------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | MO(2)| MO(4)|-------| |------| Space |Space |
|
||||
* |symbol|N-Lock| End | | PgDn | | |
|
||||
* `---------------------' `---------------------'
|
||||
*/
|
||||
[0] = LAYOUT_ergodox( // layer 0 : default
|
||||
// left hand
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, TG(3),
|
||||
KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MEH,
|
||||
KC_LCTL, KC_LCTL, KC_LGUI, KC_LALT, KC_LGUI,
|
||||
|
||||
KC_ESC, KC_APP,
|
||||
KC_HOME,
|
||||
MO(2), MO(4), KC_END,
|
||||
|
||||
// right hand
|
||||
KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
TG(4), KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_QUOT,
|
||||
KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
|
||||
KC_MEH, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
|
||||
KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT,
|
||||
|
||||
KC_INS, KC_DEL,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_SPC, KC_SPC
|
||||
),
|
||||
|
||||
/* Keymap 1: QWERTY layer (games)
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | Q | W | E | R | T | | | | Y | U | I | O | P | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | A | S | D | F | G |------| |------| H | J | K | L | ; | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | Z | X | C | V | B | | | | N | M | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
[1] = LAYOUT_ergodox( // layer 1: QWERTY layer (games)
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS,
|
||||
KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_TRNS,
|
||||
KC_TRNS, KC_N, KC_M, 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
|
||||
),
|
||||
|
||||
/* Keymap 2: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | + | < | % | # | DF(1)| | | & | [ | ] | \ | : | " |
|
||||
* |--------+------+------+------+------+------|QWERTY| | |------+------+------+------+------+--------|
|
||||
* | | ! | - | > | = | @ |------| |------| * | { | } | / | ? | |
|
||||
* |--------+------+------+------+------+------| DF(0)| | |------+------+------+------+------+--------|
|
||||
* | | NUBS | NUHS | / | $ | ^ |COLEMAK | | | | ( | ) | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[2] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
KC_TRNS, KC_PIPE, KC_PLUS, KC_LT, KC_PERC, KC_HASH, DF(1),
|
||||
KC_LBRC, KC_EXCLAIM, KC_MINUS, KC_GT, KC_EQUAL, KC_AT,
|
||||
KC_TRNS, KC_NUBS, KC_NUHS, KC_SLSH, KC_DOLLAR, KC_CIRC, DF(0),
|
||||
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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
|
||||
KC_TRNS, KC_AMPERSAND, KC_LBRC, KC_RBRC, KC_BSLS, KC_COLN, KC_DQT,
|
||||
KC_ASTERISK, KC_LCBR, KC_RCBR, KC_SLSH, KC_QUES, KC_TRNS,
|
||||
KC_TRNS, KC_PIPE, KC_LPRN, KC_RPRN, 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
|
||||
),
|
||||
|
||||
/* Keymap 3:
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | HYPR | | HYPR | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------ |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// F-keys
|
||||
[3] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
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_HYPR,
|
||||
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_F7, KC_F8, KC_F9, KC_F10, KC_F11, 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, KC_TRNS, KC_TRNS,
|
||||
KC_HYPR, 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
|
||||
),
|
||||
/* Keymap 4: Numlock
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | QK_BOOT | | | |P-SCRE|S-LOCK|PAUSE | |NLOCK | CALC | = | / | * | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | Vol+ | 7 | 8 | 9 | - | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| Vol- | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | HYPR | | HYPR | Mute | 1 | 2 | 3 |Enter | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | 0 | . | RCTL | RCTL |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------ |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[4] = LAYOUT_ergodox(
|
||||
QK_BOOT, KC_LSFT, KC_LSFT, KC_SYRQ, KC_PSCR, KC_SCRL, KC_PAUSE,
|
||||
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_HYPR,
|
||||
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_NUM, KC_CALC, KC_PEQL, KC_PSLS, KC_PAST, KC_LSFT, KC_TRNS,
|
||||
KC_TRNS, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS,
|
||||
KC_VOLD, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS,
|
||||
KC_HYPR, KC_MUTE, KC_P1, KC_P2, KC_P3, KC_PENT, KC_TRNS,
|
||||
KC_TRNS, KC_P0, KC_PDOT, KC_RCTL, KC_RCTL,
|
||||
|
||||
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) {
|
||||
static uint8_t state;
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
|
||||
//reduce LED on time to 1/6th because LEDs are too strong
|
||||
if (++state < 6) return;
|
||||
state = 0;
|
||||
|
||||
//bit 1: default layer 1 - QWERTY
|
||||
if (default_layer_state & (1UL << 1)) ergodox_right_led_1_on();
|
||||
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
//layer 2 : Symbols (& Fs)
|
||||
//if (layer == 2) ergodox_right_led_2_on();
|
||||
|
||||
//layer 3 : F-lock
|
||||
if (layer == 3) ergodox_right_led_2_on();
|
||||
|
||||
//layer 4 : Num-lock
|
||||
if (layer == 4) ergodox_right_led_3_on();
|
||||
};
|
|
@ -1,23 +0,0 @@
|
|||
# ErgoDox EZ colemak_programmer
|
||||
|
||||
## Features
|
||||
|
||||
* Qwerty and colemak 2 in 1
|
||||
* Use DF() macro to swap the bottom layer so it behaves literally as collemak or qwerty
|
||||
* Graphical creator did not allow this so I had to use TO(0) and TO(1) on the picture
|
||||
* Symbol layer programmers friendly
|
||||
* Not only symbols are easy to access but common combination are easy too: ->, =>, !=, etc.
|
||||
* Windows and Mac
|
||||
* The extra repeated Win key is very handy on Mac
|
||||
* Numlock
|
||||
|
||||
I came to this layout after several iterations. It is not the ultimate best ergonomic layout but it is the best if you switch back and forth between ergodox and laptops.
|
||||
|
||||
## Notes
|
||||
* The Quote and Enter can be swapped
|
||||
* If you use sculpted key caps try turning the bottom key 180 degrees so it became very comfortable to type with thumb.
|
||||
|
||||
Alternatively view the [graphical creator version](http://configure.ergodox-ez.com/keyboard_layouts/kmevwm/edit) but beware it is not the same due to the creator limitations.
|
||||
|
||||

|
||||

|
|
@ -1 +0,0 @@
|
|||
TAP_DANCE_ENABLE = no
|
|
@ -1,174 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define PROG 1 // programming
|
||||
#define NAVI 2 // navigation
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 | - | BkSpce |
|
||||
* |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | Y | | G | Y | U | I | O | P | Enter |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | LCtrl | A | S | D | F | G |------| |------| H | J | K | L | ; | Enter |
|
||||
* |--------+------+------+------+------+------| H | | B |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |`/Ctrl| \ | | | LAlt | | RAlt | [ | ] | |'/Ctrl|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | PrtS | PrtS | | CtAl | CtAl |
|
||||
* ,------+------+------| |------+------+------.
|
||||
* | | | L1 | | L1 | | |
|
||||
* | Spce | ~L2 +------| |------+ ~L1 | Spce |
|
||||
* | | | LGui | | RGui | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_H,
|
||||
CTL_T(KC_GRV),KC_NUBS,KC_NO, KC_NO, KC_LALT,
|
||||
KC_PSCR, KC_PSCR,
|
||||
TO(PROG),
|
||||
KC_SPC, MO(NAVI), KC_LGUI,
|
||||
// right hand
|
||||
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC,
|
||||
KC_G, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENTER,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER,
|
||||
KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_RALT,KC_LBRC,KC_RBRC,KC_NO, CTL_T(KC_QUOT),
|
||||
MT(0x5, KC_NO), MT(0x5, KC_NO),
|
||||
TO(PROG),
|
||||
KC_RGUI, MO(PROG), KC_SPC
|
||||
),
|
||||
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | K/ | K* | K- | = |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | ! | @ | ( | ) | | | | | | | K7 | K8 | K9 | K+ | # |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | # | $ | { | } | ` |------| |------| | K4 | K5 | K6 | K+ | ' |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | | K1 | K2 | K3 | K= | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | K0 | K0 | K. | K= | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | L2 | | L2 | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// PROGRAMMING
|
||||
[PROG] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,
|
||||
TO(NAVI),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
// right hand
|
||||
KC_TRNS, KC_TRNS, KC_NO, KC_PSLS, KC_PAST, KC_PMNS, KC_EQUAL,
|
||||
KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_NUHS,
|
||||
KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_QUOT,
|
||||
KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, KC_TRNS,
|
||||
KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
TO(NAVI),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 2: Navigation and system keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | Home | Up | End | Ins | PgUp | | | | | | Ins | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | Left | Down | Rght | Del | PgDn |------| |------| | Back | Del | Fwrd | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | Lclk | MsUp | Rclk | | | | | | | Prev | Play | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | MsLt | MsDn | MsRt | | |VolDn | Mute |VolUp | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | L0 | | L0 | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// NAVIGATION
|
||||
[NAVI] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
KC_TRNS, KC_HOME, KC_UP, KC_END, KC_INS, KC_PGUP, KC_TRNS,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_PGDN,
|
||||
KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
TO(BASE),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
// right hand
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_WBAK, KC_DEL, KC_WFWD, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS,
|
||||
KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
TO(BASE),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
};
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
/* leds is a static array holding the current brightness of each of the
|
||||
* three keyboard LEDs. It's 4 long simply to avoid the ugliness of +1s and
|
||||
* -1s in the code below, and because wasting a byte really doesn't matter
|
||||
* that much (no, it *doesn't*, stop whinging!). Note that because it's
|
||||
* static it'll maintain state across invocations of this routine.
|
||||
*/
|
||||
static uint8_t leds[4];
|
||||
uint8_t led;
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
|
||||
/* Loop over each LED/layer */
|
||||
for (led = 1; led <= 3; ++led) {
|
||||
/* If the current layer matches the current LED, increment its
|
||||
* brightness by 1 up to a maximum of 255. If the current layer doesn't
|
||||
* match, decrement its brightness by 1 down to a minimum of zero.
|
||||
*/
|
||||
leds[led] += (layer == led) ?
|
||||
(leds[led] < 255 ? 1 : 0):
|
||||
(leds[led] > 0 ? -1 : 0);
|
||||
/* Set LED state according to the new brightness */
|
||||
if (leds[led]) {
|
||||
ergodox_right_led_on(led);
|
||||
ergodox_right_led_set(led, leds[led]);
|
||||
}
|
||||
else {
|
||||
ergodox_right_led_off(led);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
};
|
|
@ -1,38 +0,0 @@
|
|||
This keymap is my preferred layout (after a certain amount of experimentation).
|
||||
The rationale behind the design is as follows:
|
||||
|
||||
I grew up typing from a very early age and thus never learned the "correct" way
|
||||
to touch type (essentially, I'm self-taught). As a, result my fingers don't
|
||||
tend to stay on the "home keys" and occasionally my right hand wants to type
|
||||
keys that are on the left of the keyboard, and vice versa.
|
||||
|
||||
Hence, despite liking the idea of split keyboards in principle, I've never been
|
||||
able to get on with them because the split simply doesn't work with my style of
|
||||
typing. The Ergodox solves this neatly by virtue of having a few extra keys in
|
||||
the "middle" of the keyboard which I can utilise for deliberate redundancy.
|
||||
Thus in this keymap there are two "6" keys (one on the left, one on the right)
|
||||
and likewise Y, H, G, and B are all duplicated to enable one-handed patterns
|
||||
that I use frequently (e.g. "byobu" with the right hand, "yes" with the left,
|
||||
etc.).
|
||||
|
||||
I occasionally use the numeric pad for data entry, thus this is duplicated
|
||||
under the natural home position of the right hand in layer 1 (activated by
|
||||
holding one of the right thumb buttons), while the cursor keys are duplicated
|
||||
under the classic WASD gaming layout of the left hand in layer 2 (activated by
|
||||
holding one of the left thumb buttons). Various other useful keys also appear
|
||||
in these layers (brackets and symbols for coding in layer 1, navigation and
|
||||
F-keys in layer 2, etc.).
|
||||
|
||||
Finally, modifier keys like Ctrl, Shift, and Alt, along with Backspace and
|
||||
Enter are all in traditional locations in an effort to reuse existing muscle
|
||||
memory as much as possible (keys like =, #, and ' are in layer 1). The layout
|
||||
maps are in the comments of keymap_dave.c so I won't bother duplicating them
|
||||
here.
|
||||
|
||||
Oh, and the LEDs are rather pimped ... because I could!
|
||||
|
||||
Anyway, although I'm sure this keymap won't be to many people's taste you might
|
||||
find some interesting ideas in here for your own layouts. Do tweet me
|
||||
(@waveform80) if you have any questions / suggestions / bugs.
|
||||
|
||||
Dave.
|
|
@ -1,386 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "version.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys and navigation
|
||||
#define UNI 3 // unicode 1
|
||||
#define UNI2 4 // unicode 2
|
||||
|
||||
enum custom_keycodes {
|
||||
I3_RUN = SAFE_RANGE,
|
||||
VRSN,
|
||||
I3_GO_GROUP_1,
|
||||
I3_GO_GROUP_2,
|
||||
I3_GO_GROUP_3,
|
||||
I3_GO_GROUP_4,
|
||||
I3_GO_GROUP_5,
|
||||
I3_GO_GROUP_6,
|
||||
I3_GO_GROUP_7,
|
||||
I3_GO_GROUP_8,
|
||||
I3_GO_GROUP_9,
|
||||
I3_GO_GROUP_10,
|
||||
EMOJI_SHRUG,
|
||||
EMOJI_YAY,
|
||||
EMOJI_HUG,
|
||||
EMOJI_SMILE,
|
||||
EMOJI_SMILE2,
|
||||
EMOJI_HMM1,
|
||||
EMOJI_HMM2,
|
||||
EMOJI_BEAR1,
|
||||
EMOJI_BEAR2,
|
||||
EMOJI_FUU,
|
||||
EMOJI_EGGY1,
|
||||
EMOJI_EGGY2,
|
||||
EMOJI_FACE1,
|
||||
EMOJI_FACE2,
|
||||
EMOJI_UHU,
|
||||
EMOJI_SMRK1,
|
||||
EMOJI_SMRK2,
|
||||
EMOJI_LOVE
|
||||
};
|
||||
|
||||
// TODO: Finish the macros for i3 (Macros should potentially be own function instead to make things easier? some of them at least, f. ex. the ones that use 1-0 keys so we can have a single switch)
|
||||
|
||||
// TODO: Do stuff with hyper and meh keys
|
||||
// TODO: Add macros for lots of stuff. (Lastpass cli, pushbullet cli, other push service cli, linode cli, more?)
|
||||
// TODO: Make macros for gnu screen and i3wm
|
||||
// TODO: Need to change hotkeys for lastpass, and potentially make my own keys for them on one of my layers
|
||||
// TODO: Look into using tap dance
|
||||
// TODO: Use leader key for stuff. See https://github.com/qmk/qmk_firmware/wiki
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | Esc/L3 | 1 | 2 | 3 | 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 | - | =/L3 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab/L1 | Q | W | E | R | T | L1 | | L2 | Y | U | I | O | P | \/L1 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | LCtrl | A | S | D | F | G |------| |------| H | J | K | L | ; | ctrl/'|
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift |Z / L4|X / L2| C | V | B | | | | N | M | , |. / L2|/ / L4| RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Grv/L1| UNI |AltShf| Lalt | Ralt | | Lalt | Ralt | LEAD | UNI | ~/L1 |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | App | Home | | PgUp | Ins |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | End | | PgDn | | |
|
||||
* | Space| TAB |------| |------| BSPC |Enter |
|
||||
* | | | [ | | ] | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
// 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
|
||||
LT(UNI,KC_ESC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
|
||||
LT(SYMB,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, LT(4, KC_Z), LT(MDIA, KC_X), KC_C, KC_V, KC_B, ALL_T(KC_NO),
|
||||
LT(SYMB,KC_GRV),LCTL(LSFT(KC_U)), LALT(KC_LSFT), KC_RALT,KC_LALT,
|
||||
ALT_T(KC_APP), KC_HOME,
|
||||
KC_END,
|
||||
KC_SPC,KC_TAB,KC_LBRC,
|
||||
// right hand
|
||||
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, LT(UNI,KC_EQL),
|
||||
TG(MDIA), KC_Y, KC_U, KC_I, KC_O, KC_P, LT(SYMB, KC_BSLS),
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN,CTL_T(KC_QUOT),
|
||||
MEH_T(KC_NO),KC_N, KC_M, KC_COMM,LT(MDIA, KC_DOT), LT(UNI2, KC_SLSH), KC_RSFT,
|
||||
KC_LALT, KC_RALT,QK_LEAD,LCTL(LSFT(KC_U)), LT(SYMB,KC_TILD),
|
||||
KC_PGUP, KC_INS,
|
||||
KC_PGDN,
|
||||
KC_RBRC,KC_BSPC, KC_ENT
|
||||
),
|
||||
/* Keymap 1: Symbol Layer LCTL(LSFT(KC_U))
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | . | 0 | = | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* |Toggle|Animat| | Hue+ | Hue- |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* |Bright|Bright|Solid | | | | |
|
||||
* |ness- |ness+ |------| |------| DEL | |
|
||||
* | | | | | EPRM | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
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,
|
||||
RGB_TOG,RGB_MOD,
|
||||
RGB_M_P,
|
||||
RGB_VAD,RGB_VAI,KC_TRNS,
|
||||
// right hand
|
||||
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS,
|
||||
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,
|
||||
RGB_HUD, RGB_HUI,
|
||||
KC_TRNS,
|
||||
EE_CLR, KC_DEL, KC_TRNS
|
||||
),
|
||||
/* Keymap 2: Media, mouse and navigation
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | gg(1)| gg(2)| gg(3)| gg(4)| gg(5)| gg(6)| | gg(6)| gg(7)| gg(8)| gg(9)| gg(0)| | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | RUN | | | | | | | Up | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | Left | Down | Right| | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | Prev | Next | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA , MOUSE and NAVIGATION
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, I3_GO_GROUP_1, I3_GO_GROUP_2, I3_GO_GROUP_3, I3_GO_GROUP_4, I3_GO_GROUP_5, I3_GO_GROUP_6,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, I3_RUN, 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
|
||||
I3_GO_GROUP_6, I3_GO_GROUP_7, I3_GO_GROUP_8, I3_GO_GROUP_9, I3_GO_GROUP_10, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_MPLY,
|
||||
KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, 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: Unicode
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | ┌ | ┐ | └ | ┘ | │ | ─ | | ╔ | ╗ | ╚ | ╝ | ║ | ═ | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | shrug| yay | hug | smile|smile2| | | | ■ | λ | → | ➙ | ▻ | █ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | hmm1 | hmm2 | bear1| bear2| fuu |------| |------| ☺ | ☻ | ☹ | ♡ | ♥ | ░ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | eggy1| eggy2| face1| face2| uhu | | | | ❤ | ☐ | ☑ | ☒ | ✓ | ▄ |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | smrk1| smrk2| love | VER | | ✔ | ✗ | ✘ | ● | ▀ |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | ▒ | ▓ |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// Unicode
|
||||
[UNI] = LAYOUT_ergodox(
|
||||
KC_TRNS, UC(0x250c), UC(0x2510), UC(0x2514), UC(0x2518), UC(0x2502), UC(0x2500),
|
||||
KC_TRNS, EMOJI_SHRUG, EMOJI_YAY, EMOJI_HUG, EMOJI_SMILE, EMOJI_SMILE2, KC_TRNS,
|
||||
KC_TRNS, EMOJI_HMM1, EMOJI_HMM2, EMOJI_BEAR1, EMOJI_BEAR2, EMOJI_FUU,
|
||||
KC_TRNS, EMOJI_EGGY1, EMOJI_EGGY2, EMOJI_FACE1, EMOJI_FACE2, EMOJI_UHU, KC_TRNS,
|
||||
KC_TRNS, EMOJI_SMRK1, EMOJI_SMRK2, EMOJI_LOVE, VRSN,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
// right hand
|
||||
UC(0x2554), UC(0x2557), UC(0x255a), UC(0x255d), UC(0x2551), UC(0x2550), KC_TRNS,
|
||||
KC_TRNS, UC(0x25a0), UC(0x03bb), UC(0x2192), UC(0x2799), UC(0x25bb), UC(0x2588),
|
||||
UC(0x263a), UC(0x263b), UC(0x2639), UC(0x2661), UC(0x2665), UC(0x2591),
|
||||
KC_TRNS, UC(0x2764), UC(0x2610), UC(0x2611), UC(0x2612), UC(0x2713), UC(0x2584),
|
||||
UC(0x2714), UC(0x2717), UC(0x2718), UC(0x25cf), UC(0x2580),
|
||||
UC(0x2592), UC(0x2593),
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 4: Unicode 2
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | ¹ | ² | ³ | ⁴ | ⁵ | ⁶ | | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | ℃ | ™ |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | ₁ | ₂ | ₃ | ₄ | ₅ | ₆ | | ₆ | ₇ | ₈ | ₉ | ₀ | ⁄ | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | ⅞ | ⅝ | ⅜ | ⅛ | ⅚ |------| |------| ⅓ | ⅒ | ⅑ | ⅐ | ¾ | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | ⅗ | ⅖ | ⅕ | ⅔ | | ¼ | ⅙ | ⅘ | ½ | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// Unicode 2
|
||||
[UNI2] = LAYOUT_ergodox(
|
||||
KC_TRNS, UC(0x00b9), UC(0x00b2), UC(0x00b3), UC(0x2074), UC(0x2075), UC(0x2076),
|
||||
KC_TRNS, UC(0x2081), UC(0x2082), UC(0x2083), UC(0x2084), UC(0x2085), UC(0x2086),
|
||||
KC_TRNS, UC(0x215e), UC(0x215d), UC(0x215c), UC(0x215b), UC(0x215a),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, UC(0x2157), UC(0x2156), UC(0x2155), UC(0x2154),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
// right hand
|
||||
UC(0x2076), UC(0x2077), UC(0x2078), UC(0x2079), UC(0x2070), UC(0x2103), UC(0x2122),
|
||||
UC(0x2086), UC(0x2087), UC(0x2088), UC(0x2089), UC(0x2080), UC(0x2044), KC_TRNS,
|
||||
UC(0x2153), UC(0x2152), UC(0x2151), UC(0x2150), UC(0x00be), KC_TRNS,
|
||||
UC(0x00bc), UC(0x2159), UC(0x2158), UC(0x00bd), 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
|
||||
),
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch (keycode) {
|
||||
case I3_RUN:
|
||||
tap_code16(C(KC_I));
|
||||
tap_code(KC_R);
|
||||
return false;
|
||||
case VRSN:
|
||||
SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
||||
return false;
|
||||
case I3_GO_GROUP_1 ... I3_GO_GROUP_10:
|
||||
tap_code16(C(KC_I));
|
||||
tap_code(KC_G);
|
||||
if (keycode == I3_GO_GROUP_10) {
|
||||
tap_code(KC_0);
|
||||
} else {
|
||||
tap_code(KC_1 + (keycode - I3_GO_GROUP_1));
|
||||
}
|
||||
return false;
|
||||
case EMOJI_SHRUG:
|
||||
send_unicode_string("¯\\_(ツ)_/¯");
|
||||
return false;
|
||||
case EMOJI_YAY:
|
||||
SEND_STRING("\\o/");
|
||||
return false;
|
||||
case EMOJI_HUG:
|
||||
send_unicode_string("༼ つ ◕_◕ ༽つ");
|
||||
return false;
|
||||
case EMOJI_SMILE:
|
||||
send_unicode_string("ʘ‿ʘ");
|
||||
return false;
|
||||
case EMOJI_SMILE2:
|
||||
send_unicode_string("(ʘ‿ʘ)");
|
||||
return false;
|
||||
case EMOJI_HMM1:
|
||||
send_unicode_string("ಠ_ಠ");
|
||||
return false;
|
||||
case EMOJI_HMM2:
|
||||
send_unicode_string("(ಠ_ಠ)");
|
||||
return false;
|
||||
case EMOJI_BEAR1:
|
||||
send_unicode_string("ʕ•ᴥ•ʔ");
|
||||
return false;
|
||||
case EMOJI_BEAR2:
|
||||
send_unicode_string("(ᵔᴥᵔ)");
|
||||
return false;
|
||||
case EMOJI_FUU:
|
||||
send_unicode_string("╭∩╮(-_-)╭∩╮");
|
||||
return false;
|
||||
case EMOJI_EGGY1:
|
||||
send_unicode_string("(╯°□°)╯");
|
||||
return false;
|
||||
case EMOJI_EGGY2:
|
||||
send_unicode_string("ノ( ゜-゜ノ)");
|
||||
return false;
|
||||
case EMOJI_FACE1:
|
||||
SEND_STRING("(-_-)");
|
||||
return false;
|
||||
case EMOJI_FACE2:
|
||||
send_unicode_string("(•_•)");
|
||||
return false;
|
||||
case EMOJI_UHU:
|
||||
send_unicode_string("⊙﹏⊙");
|
||||
return false;
|
||||
case EMOJI_SMRK1:
|
||||
send_unicode_string("^̮^");
|
||||
return false;
|
||||
case EMOJI_SMRK2:
|
||||
send_unicode_string("(^̮^)");
|
||||
return false;
|
||||
case EMOJI_LOVE:
|
||||
send_unicode_string("♥‿♥");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Runs just one time when the keyboard initializes.
|
||||
void matrix_init_user(void) {
|
||||
set_unicode_input_mode(UNICODE_MODE_LINUX);
|
||||
};
|
||||
|
||||
// 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) {
|
||||
case 1:
|
||||
ergodox_right_led_1_on();
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
rgblight_setrgb(0xff,0x00,0x00);
|
||||
#endif
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_on();
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
rgblight_setrgb(0x00,0xff,0x00);
|
||||
#endif
|
||||
break;
|
||||
case 3:
|
||||
ergodox_right_led_3_on();
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
rgblight_setrgb(0x00,0x00,0xff);
|
||||
#endif
|
||||
break;
|
||||
case 4:
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_3_on();
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
rgblight_setrgb(0xff,0x00,0xff);
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
// none
|
||||
break;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,79 +0,0 @@
|
|||
# ErgoDox EZ 1337 configuration
|
||||
|
||||
Custom layout based on the default layout. Intended for interational
|
||||
users of us intl-altgr layout. Note that some common keys might be
|
||||
missing, as this layout is intented to be used on *nix systems by
|
||||
users familiar with their system. The layout is geared towards
|
||||
avoiding using the rat (mouse for those of you who are unfamiliar with
|
||||
tiling window managers) as much as possibly.
|
||||
|
||||
# Layouts
|
||||
|
||||
All layer images created using [keyboard-layout-editor](http://www.keyboard-layout-editor.com/)
|
||||
|
||||
## Base layer
|
||||
|
||||
[](http://www.keyboard-layout-editor.com/#/gists/0321b18620180a3e46c498206eb65366)
|
||||
|
||||
The base layer here is marked with the us international alt-gr layout,
|
||||
including characters bound to what on an iso keyboard would be alt-gr
|
||||
and on an ansi keyboard right alt.
|
||||
|
||||
Regular (and irregular) modifier keys are marked with a yellowish
|
||||
gray. Layer moderators are marked with blue, red and green, which are
|
||||
the same colors each layer displays on the LEDs when active.
|
||||
|
||||
All of the layer switch keys, except for the two center keys marked L1
|
||||
TOG, are dual purpose. Hence for example the top left key produces ESC
|
||||
if tapped, and temporarilly toggles L3 when hold down. The two center
|
||||
L1 TOG keys toggle L1 on and off for more permanent layer toggling.
|
||||
|
||||
The UNI keys enter the linux ibus unicode composer mode
|
||||
(ie. Ctrl+Shift+u). Use this to enter unicode characters. Hit the key,
|
||||
type in the unicode hex value, and hit enter.
|
||||
|
||||
## Layer 1 - Symbols and RGB
|
||||
|
||||
[](http://www.keyboard-layout-editor.com/#/gists/96714e198054c9115bafb5267cc6bc73)
|
||||
|
||||
The Symbols and RGB layer contains function keys, commonly used
|
||||
symbols, a numpad and if you have the new Ergodox Ez shine keys for
|
||||
controlling various RGB-led functions. In addition, it provides an up
|
||||
and a down key for easy scrolling. RGB controller keys are yellow.
|
||||
|
||||
## Layer 2 - Media, Mouse and Navigation
|
||||
|
||||
[](http://www.keyboard-layout-editor.com/#/gists/824759486e378bcec30784309a7e5731)
|
||||
|
||||
The Media, Mouse and unicode layer contains special keys for moving
|
||||
the mouse and clicking on it with the keyboard. In addition it
|
||||
provides standard media control keys, and default arrow keys.
|
||||
|
||||
## Layer 3 - Unicode
|
||||
|
||||
[](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289)
|
||||
|
||||
The unicode layer provides keys for directly typing unicode (utf-8)
|
||||
|
||||
## Layer 4 - Unicode 2
|
||||
|
||||
[](http://www.keyboard-layout-editor.com/#/gists/7b2241110ab8311d9668a0798f3baf4a)
|
||||
|
||||
The unicode 2 layer provides keys for directly typing unicode (utf-8)
|
||||
|
||||
# Changelog
|
||||
|
||||
- 02.01.2017 Added delete key on second layer
|
||||
- 10.01.2017 Added layer images to readme
|
||||
- 24.01.2017 Added support for Ergodox Shine. Added secondary L2 switch key on left hand
|
||||
- 24.01.2017 Added unicode keys. Added shrug hug and yay. Moved Navigation to layer 2
|
||||
- 25.01.2017 Added lots of new emojis and some unicode keys
|
||||
- 27.01.2017 Added new unicode keys and shortcut for ibus unicode composer key (CTRL+SHIFT+U)
|
||||
- 11.03.2017 Added additional unicode layer. Moved some layer switch keys to more sane locations
|
||||
|
||||
# TODO
|
||||
|
||||
- Add macros for lots of stuff. (Lastpass cli, pushbullet cli, other push service cli, linode cli, more?)
|
||||
- Make macros for gnu screen and i3wm
|
||||
- Look into the app launch macros in algernon keymap
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
UNICODE_ENABLE = yes
|
||||
LEADER_ENABLE = yes
|
|
@ -1,205 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
#define PLVR 3 // Plover layer
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | LGui | |Plover| 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | L1 | | L2 | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* |Esc/Ctrl| A | S | D | F | G |------| |------| H | J | K | L | ; | '"/Ctrl|
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | ~L1 | Grv | '" | Left |Rgt/L2| | Up/L2| Down | [ | ] | ~L1 |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | App | Home | | PgUp |Ctrl/Esc|
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | End | | PgDn | | |
|
||||
* |Backsp|Delete|------| |------| Enter |Space |
|
||||
* | ace | | LAlt | |TabCtl| | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
// 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_LGUI,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1),
|
||||
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
|
||||
TT(SYMB), KC_GRV, KC_QUOT,KC_LEFT, LT(MDIA, KC_RGHT),
|
||||
KC_APP, KC_HOME,
|
||||
KC_END,
|
||||
KC_BSPC,KC_DEL, KC_LALT,
|
||||
// right hand
|
||||
TG(3), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(2), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_T(KC_QUOT),
|
||||
MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
|
||||
LT(MDIA, KC_UP), KC_DOWN,KC_LBRC,KC_RBRC, TT(SYMB),
|
||||
KC_PGUP, CTL_T(KC_ESC),
|
||||
KC_PGDN,
|
||||
CTL_T(KC_TAB),KC_ENT, KC_SPC
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | . | 0 | = | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | Calc |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS,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_CALC,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
/* Keymap 2: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | Rclk | Lclk | | | | | | Lclk | Rclk | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft| MsUp |MsDown|MsRght|------| |------|MsLeft|MsDown| MsUp |MsRght| | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | Prev | |VolUp | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | Play | | Mute |Brwser|Brwser|
|
||||
* | Lclk | Rclk |------| |------|Fwd |Back |
|
||||
* | | | Next | |VolDn | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
LAYOUT_ergodox(
|
||||
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN2, KC_BTN1, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_U, 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_TRNS,
|
||||
KC_TRNS, KC_MPRV,
|
||||
KC_MPLY,
|
||||
KC_BTN1, KC_BTN2, KC_MNXT,
|
||||
// right hand
|
||||
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_MS_L, KC_MS_D, KC_MS_U, 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_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_VOLU, KC_TRNS,
|
||||
KC_MUTE,
|
||||
KC_VOLD, KC_WBAK, KC_WFWD
|
||||
),
|
||||
|
||||
/* Keymap 4: Steno for Plover from https://github.com/shayneholmes/tmk_keyboard/commit/11290f8489013018f778627db725160c745e75bd
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | q | w | e | r | t |------| |------| y | u | i | o | p | [ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | a | s | d | f | g | | | | h | j | k | l | ; | ' |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | c | v |------| |------| n | m |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
|
||||
[PLVR] = LAYOUT_ergodox( // layout: layer 4: Steno for Plover
|
||||
// left hand
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO,
|
||||
KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
||||
KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO,
|
||||
KC_NO,
|
||||
KC_C, KC_V, KC_NO,
|
||||
// right hand
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
||||
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
||||
KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_NO, KC_N, KC_M
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,25 +0,0 @@
|
|||
Overview
|
||||
========
|
||||
|
||||
This is my personal Ergodox EZ configuration, and my daily driver.
|
||||
|
||||
Most of the code resides in my userspace, rather than here, as I have multiple keyboards.
|
||||
|
||||
How to build
|
||||
------------
|
||||
make ergodox_ez:drashna:teensy
|
||||
|
||||
Layers
|
||||
------
|
||||
* QWERTY/DVORAK/COLEMAK/WORKMAN: basic layout, default set like the OLKB boards. Default is set and persists on power cycle.
|
||||
* SYMB: F keys across the top, symbols on the left and numpad on the right.
|
||||
* GAMEPAD: This is the QWERTY layout shifted to the right for FPS type games. Destiny and Overwatch are the primary games for this.
|
||||
* DIABLO: This contains a Diablo 3 layout, that requires much less reaching or shifting. If Tap Dance is enabled, then it has a "spam" feature. See Userspace for details.
|
||||
* MOUSE: mouse navigation
|
||||
|
||||
All layers have RGB specific indicators, so you can see what layer you're on by the underglow.
|
||||
|
||||
Ergodox Specific Code
|
||||
---------------------
|
||||
|
||||
Aside from my userspace code, this includes LED indications for Shift (Green LED), Ctrl (Red LED), and Alt (Blue LED).
|
|
@ -1,51 +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
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
# undef RGBLIGHT_SAT_STEP
|
||||
# define RGBLIGHT_SAT_STEP 12
|
||||
|
||||
# define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3
|
||||
# define RGBLIGHT_EFFECT_SNAKE_LENGTH 3
|
||||
# ifdef RGB_MATRIX_ENABLE
|
||||
# define RGBLIGHT_DISABLE_KEYCODES
|
||||
# endif
|
||||
#endif // RGBLIGHT_ENABLE
|
||||
|
||||
#undef PRODUCT
|
||||
#define PRODUCT "DrashnaDox - Hacked ErgoDox EZ Hybrid Monstrosity"
|
||||
|
||||
#undef DEBOUNCE
|
||||
#define DEBOUNCE 20
|
||||
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
|
||||
#define ERGODOX_LED_30
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# undef RGB_MATRIX_LED_PROCESS_LIMIT
|
||||
# undef RGB_MATRIX_LED_FLUSH_LIMIT
|
||||
# if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE)
|
||||
# define RGBLIGHT_LIMIT_VAL 100
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef TAPPING_TERM
|
||||
# undef TAPPING_TERM
|
||||
#endif
|
||||
#define TAPPING_TERM 185
|
|
@ -1,289 +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"
|
||||
|
||||
enum more_custom_keycodes {
|
||||
KC_SWAP_NUM = USER_SAFE_RANGE,
|
||||
};
|
||||
|
||||
// define layer change stuff for underglow indicator
|
||||
bool skip_leds = false;
|
||||
|
||||
/*
|
||||
* The `LAYOUT_ergodox_pretty_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_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__)
|
||||
#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
|
||||
|
||||
#define LAYOUT_ergodox_pretty_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_ergodox_pretty_wrapper( \
|
||||
KC_ESC, ________________NUMBER_LEFT________________, UC_FLIP, UC_TABL, ________________NUMBER_RIGHT_______________, KC_MINS, \
|
||||
LALT_T(KC_TAB), K01, K02, K03, K04, K05, TG_DBLO, TG_DBLO, K06, K07, K08, K09, K0A, KC_BSLS, \
|
||||
KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \
|
||||
KC_MLSF, CTL_T(K21), K22, K23, K24, K25, TG_GAME, TG_GAME, K26, K27, K28, K29, RCTL_T(K2A), KC_MRSF, \
|
||||
KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_NO, \
|
||||
OS_LALT, OS_LGUI, OS_RGUI, CTL_T(KC_ESCAPE), \
|
||||
KC_APP, KC_MENU, \
|
||||
KC_SPC, LT(_LOWER, KC_BSPC), OS_LWR, OS_RSE, LT(_RAISE, KC_DEL), KC_ENT \
|
||||
)
|
||||
|
||||
#define LAYOUT_base_wrapper(...) LAYOUT_ergodox_pretty_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_________________
|
||||
),
|
||||
|
||||
/* Keymap 4: Customized Overwatch Layout
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ESC | | | | | | | | | F9 | F10 | F11 | F12 | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | F1 | K | Q | W | E | R | T | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | TAB | G | A | S | D | F |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | LCTR | LSHFT| Z | X | C | V | | | | N | M | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | J | U | I | Y | T | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | O | P | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | LGUI | | | | |
|
||||
* | V | SPACE|------ |------| | Enter|
|
||||
* | | | H | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[_GAMEPAD] = LAYOUT_ergodox_pretty_wrapper(
|
||||
KC_ESC, KC_NO, KC_1, KC_2, KC_3, HYPR(KC_Q), HYPR(KC_GRV), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
|
||||
KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, UC_SHRG, UC_DISA, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, TG_GAME, KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_GRV, KC_U, KC_I, KC_Y, KC_T, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO,
|
||||
KC_O, KC_P, MAGIC_TOGGLE_NKRO, LALT(KC_PSCR),
|
||||
KC_LGUI, KC_HYPR,
|
||||
KC_V, KC_SPC, KC_H, KC_NO, KC_NO, KC_SWAP_NUM
|
||||
),
|
||||
|
||||
/* Keymap 3:
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ESC | V | D | ALT | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | TAB | S | I | F | M | T | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Q | 1 | 2 | 3 | 4 | G |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | NUMLOCK| NUM1 | NUM2 | NUM3 | NUM4 | Z | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | LCTL | MAC1 | MAC2 | MAC3 | MAC4 | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | L | J | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | G | | | | |
|
||||
* | SPACE| Q |------ |------| | |
|
||||
* | SHIFT| ALT | 0MAC | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[_DIABLO] = LAYOUT_ergodox_pretty_wrapper(
|
||||
KC_ESC, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
|
||||
KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, KC_NO, KC_NO, KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_L, KC_J, KC_NO, KC_NO,
|
||||
KC_F, KC_NO,
|
||||
SFT_T(KC_SPACE), ALT_T(KC_Q), KC_DIABLO_CLEAR, KC_PGDN, KC_DEL, KC_ENT
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_ergodox_pretty_wrapper(
|
||||
KC_F12, _________________FUNC_LEFT_________________, _______, _______, _________________FUNC_RIGHT________________, KC_F11,
|
||||
KC_TILD, _________________LOWER_L1__________________, _______, _______, _________________LOWER_R1__________________, KC_PIPE,
|
||||
_______, ___________________BLANK___________________, _________________LOWER_R2__________________, KC_DQUO,
|
||||
_______, ___________________BLANK___________________, _______, _______, _________________LOWER_R3__________________, KC_PSCR,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_ergodox_pretty_wrapper(
|
||||
KC_F12, _________________FUNC_LEFT_________________, _______, _______, _________________FUNC_RIGHT________________, KC_F11,
|
||||
KC_GRV, _________________RAISE_L1__________________, _______, _______, _________________RAISE_R1__________________, KC_BSLS,
|
||||
_______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_QUOT,
|
||||
_______, _________________RAISE_L3__________________, _______, _______, _________________RAISE_R3__________________, KC_PSCR,
|
||||
_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_SCRL,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_ergodox_pretty_wrapper(
|
||||
QK_MAKE, _______, _______, _______, _______, _______, UC_NEXT, KC_NUKE, _________________ADJUST_R1_________________, QK_BOOT,
|
||||
VRSN, _________________ADJUST_L1_________________, _______, _______, _________________ADJUST_R1_________________, EE_CLR,
|
||||
_______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, RGB_IDL,
|
||||
KEYLOCK, _________________ADJUST_L3_________________, _______, _______, _________________ADJUST_R3_________________, TG_MODS,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_1:
|
||||
if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) {
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_2);
|
||||
} else {
|
||||
unregister_code(KC_2);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case KC_2:
|
||||
if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) {
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_1);
|
||||
} else {
|
||||
unregister_code(KC_1);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case KC_SWAP_NUM:
|
||||
if (record->event.pressed) {
|
||||
userspace_config.swapped_numbers ^= 1;
|
||||
eeconfig_update_user_config(&userspace_config.raw);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void housekeeping_task_keymap(void) { // runs frequently to update info
|
||||
#ifdef KEYBOARD_ergodox_ez
|
||||
uint8_t modifiers = get_mods();
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
uint8_t one_shot = get_oneshot_mods();
|
||||
|
||||
if (!skip_leds) {
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
|
||||
// Since we're not using the LEDs here for layer indication anymore,
|
||||
// then lets use them for modifier indicators. Shame we don't have 4...
|
||||
// Also, no "else", since we want to know each, independently.
|
||||
if ((modifiers | one_shot) & MOD_MASK_SHIFT || led_state.caps_lock) {
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_2_set(50);
|
||||
}
|
||||
if ((modifiers | one_shot) & MOD_MASK_CTRL) {
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_1_set(10);
|
||||
}
|
||||
if ((modifiers | one_shot) & MOD_MASK_ALT) {
|
||||
ergodox_right_led_3_on();
|
||||
ergodox_right_led_3_set(10);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
bool indicator_is_this_led_used_keyboard(uint8_t index) {
|
||||
switch (index) {
|
||||
case 13 ... 14:
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
void suspend_power_down_keymap(void) { rgb_matrix_set_suspend_state(true); }
|
||||
|
||||
void suspend_wakeup_init_keymap(void) { rgb_matrix_set_suspend_state(false); }
|
||||
|
||||
bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) {
|
||||
if (layer_state_is(_GAMEPAD)) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(32, 0x00, 0xFF, 0x00); // Q
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(31, 0x00, 0xFF, 0xFF); // W
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(30, 0xFF, 0x00, 0x00); // E
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(29, 0xFF, 0x80, 0x00); // R
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(37, 0x00, 0xFF, 0xFF); // A
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(36, 0x00, 0xFF, 0xFF); // S
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(35, 0x00, 0xFF, 0xFF); // D
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(34, 0x7A, 0x00, 0xFF); // F
|
||||
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR((userspace_config.swapped_numbers ? 26 : 27), 0xFF, 0xFF, 0xFF); // 1
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR((userspace_config.swapped_numbers ? 27 : 26), 0x00, 0xFF, 0x00); // 2
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x7A, 0x00, 0xFF); // 3
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif // RGB_MATRIX_INIT
|
||||
|
||||
#ifdef TAPPING_TERM_PER_KEY
|
||||
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
if (keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) {
|
||||
if (mod_config(keycode & 0xf) & MOD_MASK_ALT) {
|
||||
return (2 * TAPPING_TERM);
|
||||
}
|
||||
}
|
||||
return TAPPING_TERM;
|
||||
}
|
||||
#endif
|
|
@ -1,6 +0,0 @@
|
|||
Pins used by Ergodox EZ
|
||||
|
||||
Column Pins: F0 F1 F4 F5 F6 F7
|
||||
Row Pins : B0 B1 B2 B3 D2 D3 C6
|
||||
LEDs : D6 B5 B6 B7
|
||||
:
|
|
@ -1,20 +0,0 @@
|
|||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
TAP_DANCE_ENABLE = no
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
CONSOLE_ENABLE = no
|
||||
|
||||
ifeq ($(strip $(KEYBOARD)), ergodox_ez)
|
||||
RGBLIGHT_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
INDICATOR_LIGHTS = no
|
||||
RGBLIGHT_STARTUP_ANIMATION = yes
|
||||
endif
|
||||
|
||||
UNICODE_ENABLE = no
|
||||
UNICDOEMAP_ENABLE = no
|
||||
CUSTOM_UNICODE_ENABLE = no
|
||||
|
||||
ifeq ($(strip $(KEYBOARD)), hotdox76v2)
|
||||
OLED_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = no
|
||||
endif
|
|
@ -1 +0,0 @@
|
|||
https://i.imgur.com/zLx5fus.png
|
|
@ -1,160 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
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 | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | BkSp | A | O | E | U | I |------| |------| D | H | T | N |S / L2| - |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/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_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1),
|
||||
KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I,
|
||||
KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, 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_BSLS,
|
||||
TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
|
||||
KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), KC_MINS,
|
||||
MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), 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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
KC_TRNS,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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
LAYOUT_ergodox(
|
||||
KC_TRNS, 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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,133 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
/******************************************************************************************
|
||||
* DVORAK LAYOUT (see http://djelibeibi.unex.es/dvorak/)
|
||||
* Layer 1: auxiliary keys
|
||||
* Layer 2: full qwerty layout
|
||||
*****************************************************************************************/
|
||||
|
||||
// LAYERS
|
||||
#define BASE 0 // dvorak layout (default)
|
||||
#define AUX 1 // auxiliary keys
|
||||
|
||||
// MACROS
|
||||
/* #define OBRACE 0 // key { or shift */
|
||||
/* #define CBRACE 1 // key } or shift */
|
||||
/* #define OBRACK 2 // key [ or left alt */
|
||||
/* #define CBRACK 3 // key ] or left alt */
|
||||
/* #define CAPS 4 // caps lock */
|
||||
|
||||
// TIMERS
|
||||
#define KEY_TAP_FAST 85
|
||||
#define KEY_TAP_SLOW 95
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Base layer
|
||||
* Keys with double values (like Esc/Ctrl) correspond to the 'tapped' key and the 'held' key, respectively
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = / + |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | ~ |" / ' |, / < |. / > | P | Y | [ | | ] | F | G | C | H | L | / / ? |
|
||||
* |--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
|
||||
* | Tab | A | O | E |U/LSft| I/L1 |------| |------| D/L1|R/RSft| T | N | S | - / _ |
|
||||
* |--------+------+------+------+------+------| LGUI | | LGUI |------+------+------+------+------+--------|
|
||||
* | {/LSft |; / : | Q | J | K | X | | | | B | M | W | V | Z | }/RSft |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | ~L1 | | ~L1 | | | \ / || |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | HOME | END | | LEFT | RIGHT|
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | BSPC | DEL | PGUP | | UP | SPACE |RETURN|
|
||||
* | / | / |------| |------| / | / |
|
||||
* | LCTL | LALT |PGDWN | | DOWN | LALT | LCTL |
|
||||
* `--------------------' `----------------------'
|
||||
*
|
||||
*/
|
||||
[BASE] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||
KC_TILD, KC_QUOTE, KC_COMM,KC_DOT, KC_P, KC_Y, KC_LBRC,
|
||||
KC_TAB, KC_A, KC_O, KC_E, SFT_T(KC_U), LT(AUX, KC_I),
|
||||
SFT_T(KC_LBRC), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LGUI,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, MO(AUX),
|
||||
KC_HOME, KC_END,
|
||||
KC_PGUP,
|
||||
CTL_T(KC_BSPC), ALT_T(KC_DEL), KC_PGDN,
|
||||
// right hand
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
|
||||
KC_RBRC, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLASH,
|
||||
LT(AUX, KC_D), SFT_T(KC_H), KC_T, KC_N, KC_S, KC_MINUS,
|
||||
KC_LGUI, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_T(KC_RBRC),
|
||||
MO(AUX), KC_NO, KC_NO, KC_BSLS, KC_NO,
|
||||
KC_LEFT, KC_RIGHT,
|
||||
KC_UP,
|
||||
KC_DOWN, ALT_T(KC_ENT), CTL_T(KC_SPC)
|
||||
),
|
||||
/* Keymap 1: Aux layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | VolUp | | | | | | SLEEP | PWR | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | VolDn | F1 | F2 | F3 | F4 | | | | | | 7 | 8 | 9 | * | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | F5 | F6 | F7 | F8 | TRANS|------| |------|TRANS | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | |PSCR |------+------+------+------+------+--------|
|
||||
* | TRANS | F9 | F10 | F11 | F12 | | | | | | 1 | 2 | 3 | / | TRANS |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |CTRL-S|CTRL-Z|CTRL-X|CTRL-C| TRANS| | TRANS| . | 0 | = | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | TRANS| TRANS| | TRANS| TRANS|
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | TRANS| | TRANS| | |
|
||||
* |TRANS |TRANS |------| |------| TRANS| TRANS|
|
||||
* | | | TRANS| | TRANS| | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[AUX] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP,
|
||||
KC_VOLD, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO, KC_NO,
|
||||
KC_NO , KC_F5, KC_F6, KC_F7, KC_F8, KC_TRNS,
|
||||
KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
|
||||
LCTL(KC_S), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), KC_TRNS,
|
||||
KC_TRNS , KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
// right hand
|
||||
KC_PWR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_PAST, KC_NO,
|
||||
KC_TRNS, KC_4, KC_5, KC_6, KC_PPLS, KC_NO,
|
||||
KC_PSCR, KC_NO, KC_1, KC_2, KC_3, KC_PSLS, KC_TRNS,
|
||||
KC_TRNS,KC_DOT, KC_0, KC_PEQL, KC_NO,
|
||||
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) {
|
||||
case 1:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
default:
|
||||
// none
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -1,70 +0,0 @@
|
|||
# Ergodox Dvorak Layout with emacs binding in mind
|
||||
* Control & Alt key on the thumbs (activated if pressed with another key).
|
||||
* In the same way, "U" and "R" are the shift modifier if pressed with another key.
|
||||
* "I" and "D" set the layer 1 for the auxiliary keys if pressed with another key.
|
||||
* Software layout set to english.
|
||||
|
||||
## Keymap Layers
|
||||
- L0: dvorak with some customizations (see layout below)
|
||||
- L1: auxiliary keys (includes function keys, numpad...)
|
||||
|
||||
|
||||
### Keymap 0: Base layer
|
||||
Keys with double values (like U/LSft) correspond to the 'tapped' key and the 'held' key, respectively
|
||||
|
||||
<pre><code>
|
||||
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| ~ | ' | , | . | P | Y | [ | | ] | F | G | C | H | L | / |
|
||||
|--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
|
||||
| Tab | A | O | E |U/LSft| I/L1 |------| |------| D/L1|R/RSft| T | N | S | - |
|
||||
|--------+------+------+------+------+------| LGUI | | LGUI |------+------+------+------+------+--------|
|
||||
| {/LSft | ; | Q | J | K | X | | | | B | M | W | V | Z | }/RSft |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | | | ~L1 | | ~L1 | | | \ | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| HOME | END | | LEFT | RIGHT|
|
||||
,------|------|------| |------+--------+------.
|
||||
| BSPC | DEL | PGUP | | UP | SPACE |RETURN|
|
||||
| / | / |------| |------| / | / |
|
||||
| LCTL | LALT |PGDWN | | DOWN | LALT | LCTL |
|
||||
`--------------------' `----------------------'
|
||||
|
||||
</pre></code>
|
||||
|
||||
### Keymap 1: Aux layer
|
||||
|
||||
<pre><code>
|
||||
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| VolUp | | | | | | SLEEP | PWR | | | | | | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| VolDn | F1 | F2 | F3 | F4 | | | | | | 7 | 8 | 9 | * | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | F5 | F6 | F7 | F8 | TRANS|------| |------|TRANS | 4 | 5 | 6 | + | |
|
||||
|--------+------+------+------+------+------| | |PSCR |------+------+------+------+------+--------|
|
||||
| TRANS | F9 | F10 | F11 | F12 | | | | | | 1 | 2 | 3 | / | TRANS |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
|CTRL-S|CTRL-Z|CTRL-X|CTRL-C| TRANS| | TRANS| . | 0 | = | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| TRANS| TRANS| | TRANS| TRANS|
|
||||
,------|------|------| |------+------+------.
|
||||
| | | TRANS| | TRANS| | |
|
||||
|TRANS |TRANS |------| |------| TRANS| TRANS|
|
||||
| | | TRANS| | TRANS| | |
|
||||
`--------------------' `--------------------'
|
||||
|
||||
</pre></code>
|
||||
|
||||
|
||||
|
||||
## Generation of .hex file
|
||||
> In the "qmk_firmware/keyboards/ergodox" directory.
|
||||
|
||||
> Execute "make dvorak_emacs". Then the hex file "ergodox_ez_dvorak_emacs.hex" is in the root directory : "qmk_firmware".
|
||||
|
||||
> Flash with `teensy_loader` binary
|
|
@ -1,134 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "keymap_dvorak.h"
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
/******************************************************************************************
|
||||
* DVORAK LAYOUT (see http://djelibeibi.unex.es/dvorak/)
|
||||
* Layer 1: auxiliary keys
|
||||
* Layer 2: full qwerty layout
|
||||
*****************************************************************************************/
|
||||
|
||||
// LAYERS
|
||||
#define BASE 0 // dvorak layout (default)
|
||||
#define AUX 1 // auxiliary keys
|
||||
|
||||
// MACROS
|
||||
/* #define OBRACE 0 // key { or shift */
|
||||
/* #define CBRACE 1 // key } or shift */
|
||||
/* #define OBRACK 2 // key [ or left alt */
|
||||
/* #define CBRACK 3 // key ] or left alt */
|
||||
/* #define CAPS 4 // caps lock */
|
||||
|
||||
// TIMERS
|
||||
#define KEY_TAP_FAST 85
|
||||
#define KEY_TAP_SLOW 95
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Base layer
|
||||
* Keys with double values (like Esc/Ctrl) correspond to the 'tapped' key and the 'held' key, respectively
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = / + |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | ~ |" / ' |, / < |. / > | P | Y | [ | | ] | F | G | C | H | L | / / ? |
|
||||
* |--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
|
||||
* | Tab | A | O | E |U/LSft| I/L1 |------| |------| D/L1|R/RSft| T | N | S | - / _ |
|
||||
* |--------+------+------+------+------+------| LGUI | | LGUI |------+------+------+------+------+--------|
|
||||
* | {/LSft |; / : | Q | J | K | X | | | | B | M | W | V | Z | }/RSft |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | ~L1 | | ~L1 | | | \ / || |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | HOME | END | | LEFT | RIGHT|
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | BSPC | DEL | PGUP | | UP | SPACE |RETURN|
|
||||
* | / | / |------| |------| / | / |
|
||||
* | LCTL | LALT |PGDWN | | DOWN | LALT | LCTL |
|
||||
* `--------------------' `----------------------'
|
||||
*
|
||||
*/
|
||||
[BASE] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||
KC_TILD, DV_QUOT, DV_COMM,DV_DOT, DV_P, DV_Y, DV_LBRC,
|
||||
KC_TAB, DV_A, DV_O, DV_E, SFT_T(DV_U), LT(AUX, DV_I),
|
||||
SFT_T(DV_LBRC), DV_SCLN, DV_Q, DV_J, DV_K, DV_X, KC_LGUI,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, MO(AUX),
|
||||
KC_HOME, KC_END,
|
||||
KC_PGUP,
|
||||
CTL_T(KC_BSPC), ALT_T(KC_DEL), KC_PGDN,
|
||||
// right hand
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, DV_EQL,
|
||||
DV_RBRC, DV_F, DV_G, DV_C, DV_R, DV_L, DV_SLSH,
|
||||
LT(AUX, DV_D), SFT_T(DV_H), DV_T, DV_N, DV_S, DV_MINS,
|
||||
KC_LGUI, DV_B, DV_M, DV_W, DV_V, DV_Z, SFT_T(DV_RBRC),
|
||||
MO(AUX), KC_NO, KC_NO, KC_BSLS, KC_NO,
|
||||
KC_LEFT, KC_RIGHT,
|
||||
KC_UP,
|
||||
KC_DOWN, ALT_T(KC_ENT), CTL_T(KC_SPC)
|
||||
),
|
||||
/* Keymap 1: Aux layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | VolUp | | | | | | SLEEP | PWR | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | VolDn | F1 | F2 | F3 | F4 | | | | | | 7 | 8 | 9 | * | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | F5 | F6 | F7 | F8 | TRANS|------| |------|TRANS | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | |PSCR |------+-----aan+------+------+------+--------|
|
||||
* | TRANS | F9 | F10 | F11 | F12 | | | | | | 1 | 2 | 3 | / | TRANS |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |CTRL-S|CTRL-Z|CTRL-X|CTRL-C| TRANS| | TRANS| . | 0 | = | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | TRANS| TRANS| | TRANS| TRANS|
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | TRANS| | TRANS| | |
|
||||
* |TRANS |TRANS |------| |------| TRANS| TRANS|
|
||||
* | | | TRANS| | TRANS| | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[AUX] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP,
|
||||
KC_VOLD, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO, KC_NO,
|
||||
KC_NO , KC_F5, KC_F6, KC_F7, KC_F8, KC_TRNS,
|
||||
KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
|
||||
LCTL(DV_S), LCTL(DV_Z), LCTL(DV_X), LCTL(DV_C), KC_TRNS,
|
||||
KC_TRNS , KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
// right hand
|
||||
KC_PWR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_PAST, KC_NO,
|
||||
KC_TRNS, KC_4, KC_5, KC_6, KC_PPLS, KC_NO,
|
||||
KC_PSCR, KC_NO, KC_1, KC_2, KC_3, KC_PSLS, KC_TRNS,
|
||||
KC_TRNS,KC_DOT, KC_0, KC_PEQL, KC_NO,
|
||||
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) {
|
||||
case 1:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
default:
|
||||
// none
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
# Ergodox Dvorak Layout with emacs binding in mind - software version
|
||||
|
||||
This configuration is the same as the dvorak_emacs layout, but using a sofware dvorak configuration
|
||||
instead of a firmware configuration. This layout is for those who run their computer in dvorak mode.
|
||||
|
||||
* Control & Alt key on the thumbs (activated if pressed with another key).
|
||||
* In the same way, "U" and "R" are the shift modifier if pressed with another key.
|
||||
* "I" and "D" set the layer 1 for the auxiliary keys if pressed with another key.
|
||||
* Software layout set to english.
|
||||
|
||||
## Keymap Layers
|
||||
- L0: dvorak with some customizations (see layout below)
|
||||
- L1: auxiliary keys (includes function keys, numpad...)
|
||||
|
||||
|
||||
### Keymap 0: Base layer
|
||||
Keys with double values (like U/LSft) correspond to the 'tapped' key and the 'held' key, respectively
|
||||
|
||||
<pre><code>
|
||||
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = |
|
||||
|--------|------|------|------|------|-------------| |------|------|------|------|------|------|--------|
|
||||
| ~ | ' | , | . | P | Y | [ | | ] | F | G | C | H | L | / |
|
||||
|--------|------|------|------|------|------| { | | } |------|------|------|------|------|--------|
|
||||
| Tab | A | O | E |U/LSft| I/L1 |------| |------| D/L1|R/RSft| T | N | S | - |
|
||||
|--------|------|------|------|------|------| LGUI | | LGUI |------|------|------|------|------|--------|
|
||||
| {/LSft | ; | Q | J | K | X | | | | B | M | W | V | Z | }/RSft |
|
||||
`--------|------|------|------|------|-------------' `-------------|------|------|------|------|--------'
|
||||
| | | | | ~L1 | | ~L1 | | | \ | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| HOME | END | | LEFT | RIGHT|
|
||||
,------|------|------| |------|--------|------.
|
||||
| BSPC | DEL | PGUP | | UP | SPACE |RETURN|
|
||||
| / | / |------| |------| / | / |
|
||||
| LCTL | LALT |PGDWN | | DOWN | LALT | LCTL |
|
||||
`--------------------' `----------------------'
|
||||
|
||||
</pre></code>
|
||||
|
||||
### Keymap 1: Aux layer
|
||||
|
||||
<pre><code>
|
||||
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| VolUp | | | | | | SLEEP | PWR | | | | | | |
|
||||
|--------|------|------|------|------|-------------| |------|------|------|------|------|------|--------|
|
||||
| VolDn | F1 | F2 | F3 | F4 | | | | | | 7 | 8 | 9 | * | |
|
||||
|--------|------|------|------|------|------| | | |------|------|------|------|------|--------|
|
||||
| | F5 | F6 | F7 | F8 | TRANS|------| |------|TRANS | 4 | 5 | 6 | + | |
|
||||
|--------|------|------|------|------|------| | |PSCR |------|------|------|------|------|--------|
|
||||
| TRANS | F9 | F10 | F11 | F12 | | | | | | 1 | 2 | 3 | / | TRANS |
|
||||
`--------|------|------|------|------|-------------' `-------------|------|------|------|------|--------'
|
||||
|CTRL-S|CTRL-Z|CTRL-X|CTRL-C| TRANS| | TRANS| . | 0 | = | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| TRANS| TRANS| | TRANS| TRANS|
|
||||
,------|------|------| |------|------|------.
|
||||
| | | TRANS| | TRANS| | |
|
||||
|TRANS |TRANS |------| |------| TRANS| TRANS|
|
||||
| | | TRANS| | TRANS| | |
|
||||
`--------------------' `--------------------'
|
||||
|
||||
</pre></code>
|
||||
|
||||
|
||||
|
||||
## Generation of .hex file
|
||||
> In the "qmk_firmware/keyboards/ergodox" directory.
|
||||
|
||||
> Execute "make dvorak_emacs". Then the hex file "ergodox_ez_dvorak_emacs.hex" is in the root directory : "qmk_firmware".
|
||||
|
||||
> Flash with `teensy_loader` binary
|
|
@ -1,161 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | BrBck| | Play | 6 | 7 | 8 | 9 | 0 | \ / L2 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Esc | ' | , | . | P | Y | Del | | Ins | F | G | C | R | L | / |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | BkSp | A | O | E | U | I |------| |------| D | H | T | N | S | - |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Grv/L1| LAlt | LGui | Left | Right| | Up | Down | [ | ] | ~L1 |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,---------------.
|
||||
* | App | L1 | | L2 |PrntScr |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | Space| Tab |------| |------| AltShf |Enter |
|
||||
* | | | 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_WBAK,
|
||||
KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_DEL,
|
||||
KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I,
|
||||
KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO),
|
||||
LT(SYMB,KC_GRV),KC_LALT, KC_LGUI, KC_LEFT,KC_RGHT,
|
||||
CTL_T(KC_APP), TG(1),
|
||||
KC_HOME,
|
||||
KC_SPC,KC_TAB,KC_END,
|
||||
// right hand
|
||||
KC_MPLY, KC_6, KC_7, KC_8, KC_9, KC_0, LT(MDIA, KC_BSLS),
|
||||
KC_INS, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
|
||||
KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
|
||||
MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT,
|
||||
KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TT(SYMB),
|
||||
TG(2), KC_PSCR,
|
||||
KC_PGUP,
|
||||
KC_PGDN,RALT(KC_RSFT), KC_ENT
|
||||
),
|
||||
/* Keymap 1: Symbol & Media Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Prev | Next | | | . | 0 | = | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | |VolUp | | |
|
||||
* | | |------| |------| Mute | |
|
||||
* | | | | |VolDn | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS,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_MPRV,KC_MNXT,
|
||||
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_VOLU,
|
||||
KC_VOLD, KC_MUTE, KC_TRNS
|
||||
),
|
||||
/* Keymap 2: QWERTY Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | Q | W | E | R | T | | | | Y | U | I | O | P | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | A | S | D | F | G |------| |------| H | J | K | L | ; | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
LAYOUT_ergodox( // layer 0 : default
|
||||
// left hand
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS,
|
||||
KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_TRNS, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, 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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS,
|
||||
KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_TRNS,
|
||||
KC_TRNS, KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), 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:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
default:
|
||||
// none
|
||||
break;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,29 +0,0 @@
|
|||
# ErgoDox EZ Dvorak International Squisher
|
||||
|
||||
Dvorak layout adjusted with several (linux) applications in mind:
|
||||
|
||||
* Easier Escape for VIM
|
||||
* Windows/Super key for awesome WM
|
||||
* Alt+Shift for international characters
|
||||
* PrintScreen for sys-rq
|
||||
* Insert for the X11 clip-board
|
||||
|
||||
Major layer changes:
|
||||
|
||||
* Common multimedia keys are integrated into layer 0, less common into layer 1
|
||||
* No mouse keys
|
||||
* Layer 2 is qwerty (for easier gaming & less fortunate keyboard users)
|
||||
|
||||
Known issues:
|
||||
|
||||
* Alt+Shift does not work reliably (depends on the X11 kb layout? Not
|
||||
entirely clear...)
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
## Changelog
|
||||
|
||||
* 2016-03-29
|
||||
* Initial release
|
|
@ -1,14 +0,0 @@
|
|||
Dvorak support, plover support, gaming support
|
||||
|
||||
I'm used to the Kinesis, so originally I was just going to patch up
|
||||
the thumb keys to be more familiar. But the ergodox is really well
|
||||
suited to NKRO support in Plover, so I added a layer for that, and
|
||||
then I remembered that dvorak can be really annoying for video
|
||||
games (try to reach WASD), so I added a layer for that.
|
||||
|
||||
The result is probably a bit idiosyncratic, but it works for me.
|
||||
|
||||
(I also don't have any press/hold distinction keys, because that
|
||||
confuses my fuzzy little brain.)
|
||||
|
||||
Contributed by seebs (seebs@seebs.net)
|
|
@ -1,206 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define PLVR 2 // media keys
|
||||
#define QWRT 3 // qwerty layer for gaming
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | \ |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | ' | , | . | P | Y | L1 | | L2 | F | G | C | R | L | / |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | LGui | A | O | E | U | I |------| |------| D | H | T | N | S | - |
|
||||
* |--------+------+------+------+------+------| Esc | | L3 |------+------+------+------+------+--------|
|
||||
* | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Lalt | Grv | | Left | Right| | Up | Down | [ | ] | RAlt |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,---------------.
|
||||
* | LCtrl| Alt | | LGui | RCtrl |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* |Backsp|Delete|------| |------| Enter |Space |
|
||||
* | 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_ESC,
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, MO(SYMB),
|
||||
KC_LGUI, KC_A, KC_O, KC_E, KC_U, KC_I,
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_ESC,
|
||||
KC_LALT, KC_GRV, KC_ESC, KC_LEFT,KC_RGHT,
|
||||
KC_LCTL, KC_LALT,
|
||||
KC_HOME,
|
||||
KC_BSPC,KC_DEL,KC_END,
|
||||
// right hand
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
|
||||
TG(PLVR), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
|
||||
KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
|
||||
TG(QWRT),KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
|
||||
KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_RALT,
|
||||
KC_LGUI, KC_RCTL,
|
||||
KC_PGUP,
|
||||
KC_PGDN,KC_ENT, KC_SPC
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | ! | @ | { | } | | | | | | Up | KP7 | KP8 | KP9 | KP* | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | # | $ | ( | ) | ` |------| |------| Down | KP4 | KP5 | KP6 | KP+ | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | & | KP1 | KP2 | KP3 | KP/ | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | KP. | KP0 | KP= | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS,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_P7, KC_P8, KC_P9, KC_PAST, KC_F12,
|
||||
KC_DOWN, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS,
|
||||
KC_TRNS, KC_AMPR, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_TRNS,
|
||||
KC_TRNS,KC_PDOT, KC_P0, KC_PEQL, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
/* Keymap 2: Steno for Plover from https://github.com/shayneholmes/tmk_keyboard/commit/11290f8489013018f778627db725160c745e75bd
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | 1 | 2 | 3 | 4 | 5 | | | L2 | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | q | w | e | r | t |------| |------| y | u | i | o | p | [ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | a | s | d | f | g | | | | h | j | k | l | ; | ' |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | c | v |------| |------| n | m |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
|
||||
[PLVR] = LAYOUT_ergodox( // layout: layer 2: Steno for Plover
|
||||
// left hand
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS,
|
||||
KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
||||
KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO,
|
||||
KC_NO,
|
||||
KC_C, KC_V, KC_NO,
|
||||
// right hand
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||
TG(2), KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
||||
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
||||
KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_NO, KC_N, KC_M
|
||||
),
|
||||
/* Keymap 3: qwerty-ish
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | LGui | A | S | D | F | G |------| |------| H | J | K | L | ; | LGui |
|
||||
* |--------+------+------+------+------+------| Spc | | L3 |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | Lalt | Grv | '" | Left | Right| | Up | Down | [ | ] | RAlt |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,---------------.
|
||||
* | LCtrl| LAlt | | LGui | RCtrl |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* |Backsp|Delete|------| |------| Enter |Space |
|
||||
* | ace| | End | | PgDn | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
[QWRT] = LAYOUT_ergodox( // layer 3: qwerty for gaming
|
||||
// left hand
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
|
||||
KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPACE,
|
||||
KC_LALT, KC_GRV, KC_QUOT, KC_LEFT,KC_RGHT,
|
||||
KC_LCTL, KC_LALT,
|
||||
KC_HOME,
|
||||
KC_BSPC,KC_DEL,KC_END,
|
||||
// right hand
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
TG(QWRT), KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_RALT,
|
||||
KC_LGUI, KC_RCTL,
|
||||
KC_PGUP,
|
||||
KC_PGDN,KC_ENT, KC_SPC
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
case 3:
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
default:
|
||||
// none
|
||||
break;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,209 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
#include "keymap_swedish.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MOUS 2 // mouse keys
|
||||
#define QWRT 3 // qwerty layout
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 1 | 2 | 3 | 4 | 5 | ~MOUS| | QWRT | 6 | 7 | 8 | 9 | 0 | + |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | Å | Ä | Ö | P | Y | | | Del | F | G | C | R | L | , |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Escape | A | O | E | U | I |------| |------| D | H | T | N | S | -/_ |
|
||||
* |--------+------+------+------+------+------| | | RCTRL|------+------+------+------+------+--------|
|
||||
* | LShift | . | Q | J | K | X | | | | B | M | W | V | Z | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | LCTRL | | | LAlt | Super| | ~SYMB| Left | Down | Up | Right |
|
||||
* `-----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Ins | Del | | HOME | END |
|
||||
* ,------|------|------| |------+--------+-------.
|
||||
* | | | | | PgUp | | |
|
||||
* | BSP | Tab |------| |------| Enter | Space |
|
||||
* | | | | | PgDn | | |
|
||||
* `--------------------' `-----------------------'
|
||||
*/
|
||||
[BASE] = LAYOUT_ergodox( // layer 0 : default
|
||||
// left hand
|
||||
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, MO(MOUS),
|
||||
KC_TAB, SE_ARNG,SE_ADIA, SE_ODIA, KC_P, KC_Y, KC_NO,
|
||||
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I,
|
||||
KC_LSFT, KC_DOT, KC_Q, KC_J, KC_K, KC_X, KC_NO,
|
||||
KC_LCTL, KC_NO, KC_NO, KC_LALT, KC_LCMD,
|
||||
KC_INSERT, KC_DEL,
|
||||
KC_NO,
|
||||
KC_BSPC, KC_TAB, KC_NO,
|
||||
// right hand
|
||||
TG(QWRT), KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,
|
||||
KC_DEL, KC_F, KC_G, KC_C, KC_R, KC_L, KC_COMM,
|
||||
KC_D, KC_H, KC_T, KC_N, KC_S, SE_MINS,
|
||||
KC_RCTL, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
|
||||
MO(SYMB), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
KC_HOME, KC_END,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_ENT, KC_SPACE
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | { | } | [ | ] | $ | | | | " | ? | & | < | > | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | ; | / | ( | ) | | |------| |------| # | ^ | # | " | ~ | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | : | = | @ | ! | \ | | | | % | ´ | ' | * | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | BSP | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, ALGR(KC_7), ALGR(KC_0), ALGR(KC_8), ALGR(KC_9), ALGR(KC_4), KC_NO,
|
||||
KC_NO, LSFT(KC_COMM), KC_KP_SLASH, LSFT(KC_8), LSFT(KC_9), ALGR(KC_NUBS),
|
||||
KC_NO, LSFT(KC_DOT), LSFT(KC_0), ALGR(KC_2), KC_EXLM, ALGR(KC_MINS), KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO,
|
||||
KC_NO,
|
||||
KC_TRNS, KC_NO, KC_NO,
|
||||
// right hand
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, LSFT(KC_2), SE_QUES, LSFT(KC_6), SE_LABK, SE_RABK, KC_NO,
|
||||
KC_HASH, SE_CIRC, KC_HASH, LSFT(KC_2), SE_TILD, KC_NO,
|
||||
KC_NO, KC_PERC, SE_ACUT, SE_QUOT, SE_ASTR, SE_GRV, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO,
|
||||
KC_NO,
|
||||
KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
/* Keymap 2: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | F11 | F12 | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| | | | | | Vol Up |
|
||||
* |--------+------+------+------+------+------| | | RCTRL|------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | B1 | B2 |Vol Down|
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | LCTRL| | | LALT | | | | M_L | M_D | M_U | M_R |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | Play |
|
||||
* | | | | | | | Pause|
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MOUS] = LAYOUT_ergodox(
|
||||
KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,
|
||||
KC_NO, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO,
|
||||
KC_NO, KC_NO,
|
||||
KC_NO,
|
||||
KC_NO, KC_NO, KC_NO,
|
||||
// right hand
|
||||
KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLU,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_BTN2, KC_VOLD,
|
||||
KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R,
|
||||
KC_NO, KC_NO,
|
||||
KC_NO,
|
||||
KC_NO, KC_NO, KC_MPLY
|
||||
),
|
||||
/* Keymap 3: QWERTY Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | Print | ! | " | # | # | % | | |Middle| & | / | ( | ) | = | ? |
|
||||
* | Screen | 1 | 2 @ | 3 £ | 4 $ | 5 | F11 | |Mouse | 6 | 7 { | 8 [ | 9 ] | 0 } | + \ |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | Å |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | Ö | Ä |
|
||||
* |--------+------+------+------+------+------| ` | | Del |------+------+------+------+------+--------|
|
||||
* | LShft | Z | X | C | V | B | ' | | | N | M | , | . | - | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | LCtl | ^ | * | LAlt | LGui | | AltGr| Down | Up | Left | Right|
|
||||
* | (') | " ~ | ' ´ | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,--------------.
|
||||
* | LCtl | LAlt | | Home | End |
|
||||
* ,------|------|------| |------+-------+------.
|
||||
* | | | ~ | | PgUp | | |
|
||||
* | BSP | TAB |------| |------| Enter | Space|
|
||||
* | | | Esc | | PgDn | | |
|
||||
* `--------------------' `---------------------'
|
||||
*/
|
||||
[QWRT] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_PSCR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SE_ACUT,
|
||||
CTL_T(SE_QUOT), SE_CIRC, SE_ASTR, KC_LALT, KC_LGUI,
|
||||
KC_LCTL, KC_LALT,
|
||||
SE_TILD,
|
||||
KC_BSPC, KC_TAB, KC_ESC,
|
||||
// right hand
|
||||
KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,
|
||||
KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
|
||||
KC_H, KC_J, KC_K, KC_L, SE_ODIA, SE_ADIA,
|
||||
KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT,
|
||||
KC_ALGR, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT,
|
||||
KC_HOME, KC_END,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_ENT, KC_SPACE
|
||||
),
|
||||
};
|
||||
|
||||
// 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) {
|
||||
case 1:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
case 3:
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,42 +0,0 @@
|
|||
# ErgoDox EZ Svorak A5
|
||||
|
||||
This layout is supposed to be an implementation of the [Svorak A5
|
||||
layout](http://aoeu.info/s/dvorak/svorak). Unfortunately, the Ergodox EZ lacks
|
||||
one column for the right hand, why the three buttons furthest to the right, on
|
||||
the right half, are missing. I have tried to move them around and have yet to
|
||||
find a perfect position for them.
|
||||
|
||||
|
||||
## Note
|
||||
|
||||
The keyboard assumes that the operating system interprets your keyboard as
|
||||
Swedish. If you get weird issues (like, most letters work, but not all special
|
||||
characters) please make sure your operating system uses a Swedish keyboard
|
||||
layout.
|
||||
|
||||
|
||||
## Flashing
|
||||
|
||||
In order to compile and flash your Ergodox EZ, invoke the following at the root
|
||||
of the repository.
|
||||
|
||||
`make ergodox_ez:dvorak_svorak_a5:teensy`
|
||||
|
||||
I haven't gotten the above to work on Windows. Instead I use
|
||||
[Msys2](https://www.msys2.org/) to compile the .hex-file (`make ergodox_ez:dvorak_svorak_a5`)
|
||||
and [Teensy Loader](https://www.pjrc.com/teensy/loader_win10.html) to flash the
|
||||
board.
|
||||
|
||||
|
||||
## Changelog
|
||||
|
||||
* 2018-08-09
|
||||
* Initial release
|
||||
* 2018-08-10
|
||||
* Make special characters work in Windows
|
||||
* Add QWERTY layer
|
||||
|
||||
# Author
|
||||
Erik Thorsell
|
||||
erikthorsell @ github and twitter
|
||||
|
|
@ -1,160 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | Grv | 1 | 2 | 3 | 4 | 5 | L1 | | L2 | 6 | 7 | 8 | 9 | 0 | = |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | - |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | \/LCtrl| A | S | D | F | G |------| |------| H | J | K | L | ; |'/RCtrl |
|
||||
* |--------+------+------+------+------+------| RAlt | | RAlt |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | ~L1 | LCtrl| Left| Right| LAlt | | LAlt | Up | Down | RCtrl| ~L2 |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Del | Ins | | Esc | App |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | Space|Backsp|------| |------| LGui |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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB),
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
|
||||
CTL_T(KC_BSLS), KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_RALT,
|
||||
MO(SYMB), KC_LCTL, KC_LEFT,KC_RGHT,KC_LALT,
|
||||
KC_DEL, KC_INS,
|
||||
KC_HOME,
|
||||
KC_SPC,KC_BSPC,KC_END,
|
||||
// right hand
|
||||
TG(MDIA), KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
|
||||
KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_T(KC_QUOT),
|
||||
KC_RALT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LALT,KC_UP, KC_DOWN,KC_RCTL, MO(MDIA),
|
||||
KC_ESC, KC_APP,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_LGUI, KC_ENT
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | 0 | 0 | . | = | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS,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_0, KC_0, KC_DOT, KC_EQL, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
/* Keymap 2: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, 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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,10 +0,0 @@
|
|||
# ErgoDox EZ Emacs-OSX-DeadKeys Configuration
|
||||
|
||||
Since I'm an Emacs user, ctrl keys are very important and gets a placement where the usual caps_lock is. There
|
||||
are an extra pair of ctrls, just in case there where problems with the holding one's, but not as comfortable.
|
||||
|
||||
Gui button takes a predominant place on the thumb cluster, as I'm using a mac os x and it relies heavily on it.
|
||||
|
||||
Finally there is also two Right Alts to easily access to accented letters of the spanish alphabet.
|
||||
|
||||

|
|
@ -1,186 +0,0 @@
|
|||
// German keymap derived from "german", but more closely resembling the German layout of the Kinesis Ergo Elan.
|
||||
//
|
||||
// chschmitz, 2016-01-27
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
#include "keymap_german.h"
|
||||
|
||||
// Layer names
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbol layer
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* X'es mark the spots where this is different from the "german" layout which it is based on.
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* |X Esc X| 1 | 2 | 3 | 4 | 5 |X ` X| |XPRSCX| 6 | 7 | 8 | 9 | 0 | ß |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* |X Tab X| Q | W | E | R | T |X L1 X| |X L1 X| Z | U | I | O | P | Ü |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Caps | A | S | D | F | G |------| |------| H | J | K | L | Ö | Ä/L2 |
|
||||
* |--------+------+------+------+------+------|X L2 X| |X L2 X|------+------+------+------+------+--------|
|
||||
* | LShift | Y | X | C | V | B | | | | N | M | , | . |X - X| RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |XLGuiX|X ^ X|X < X|XLEFTX|XRIGHT| |XDownX|X Up X|X # X|X + X|XRGuiX|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* |XCTRLX|XALTX | | Alt |Ctrl/Esc|
|
||||
* ,------+------+------| |------+--------+------.
|
||||
* |XXX |XXX | Home | | PgUp |XXX |XXX |
|
||||
* | Bkspc|Del |------| |------| Enter | Space|
|
||||
* | | | 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, DE_ACUT,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(1),
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, MO(2),
|
||||
KC_LGUI, DE_CIRC, DE_LABK, KC_LEFT, KC_RIGHT,
|
||||
KC_LCTL, KC_LALT,
|
||||
KC_HOME,
|
||||
KC_BSPC,KC_DEL,KC_END,
|
||||
// right hand
|
||||
KC_PSCR, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
MO(1), DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA,
|
||||
KC_H, KC_J, KC_K, KC_L, DE_ODIA, LT(MDIA,DE_ADIA),
|
||||
MO(2), KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT,
|
||||
KC_DOWN, KC_UP, DE_HASH, DE_PLUS, KC_RGUI,
|
||||
KC_RALT, KC_RCTL,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_ENT, KC_SPC
|
||||
),
|
||||
// [BASE] = LAYOUT_ergodox( // layer 0 : default
|
||||
// // left hand
|
||||
// KC_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY,
|
||||
// KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1),
|
||||
// KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
// KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
|
||||
// LT(SYMB,DE_LABK),CTL_T(DE_HASH), DE_ACUT, DE_MINS, DE_PLUS,
|
||||
// ALT_T(KC_APP), KC_LGUI,
|
||||
// KC_HOME,
|
||||
// KC_SPC,KC_BSPC,KC_END,
|
||||
// // right hand
|
||||
// KC_MNXT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
// TG(2), DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA,
|
||||
// KC_H, KC_J, KC_K, KC_L, DE_ODIA, LT(MDIA,DE_ADIA),
|
||||
// MEH_T(KC_NO),KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(DE_MINS), KC_RSFT,
|
||||
// KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TT(SYMB),
|
||||
// KC_LALT,CTL_T(KC_ESC),
|
||||
// KC_PGUP,
|
||||
// KC_PGDN,KC_TAB, KC_ENT
|
||||
// ),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
|
||||
KC_TRNS,DE_EXLM,DE_AT, DE_LCBR,DE_RCBR,DE_PIPE,KC_TRNS,
|
||||
KC_TRNS,DE_HASH,DE_DLR, DE_LPRN,DE_RPRN,DE_GRV,
|
||||
KC_TRNS,DE_PERC,DE_CIRC,DE_LBRC,DE_RBRC,DE_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, DE_ASTR, KC_F12,
|
||||
KC_DOWN, KC_4, KC_5, KC_6, DE_PLUS, KC_TRNS,
|
||||
KC_TRNS, DE_AMPR, KC_1, KC_2, KC_3, DE_BSLS, KC_TRNS,
|
||||
KC_TRNS,KC_DOT, KC_0, DE_EQL, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
/* Keymap 2: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | Lclk | MsUp | Rclk | | | | | |VolDwn| Mute |VolUp | | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | Btn4 |MsLeft|MsDown|MsRght| Btn5 |------| |------| | Prev | Stop | Play | Next | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | |WhRght|WhDown| WhUp |WhLeft|WhClk | | | |BwSrch|BwBack|BwHome|BwRefr|BwFwd | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | |MsAcl0|MsAcl1|MsAcl2| | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | |Brwser|Brwser|
|
||||
* | Lclk | Rclk |------| |------|Back |Forwd |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5,
|
||||
KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN3, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_ACL0, KC_ACL1, KC_ACL2,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_BTN1, KC_BTN2, KC_TRNS,
|
||||
// right hand
|
||||
KC_TRNS, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11,
|
||||
KC_TRNS, KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_F12,
|
||||
KC_TRNS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_TRNS,
|
||||
KC_TRNS, KC_WSCH, KC_WBAK, KC_WHOM, KC_WREF, KC_WFWD, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_WBAK, KC_WFWD
|
||||
),
|
||||
};
|
||||
|
||||
// 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) {
|
||||
case SYMB:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case MDIA:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
default:
|
||||
ergodox_board_led_off();
|
||||
break;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,35 +0,0 @@
|
|||
# German Layout for the ErgoDox
|
||||
|
||||
This layout is inspired by the "kinesis-qwerty-mod" from benblazak's
|
||||
[ergodox-firmware](https://github.com/benblazak/ergodox-firmware), as well as by the "german" layout from the
|
||||
[qmk_firmware](https://github.com/qmk/qmk_firmware).
|
||||
The goal was to have a layout that is pretty close to an ordinary German
|
||||
keyboard, so I don't have to make adjustments on the operating system level
|
||||
and I keep some of the muscle memory to use a regular keyboard.
|
||||
|
||||
Modifications I made with regard to the aforementioned layouts:
|
||||
|
||||
* The key layout is pretty close to the layout of a German Kinesis Ergo Elan.
|
||||
The only exception I made is that I reversed the "up" and "down" cursor keys,
|
||||
since that feels more natural to me.
|
||||
|
||||
* All layer changes are "momentary", i.e. they only last as long as the respective key is pressed.
|
||||
|
||||
* I sacrificed the Hyper and Meh keys, which I don't use, and put layer change keys in their place.
|
||||
|
||||
* I added a PrintScreen key which I use quite regularly for screenshots.
|
||||
|
||||
## Default Layer
|
||||
|
||||

|
||||
|
||||
## Code Layer
|
||||
|
||||

|
||||
|
||||
## Media Layer
|
||||
|
||||

|
||||
|
||||
Christoph Schmitz <schm4704 at web dot de>
|
||||
2016-01-28
|
|
@ -1,12 +0,0 @@
|
|||
# About this keymap
|
||||
|
||||
This keymap is based on the qwertz layout.
|
||||
It has a key for pressing the left control and the left alt key at once.
|
||||
|
||||
Linux makes a difference between AltGr and Control + Alt. Some keybindings are easier to press now.
|
||||
|
||||
Also, I added a layer for pressing Control + Alt + F-Keys very fast.
|
||||
|
||||
# Layer
|
||||
|
||||
Each layer in the *keymap.c*-file has a comment showing the mappings of the layer.
|
|
@ -1,212 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
#include "keymap_german.h"
|
||||
|
||||
// Layer names
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbol layer
|
||||
#define MDIA 2 // media keys
|
||||
#define SHRT 3 // shortcut layer
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | Caps | 1 | 2 | 3 | 4 | 5 |X ` X| | PRSC | 6 | 7 | 8 | 9 | 0 | ß |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | L1 | | L1 | Z | U | I | O | P | Ü |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Esc | A | S | D | F | G |------| |------| H | J | K | L | Ö | Ä/L2 |
|
||||
* |--------+------+------+------+------+------| L2 | | L2 |------+------+------+------+------+--------|
|
||||
* | LShift | Y | X | C | V | B | | | | N | M | , | . | - | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | LGui | ^ | < | LEFT | RIGHT| | Up | Down | # | + | LCA |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | CTRL | ALT | | Alt |Ctrl/Esc|
|
||||
* ,------+------+------| |------+--------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | Space|Del |------| |------| Bkspc | Enter|
|
||||
* | | | 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_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, DE_ACUT,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
|
||||
KC_LGUI, DE_CIRC, DE_LABK, KC_LEFT, KC_RIGHT,
|
||||
KC_LCTL, KC_LALT,
|
||||
KC_HOME,
|
||||
KC_SPC ,KC_DEL,KC_END,
|
||||
// right hand
|
||||
KC_PSCR, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(MDIA), DE_Z, KC_U, KC_I, KC_O, KC_P, LT(SHRT,DE_UDIA),
|
||||
KC_H, KC_J, KC_K, KC_L, DE_ODIA, LT(MDIA,DE_ADIA),
|
||||
MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT,
|
||||
KC_UP, KC_DOWN, DE_HASH, DE_PLUS, LCA_T(KC_NO),
|
||||
KC_RALT, KC_RCTL,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_BSPC, KC_ENT
|
||||
),
|
||||
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
|
||||
KC_TRNS,DE_EXLM,DE_AT, DE_LCBR,DE_RCBR,DE_PIPE,KC_TRNS,
|
||||
KC_TRNS,DE_HASH,DE_DLR, DE_LPRN,DE_RPRN,DE_GRV,
|
||||
KC_TRNS,DE_PERC,DE_CIRC,DE_LBRC,DE_RBRC,DE_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, DE_ASTR, KC_F12,
|
||||
KC_DOWN, KC_4, KC_5, KC_6, DE_PLUS, KC_TRNS,
|
||||
KC_TRNS, DE_AMPR, KC_1, KC_2, KC_3, DE_BSLS, KC_TRNS,
|
||||
KC_TRNS,KC_DOT, KC_0, DE_EQL, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 2: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | Lclk | MsUp | Rclk | | | | | |VolDwn| Mute |VolUp | | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | Btn4 |MsLeft|MsDown|MsRght| Btn5 |------| |------| | Prev | Stop | Play | Next | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | |WhRght|WhDown| WhUp |WhLeft|WhClk | | | |BwSrch|BwBack|BwHome|BwRefr|BwFwd | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | |MsAcl0|MsAcl1|MsAcl2| | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | |Brwser|Brwser|
|
||||
* | Lclk | Rclk |------| |------|Back |Forwd |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5,
|
||||
KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN3, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_ACL0, KC_ACL1, KC_ACL2,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_BTN1, KC_BTN2, KC_TRNS,
|
||||
// right hand
|
||||
KC_TRNS, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11,
|
||||
KC_TRNS, KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_F12,
|
||||
KC_TRNS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_TRNS,
|
||||
KC_TRNS, KC_WSCH, KC_WBAK, KC_WHOM, KC_WREF, KC_WFWD, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_WBAK, KC_WFWD
|
||||
),
|
||||
|
||||
/* Keymap 3: Linux shortcuts
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | |LCA-F1|LCA-F2|LCA-F3|LCA-F4|LCA-F5| | | |LCA-F6|LCA-F7|LCA-F8|LCA-F9| | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |LCA-Le| |LCA-Ri| |------| |------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | |LCA-Le|LCA-Ri| | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// Shortcuts
|
||||
[SHRT] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, LCA(KC_F1), LCA(KC_F2), LCA(KC_F3), LCA(KC_F4), LCA(KC_F5), KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, LCA(KC_LEFT), KC_TRNS, LCA(KC_RIGHT), KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, LCA(KC_LEFT), LCA(KC_RIGHT),
|
||||
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, LCA(KC_F6), LCA(KC_F7), LCA(KC_F8), LCA(KC_F9), 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,
|
||||
LCA(KC_UP), LCA(KC_DOWN), 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) {
|
||||
case SYMB:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case MDIA:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
case SHRT:
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
default:
|
||||
ergodox_board_led_off();
|
||||
break;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,161 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
#include "keymap_german.h"
|
||||
|
||||
// Layer names
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbol layer
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ^ | 1 | 2 | 3 | 4 | 5 | Play | | Next | 6 | 7 | 8 | 9 | 0 | ß |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Del | Q | W | E | R | T | L1 | | L2 | Z | U | I | O | P | Ü |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Caps | A | S | D | F | G |------| |------| H | J | K | L | Ö | Ä/L2 |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift | Y | X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | </L1 |#/Ctrl| ´ | - | + | | Right| Down | Up | Left | ~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_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MPLY,
|
||||
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1),
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
|
||||
LT(SYMB,DE_LABK),CTL_T(DE_HASH), DE_ACUT, DE_MINS, DE_PLUS,
|
||||
ALT_T(KC_APP), KC_LGUI,
|
||||
KC_HOME,
|
||||
KC_SPC,KC_BSPC,KC_END,
|
||||
// right hand
|
||||
KC_MNXT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(2), DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA,
|
||||
KC_H, KC_J, KC_K, KC_L, DE_ODIA, LT(MDIA,DE_ADIA),
|
||||
MEH_T(KC_NO),KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(DE_MINS), KC_RSFT,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TT(SYMB),
|
||||
KC_LALT,CTL_T(KC_ESC),
|
||||
KC_PGUP,
|
||||
KC_PGDN,KC_TAB, KC_ENT
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
|
||||
KC_TRNS,DE_EXLM,DE_AT, DE_LCBR,DE_RCBR,DE_PIPE,KC_TRNS,
|
||||
KC_TRNS,DE_HASH,DE_DLR, DE_LPRN,DE_RPRN,DE_GRV,
|
||||
KC_TRNS,DE_PERC,DE_CIRC,DE_LBRC,DE_RBRC,DE_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, DE_ASTR, KC_F12,
|
||||
KC_DOWN, KC_4, KC_5, KC_6, DE_PLUS, KC_TRNS,
|
||||
KC_TRNS, DE_AMPR, KC_1, KC_2, KC_3, DE_BSLS, KC_TRNS,
|
||||
KC_TRNS,KC_DOT, KC_0, DE_EQL, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
/* Keymap 2: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | Lclk | MsUp | Rclk | | | | | |VolDwn| Mute |VolUp | | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | Btn4 |MsLeft|MsDown|MsRght| Btn5 |------| |------| | Prev | Stop | Play | Next | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | |WhRght|WhDown| WhUp |WhLeft|WhClk | | | |BwSrch|BwBack|BwHome|BwRefr|BwFwd | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | |MsAcl0|MsAcl1|MsAcl2| | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | |Brwser|Brwser|
|
||||
* | Lclk | Rclk |------| |------|Back |Forwd |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5,
|
||||
KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN3, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_ACL0, KC_ACL1, KC_ACL2,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_BTN1, KC_BTN2, KC_TRNS,
|
||||
// right hand
|
||||
KC_TRNS, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11,
|
||||
KC_TRNS, KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_F12,
|
||||
KC_TRNS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_TRNS,
|
||||
KC_TRNS, KC_WSCH, KC_WBAK, KC_WHOM, KC_WREF, KC_WFWD, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_WBAK, KC_WFWD
|
||||
),
|
||||
};
|
||||
|
||||
// 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) {
|
||||
case SYMB:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case MDIA:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
default:
|
||||
ergodox_board_led_off();
|
||||
break;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,109 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
LAYOUT_ergodox( // layer 0 : default
|
||||
// left hand
|
||||
KC_EQL , KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC,
|
||||
MT(MOD_LCTL, KC_TAB) , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_HOME,
|
||||
LT(1, KC_CAPS) , KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP,
|
||||
KC_LGUI , KC_GRV,KC_LEFT,KC_RGHT,KC_LALT,
|
||||
KC_NO , KC_NO ,
|
||||
KC_NO ,
|
||||
KC_BSPC,KC_DEL ,TO(3),
|
||||
// right hand
|
||||
KC_RBRC , KC_6, KC_7 , KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_END , KC_Y, KC_U , KC_I, KC_O, KC_P, MT(MOD_RCTL, KC_BSLS),
|
||||
KC_H , KC_J, KC_K , KC_L, KC_SCLN,LT(1, KC_QUOT),
|
||||
KC_PGDN , KC_N, KC_M , KC_COMM,KC_DOT, KC_SLSH,MT(MOD_RSFT, KC_ESC),
|
||||
KC_RALT , KC_DOWN,KC_UP, KC_NO ,KC_RGUI,
|
||||
KC_NO , KC_NO,
|
||||
KC_NO ,
|
||||
MT(MOD_RSFT, KC_ESC),KC_ENT ,KC_SPC
|
||||
),
|
||||
|
||||
LAYOUT_ergodox( // layer 1 : function and symbol keys
|
||||
// left hand
|
||||
KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
|
||||
KC_TRNS,KC_AT,KC_UNDS ,KC_LBRC,KC_RBRC,KC_CIRC ,KC_TRNS,
|
||||
KC_TRNS,KC_BSLS,KC_SLSH,KC_LCBR ,KC_RCBR ,KC_ASTR,
|
||||
KC_TRNS,KC_HASH ,KC_DLR ,KC_PIPE ,KC_TILD ,KC_GRV ,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,TO(0),
|
||||
// right hand
|
||||
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
|
||||
KC_TRNS,KC_EXLM,LSFT(KC_COMM),LSFT(KC_DOT),KC_EQL,KC_AMPR, KC_TRNS,
|
||||
LSFT(KC_SLSH),KC_LPRN,KC_RPRN,KC_MINS,LSFT(KC_SCLN),KC_TRNS,
|
||||
KC_TRNS,KC_PLUS,LSFT(KC_5),LSFT(KC_QUOT),KC_QUOT,KC_SCLN,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS
|
||||
),
|
||||
|
||||
LAYOUT_ergodox( // layer 2: navigation
|
||||
// left hand
|
||||
KC_NO,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_PGUP,KC_HOME,KC_UP ,KC_END,KC_NO ,KC_TRNS,
|
||||
KC_TRNS,KC_PGDN,KC_LEFT,KC_DOWN,KC_RGHT,KC_NO,
|
||||
KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO,KC_NO,KC_NO,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,TO(0) ,
|
||||
// right hand
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS ,KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_END ,KC_TRNS,
|
||||
KC_NO, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP,KC_TRNS,
|
||||
KC_LEFT, KC_DOWN,KC_RGHT,KC_PGDN,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS
|
||||
),
|
||||
LAYOUT_ergodox( // layer 3 : teensy bootloader functions
|
||||
// left hand
|
||||
QK_BOOT, 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_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,TO(0) ,
|
||||
// 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_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
|
||||
),
|
||||
|
||||
|
||||
LAYOUT_ergodox( // layer 4: numpad
|
||||
// left 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_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,
|
||||
// right hand
|
||||
KC_TRNS,KC_NUM, KC_PSLS,KC_PAST,KC_PAST,KC_PMNS,KC_BSPC,
|
||||
KC_TRNS,KC_NO, KC_P7, KC_P8, KC_P9, KC_PMNS,KC_BSPC,
|
||||
KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS,KC_PENT,
|
||||
KC_TRNS,KC_NO, KC_P1, KC_P2, KC_P3, KC_PPLS,KC_PENT,
|
||||
KC_P0, KC_PDOT,KC_SLSH,KC_PENT,KC_PENT,
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS
|
||||
),
|
||||
|
||||
};
|
|
@ -1,133 +0,0 @@
|
|||
My main layout (Layer 0) is based on qwerty. I tried to fit the layout of the kinesis keyboard onto the ergodox. Furthermore I did some tweaks.
|
||||
The other layers are seldom used. Except the F Keys and the teensy key. As I own a ergodox I cant press the reset button, so i need a key to send the teensy into reprogram mode.
|
||||
There is a layer with symbols a numpad. These layers are seldom used. Except the F Keys and the teensy key. As I own a ergodox I need a key to reprogram, because I can't access the reset button.
|
||||
|
||||
I am a linux user and need the esc key and str keys often therefore it is easyly accessed. Switching console str+alt+tab+f2 (layer 2 and 2) is tricky but you get it after a while.
|
||||
As I live in germany and need to type umlaut frquently, i mapped the CAPS to the meta key, and swapped ' and ". So I can type ö with CAPS o + ¨. no need to press o+SHIFT+'
|
||||
As a note for linux users i use str+p to get last command, instead of using the cursor keys.
|
||||
|
||||
HOWTO to convert CAPS to Meta-Key and swap ' with "
|
||||
|
||||
* create file with following content
|
||||
.Xmodmap
|
||||
clear Lock
|
||||
keycode 48 = quotedbl apostrophe quotedbl apostrophe
|
||||
keycode 66 = Multi_key
|
||||
|
||||
* apply with
|
||||
xmodmap .Xmodmap
|
||||
|
||||
* convert to xkbmap
|
||||
xkbcomp $DISPLAY $HOME/.xkbmap
|
||||
|
||||
* automatic startup each time you startup x
|
||||
echo 'xkbcomp $HOME/.xkbmap $DISPLAY' >> ~/.xinitrc
|
||||
|
||||
LAYOUT_ergodox( // layer 0 : default
|
||||
// left hand
|
||||
KC_EQL , KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC,
|
||||
KC_FN25 , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_HOME,
|
||||
KC_FN27 , KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP,
|
||||
KC_LGUI , KC_GRV,KC_LEFT,KC_RGHT,KC_LALT,
|
||||
KC_NO , KC_NO ,
|
||||
KC_NO ,
|
||||
KC_BSPC,KC_DEL ,KC_FN23,
|
||||
// right hand
|
||||
KC_RBRC , KC_6, KC_7 , KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_END , KC_Y, KC_U , KC_I, KC_O, KC_P, KC_FN28,
|
||||
KC_H , KC_J, KC_K , KC_L, KC_SCLN,KC_FN30,
|
||||
KC_PGDN , KC_N, KC_M , KC_COMM,KC_DOT, KC_SLSH,KC_FN29,
|
||||
KC_RALT , KC_DOWN,KC_UP, KC_NO ,KC_RGUI,
|
||||
KC_NO , KC_NO,
|
||||
KC_NO ,
|
||||
KC_FN29,KC_ENT ,KC_SPC
|
||||
),
|
||||
|
||||
LAYOUT_ergodox( // layer 1 : function and symbol keys
|
||||
// left hand
|
||||
KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
|
||||
KC_TRNS,KC_AT,KC_UNDS ,KC_LBRC,KC_RBRC,KC_CIRC ,KC_TRNS,
|
||||
KC_TRNS,KC_BSLS,KC_SLSH,KC_LCBR ,KC_RCBR ,KC_ASTR,
|
||||
KC_TRNS,KC_HASH ,KC_DLR ,KC_PIPE ,KC_TILD ,KC_GRV ,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_FN1,
|
||||
// right hand
|
||||
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
|
||||
KC_TRNS,KC_EXLM,LSFT(KC_COMM),LSFT(KC_DOT),KC_EQL,KC_AMPR, KC_TRNS,
|
||||
LSFT(KC_SLSH),KC_LPRN,KC_RPRN,KC_MINS,LSFT(KC_SCLN),KC_TRNS,
|
||||
KC_TRNS,KC_PLUS,LSFT(KC_5),LSFT(KC_QUOT),KC_QUOT,KC_SCLN,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS
|
||||
),
|
||||
|
||||
LAYOUT_ergodox( // layer 2: navigation
|
||||
// left hand
|
||||
KC_NO,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_PGUP,KC_HOME,KC_UP ,KC_END,KC_NO ,KC_TRNS,
|
||||
KC_TRNS,KC_PGDN,KC_LEFT,KC_DOWN,KC_RGHT,KC_NO,
|
||||
KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO,KC_NO,KC_NO,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_FN1 ,
|
||||
// right hand
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS ,KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_END ,KC_TRNS,
|
||||
KC_NO, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP,KC_TRNS,
|
||||
KC_LEFT, KC_DOWN,KC_RGHT,KC_PGDN,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS
|
||||
),
|
||||
LAYOUT_ergodox( // layer 3 : teensy bootloader functions
|
||||
// left hand
|
||||
KC_FN0, 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_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_FN1 ,
|
||||
// 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_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
|
||||
),
|
||||
|
||||
|
||||
LAYOUT_ergodox( // layer 4: numpad
|
||||
// left 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_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,
|
||||
// right hand
|
||||
KC_TRNS,KC_NUM, KC_PSLS,KC_PAST,KC_PAST,KC_PMNS,KC_BSPC,
|
||||
KC_TRNS,KC_NO, KC_P7, KC_P8, KC_P9, KC_PMNS,KC_BSPC,
|
||||
KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS,KC_PENT,
|
||||
KC_TRNS,KC_NO, KC_P1, KC_P2, KC_P3, KC_PPLS,KC_PENT,
|
||||
KC_P0, KC_PDOT,KC_SLSH,KC_PENT,KC_PENT,
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
|
|
@ -1,248 +0,0 @@
|
|||
// Netable differences vs. the default firmware for the ErgoDox EZ:
|
||||
// 1. The Cmd key is now on the right side, making Cmd+Space easier.
|
||||
// 2. The media keys work on OSX (But not on Windows).
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMBOLS 1 // symbols
|
||||
#define MEDIA 2 // media keys
|
||||
|
||||
enum {
|
||||
TD_BSPC = 0
|
||||
};
|
||||
|
||||
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 | - |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | / | Q | W | E | R | T | | | | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Ctl/Esc| A | S | D | F | G |------| |------| H | J | K | L |; / L2| LGui |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift | Z | 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_SLSH, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_NO,
|
||||
CTL_T(KC_ESC), KC_A, KC_O, KC_E, KC_U, KC_I,
|
||||
SC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO),
|
||||
LT(SYMBOLS,KC_GRV), KC_QUOT, KC_SLSH, KC_LALT, SFT_T(KC_RGHT),
|
||||
KC_HOME, KC_END,
|
||||
KC_PGUP,
|
||||
GUI_T(KC_SPC), TD(TD_BSPC), LGUI(KC_SPC),
|
||||
|
||||
// Right hand
|
||||
KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, LGUI(KC_SPC),
|
||||
KC_NO, KC_F, KC_G, KC_C, KC_R, KC_L, LT(MEDIA, KC_BSLS),
|
||||
KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
|
||||
MEH_T(KC_NO), KC_B, KC_M, KC_W, KC_V, KC_Z, SC_RSPC,
|
||||
ALT_T(KC_UP), KC_DOWN, KC_LBRC, KC_RBRC, KC_NO,
|
||||
KC_PGUP, CTL_T(KC_ESC),
|
||||
KC_PGDN,
|
||||
LCTL(KC_B), LT(MEDIA, KC_TAB), LT(SYMBOLS, KC_ENT)
|
||||
),
|
||||
|
||||
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
|
||||
[SYMBOLS] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______,
|
||||
_______,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,_______,
|
||||
_______,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV,
|
||||
_______,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,_______,
|
||||
_______,_______,_______,_______,_______,
|
||||
_______,_______,
|
||||
_______,
|
||||
_______,_______,_______,
|
||||
// right hand
|
||||
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, KC_EQL, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
|
||||
KC_MINS, KC_4, KC_5, KC_6, KC_PLUS, _______,
|
||||
_______, KC_AMPR, KC_1, KC_2, KC_3, KC_SLSH, _______,
|
||||
_______,KC_0, KC_DOT, KC_EQL, _______,
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
|
||||
/* Keymap 2: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | ↑ | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------|VolUp | ← | ↓ | → | | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | |VolDn | Prev | Play | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | | Mute | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MEDIA] = LAYOUT_ergodox(
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, KC_MS_U, _______, _______, _______,
|
||||
_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, KC_BTN1, KC_BTN2,
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
// right hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______,
|
||||
KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_MPLY,
|
||||
KC_MUTE, KC_VOLD, KC_MPRV, KC_MPLY, KC_MFFD, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, KC_WBAK
|
||||
),
|
||||
};
|
||||
|
||||
enum {
|
||||
BSPC_LETTER = 0,
|
||||
BSPC_WORD = 1,
|
||||
HOLD_CTRL = 2
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
int a;
|
||||
int b;
|
||||
int state;
|
||||
} fib_tap;
|
||||
|
||||
static fib_tap fib_bspc = {
|
||||
.a = 0,
|
||||
.b = 1,
|
||||
.state = BSPC_LETTER
|
||||
};
|
||||
|
||||
void cur_backspace (tap_dance_state_t *state) {
|
||||
int next_fib = fib_bspc.a + fib_bspc.b;
|
||||
fib_bspc.a = fib_bspc.b;
|
||||
fib_bspc.b = next_fib;
|
||||
for (int i=0; i < next_fib; i++) {
|
||||
unregister_code(KC_BSPC);
|
||||
register_code(KC_BSPC);
|
||||
}
|
||||
}
|
||||
|
||||
void dance_backspace (tap_dance_state_t *state, void *user_data) {
|
||||
// If we're at the fifth tap, switch to deleting by words, and reset the fib
|
||||
// counter
|
||||
if (state->count == 4) {
|
||||
register_code(KC_LALT);
|
||||
fib_bspc.state = BSPC_WORD;
|
||||
fib_bspc.a = 0;
|
||||
fib_bspc.b = 1;
|
||||
}
|
||||
// If we're on the first press, wait to find out if it's being held
|
||||
// If we're on the second tap, process the first tap, because we're past
|
||||
// holding for ctrl now, then act normally
|
||||
if (state->count == 2) {
|
||||
register_code(KC_BSPC);
|
||||
}
|
||||
if (state->count > 1) {
|
||||
cur_backspace(state);
|
||||
}
|
||||
};
|
||||
|
||||
void dance_backspace_ended (tap_dance_state_t *state, void *user_data) {
|
||||
if (state->count == 1) {
|
||||
if (state->pressed) {
|
||||
fib_bspc.state = HOLD_CTRL;
|
||||
register_code(KC_LCTL);
|
||||
} else {
|
||||
register_code(KC_BSPC);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void dance_backspace_reset (tap_dance_state_t *state, void *user_data) {
|
||||
switch (fib_bspc.state) {
|
||||
case HOLD_CTRL: unregister_code(KC_LCTL); break;
|
||||
case BSPC_WORD: unregister_code(KC_BSPC); unregister_code(KC_LALT); break;
|
||||
case BSPC_LETTER: unregister_code(KC_BSPC); break;
|
||||
}
|
||||
fib_bspc.a = 0;
|
||||
fib_bspc.b = 1;
|
||||
fib_bspc.state = BSPC_LETTER;
|
||||
};
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_BSPC] = ACTION_TAP_DANCE_FN_ADVANCED (dance_backspace, dance_backspace_ended, dance_backspace_reset)
|
||||
};
|
||||
|
||||
// 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_3_on();
|
||||
break;
|
||||
default:
|
||||
// none
|
||||
break;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,5 +0,0 @@
|
|||
# Haegin's Ergodox Firmware
|
||||
|
||||
Mostly uses keys available on the Minidox, with some extras that are nice
|
||||
to have when they're available, provided they're in a roughly similar place on
|
||||
the Model 01.
|
|
@ -1 +0,0 @@
|
|||
TAP_DANCE_ENABLE=yes
|
|
@ -1,49 +0,0 @@
|
|||
# Ivan's Ergodox Config
|
||||
|
||||
|
||||
## Details about the layout
|
||||
|
||||
- Shift and Cmd are One Shot Modifiers, so tapping them once will apply them to the next key. When tapped twice they will lock, until tapped again to clear.
|
||||
- When switching to other layers, any stuck modifiers are cleared in order to avoid unintended key combos
|
||||
- There are a few leader key combinations. Right now, `QK_LEAD` + `s` will open my wiki homepage.
|
||||
- All transparent keys have been replaced with noops to avoid layer bleeding.
|
||||
|
||||
## Initial Setup
|
||||
|
||||
### QMK
|
||||
|
||||
```
|
||||
brew tap osx-cross/avr
|
||||
brew tap PX4/homebrew-px4
|
||||
brew update
|
||||
brew install avr-gcc
|
||||
brew install dfu-programmer
|
||||
brew install gcc-arm-none-eabi
|
||||
brew install avrdude
|
||||
|
||||
git clone https://github.com/qmk/qmk_firmware.git
|
||||
git clone https://github.com/issmirnov/ergodox-layout.git \
|
||||
layouts/community/ergodox/ismirnov
|
||||
```
|
||||
|
||||
### Teensy utils
|
||||
|
||||
Download and add both of these to $PATH
|
||||
|
||||
- [hid_listen](https://www.pjrc.com/teensy/hid_listen.html)
|
||||
- [teensy loader cli](https://www.pjrc.com/teensy/loader_cli.html)
|
||||
|
||||
## Flashing
|
||||
|
||||
```
|
||||
make ergodox_ez:ismirnov
|
||||
teensy_loader_cli -mmcu=atmega32u4 -w -v ergodox_ez_ismirnov.hex
|
||||
|
||||
# or just
|
||||
make ergodox_ez:ismirnov:flash
|
||||
```
|
||||
|
||||
## Gotchas
|
||||
|
||||
- If you get error: `dyld: Library not loaded: /usr/local/opt/isl/lib/libisl.15.dylib` then do `brew reinstall avr-gcc`
|
||||
- If `hid_listen` just prints out a ton of dots, update makefile with `CONSOLE_ENABLE = yes`
|
|
@ -1,95 +0,0 @@
|
|||
Qwerty
|
||||
,--------------------------------------------. ,--------------------------------------------.
|
||||
| Escape | 1 | 2 | 3 | 4 | 5 | ! | | = | 6 | 7 | 8 | 9 | 0 | Escape |
|
||||
|--------+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+--------|
|
||||
|Lctl(Spa| Q | W | E | R | T | * | | + | Y | U | I | O | P |Lgui(Spa|
|
||||
|--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
| Tab | A | S | D | F | G |-----| |-----| H | J | K | L |TapTo|Mo(Navi)|
|
||||
|--------+-----+-----+-----+-----+-----| / | | - |-----+-----+-----+-----+-----+--------|
|
||||
|Osm(ModL| Z | X | C | V | B | | | | N | M | . |Comma|Tg(Nu| ' |
|
||||
`--------+-----+-----+-----+-----+-----------' `-----------+-----+-----+-----+-----+--------'
|
||||
|Ctrl |Lsft(|Lsft(| Alt | Mod | |Escap| : | % | |Lgui(|
|
||||
`-----------------------------' ,-----------. ,-----------. `-----------------------------'
|
||||
| | | | ← | → |
|
||||
,-----|-----|-----| |-----+-----+-----.
|
||||
| | | | | ↑ | | |
|
||||
| ⎵ | ⌫ |-----| |-----| Tab |Enter|
|
||||
| | | Del | | ↓ | | |
|
||||
`-----------------' `-----------------'
|
||||
|
||||
Symb
|
||||
,--------------------------------------------. ,--------------------------------------------.
|
||||
| Escape | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|
||||
|--------+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+--------|
|
||||
| | - | @ | { | } | ` | * | | + | * | ! | | | % | + |Mo(Navi)|
|
||||
|--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
| Tab | ^ | _ | ( | ) | $ |-----| |-----| # | = | : | ; |TapTo| Dquo |
|
||||
|--------+-----+-----+-----+-----+-----| / | | - |-----+-----+-----+-----+-----+--------|
|
||||
| Lshift | < | > | [ | ] | ~ | | | | & | ? | / | \ |Tg(Nu| ' |
|
||||
`--------+-----+-----+-----+-----+-----------' `-----------+-----+-----+-----+-----+--------'
|
||||
|Ctrl |Lsft(|Lsft(| Alt |WkspL| |Escap| : | % | | |
|
||||
`-----------------------------' ,-----------. ,-----------. `-----------------------------'
|
||||
| | | | ← | → |
|
||||
,-----|-----|-----| |-----+-----+-----.
|
||||
| | | | | ↑ | | |
|
||||
|WkspR| ⌫ |-----| |-----| Tab |Enter|
|
||||
| | | Del | | ↓ | | |
|
||||
`-----------------' `-----------------'
|
||||
|
||||
Nump
|
||||
,--------------------------------------------. ,--------------------------------------------.
|
||||
| | | | | | | | | = | | | | | | Reset |
|
||||
|--------+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+--------|
|
||||
| | No | No |Lgui(| | | * | | + | , | 7 | 8 | 9 | | |
|
||||
|--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
| Tab | |Lgui(|Lgui(|Lgui(| |-----| |-----| 0 | 4 | 5 | 6 |To(Sy| |
|
||||
|--------+-----+-----+-----+-----+-----| / | | - |-----+-----+-----+-----+-----+--------|
|
||||
| | | | |Audio|Audio| | | | . | 1 | 2 | 3 |To(Qw| |
|
||||
`--------+-----+-----+-----+-----+-----------' `-----------+-----+-----+-----+-----+--------'
|
||||
|To(0)| | | | | | 0 | | |To(3)| |
|
||||
`-----------------------------' ,-----------. ,-----------. `-----------------------------'
|
||||
| | | | ← | → |
|
||||
,-----|-----|-----| |-----+-----+-----.
|
||||
| | | | | ↑ | | |
|
||||
| ⎵ | ⌫ |-----| |-----| Alt |Shift|
|
||||
| | | Del | | ↓ | | |
|
||||
`-----------------' `-----------------'
|
||||
|
||||
Overwatch
|
||||
,--------------------------------------------. ,--------------------------------------------.
|
||||
| Escape | 1 | 2 | 3 | 4 | 5 |To(0)| | | | | | | | |
|
||||
|--------+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+--------|
|
||||
| Tab | Q | W | E | R | T | | | | | | | | | |
|
||||
|--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
| Ctrl | A | S | D | F | P |-----| |-----| | | | | | |
|
||||
|--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
| Lshift | Z | X | C | V |Grave| | | | | | | | | |
|
||||
`--------+-----+-----+-----+-----+-----------' `-----------+-----+-----+-----+-----+--------'
|
||||
|Ctrl | F9 |Pscre| H | R | | | | | | |
|
||||
`-----------------------------' ,-----------. ,-----------. `-----------------------------'
|
||||
| | | | | |
|
||||
,-----|-----|-----| |-----+-----+-----.
|
||||
| | | | | | | |
|
||||
| ⎵ | |-----| |-----| | |
|
||||
| | | | | | | |
|
||||
`-----------------' `-----------------'
|
||||
|
||||
Navi
|
||||
,--------------------------------------------. ,--------------------------------------------.
|
||||
| Escape | 1 | 2 | 3 | 4 | 5 | 6 | | | | | | | | |
|
||||
|--------+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+--------|
|
||||
| | | | ↑ | | | | | | | | | | | |
|
||||
|--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
| | | ← | ↓ | → | |-----| |-----| |Ctrl | | | | |
|
||||
|--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
`--------+-----+-----+-----+-----+-----------' `-----------+-----+-----+-----+-----+--------'
|
||||
| | | | |WkspL| | ⌘⇧ | | | | |
|
||||
`-----------------------------' ,-----------. ,-----------. `-----------------------------'
|
||||
| | | | | |
|
||||
,-----|-----|-----| |-----+-----+-----.
|
||||
| | | | | | | |
|
||||
|WkspR| |-----| |-----| | Mod |
|
||||
| | | | | | | |
|
||||
`-----------------' `-----------------'
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
make ergodox_ez:issmirnov
|
|
@ -1,3 +0,0 @@
|
|||
// Reference: https://beta.docs.qmk.fm/reference/config-options
|
||||
// and https://github.com/qmk/qmk_firmware/blob/master/docs/config_options.md
|
||||
#pragma once
|
|
@ -1,250 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Custom user includes
|
||||
#include "issmirnov.h"
|
||||
#include "tap_tog.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_ergodox_wrapper(
|
||||
KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM,
|
||||
LCTL(KC_SPACE), _________________QWERTY_L1_________________, KC_ASTR,
|
||||
KC_TAB, _________________QWERTY_L2_________________,
|
||||
OSM(MOD_LSFT), _________________QWERTY_L3_________________, KC_SLASH,
|
||||
KC_LCTL, LSFT(KC_LGUI), LSFT(KC_LALT), KC_LALT, KC_LGUI,
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
KC_SPACE, KC_BSPC, KC_DEL,
|
||||
|
||||
KC_EQL , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESCAPE ,
|
||||
KC_PLUS , _________________QWERTY_R1_________________ , LGUI(KC_SPACE) ,
|
||||
_________________QWERTY_R2_________________ , MO(_NAVI) ,
|
||||
KC_MINS , _________________QWERTY_R3_________________ , KC_QUOTE ,
|
||||
KC_ESCAPE , KC_COLN , KC_PERC , XXXXXXX , LGUI(KC_L) ,
|
||||
|
||||
KC_LEFT, KC_RGHT,
|
||||
KC_UP,
|
||||
KC_DOWN, KC_TAB, KC_ENTER
|
||||
),
|
||||
|
||||
// layer 1
|
||||
[_SYMB] = LAYOUT_ergodox_wrapper(
|
||||
KC_ESCAPE , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 ,
|
||||
XXXXXXX , _________________SYMB_L1___________________ ,KC_ASTR ,
|
||||
KC_TAB , _________________SYMB_L2___________________,
|
||||
KC_LSFT , _________________SYMB_L3___________________, KC_SLASH ,
|
||||
KC_LCTL , LSFT(KC_LGUI) , LSFT(KC_LALT) , KC_LALT , WKSP_LEFT ,
|
||||
|
||||
XXXXXXX, XXXXXXX,
|
||||
XXXXXXX,
|
||||
WKSP_RIGHT, KC_BSPC, KC_DEL,
|
||||
|
||||
KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , XXXXXXX ,
|
||||
KC_PLUS , _________________SYMB_R1___________________ , MO(_NAVI) ,
|
||||
_________________SYMB_R2___________________ , KC_DQUO ,
|
||||
KC_MINS , _________________SYMB_R3___________________ , KC_QUOTE ,
|
||||
KC_ESCAPE , KC_COLN , KC_PERC , XXXXXXX , XXXXXXX ,
|
||||
|
||||
KC_LEFT, KC_RGHT,
|
||||
KC_UP,
|
||||
KC_DOWN, KC_TAB, KC_ENTER
|
||||
),
|
||||
|
||||
// layer 2
|
||||
[_NUMP] = LAYOUT_ergodox_wrapper(
|
||||
XXXXXXX , ___________________XXXXX___________________, XXXXXXX ,
|
||||
XXXXXXX , _________________NUMP_L1___________________ , KC_ASTR ,
|
||||
KC_TAB , _________________NUMP_L2___________________ ,
|
||||
XXXXXXX , _________________NUMP_L3___________________ , KC_SLASH ,
|
||||
TO(0) , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
XXXXXXX , XXXXXXX ,
|
||||
XXXXXXX ,
|
||||
KC_SPACE , KC_BSPC , KC_DEL ,
|
||||
|
||||
KC_EQL , ___________________XXXXX___________________ , QK_BOOT ,
|
||||
KC_PLUS , _________________NUMP_R1___________________ , XXXXXXX ,
|
||||
_________________NUMP_R2___________________ , XXXXXXX ,
|
||||
KC_MINS , _________________NUMP_R3___________________ , XXXXXXX ,
|
||||
KC_0 , XXXXXXX , XXXXXXX , TO(3) , XXXXXXX ,
|
||||
|
||||
KC_LEFT, KC_RGHT,
|
||||
KC_UP,
|
||||
KC_DOWN, KC_LALT, KC_LSFT
|
||||
),
|
||||
|
||||
// layer 3
|
||||
[_OVERWATCH] = LAYOUT_ergodox_wrapper(
|
||||
KC_ESCAPE, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , TO(0) ,
|
||||
______________OVERWATCH_L1_________________ , XXXXXXX ,
|
||||
______________OVERWATCH_L2_________________ ,
|
||||
______________OVERWATCH_L3_________________ , XXXXXXX ,
|
||||
______________OVERWATCH_L4_________________ ,
|
||||
|
||||
XXXXXXX , XXXXXXX ,
|
||||
XXXXXXX ,
|
||||
KC_SPACE , XXXXXXX , XXXXXXX ,
|
||||
|
||||
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______
|
||||
|
||||
),
|
||||
// layer 4
|
||||
[_NAVI] = LAYOUT_ergodox_wrapper(
|
||||
KC_ESCAPE, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 ,
|
||||
XXXXXXX, _________________NAVI_L1___________________ , XXXXXXX ,
|
||||
XXXXXXX, _________________NAVI_L2___________________ ,
|
||||
XXXXXXX, _________________NAVI_L3___________________ , XXXXXXX ,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, WKSP_LEFT,
|
||||
|
||||
XXXXXXX , XXXXXXX ,
|
||||
XXXXXXX ,
|
||||
WKSP_RIGHT , XXXXXXX , XXXXXXX ,
|
||||
|
||||
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _________________NAVI_R1___________________, _______,
|
||||
_________________NAVI_R2___________________, _______,
|
||||
_______, _________________NAVI_R3___________________, _______,
|
||||
MODSFT, _______, _______, _______, _______,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, KC_LGUI
|
||||
|
||||
),
|
||||
};
|
||||
|
||||
|
||||
// called by QMK during key processing before the actual key event is handled. Useful for macros.
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
switch (keycode) {
|
||||
case TAP_TOG_LAYER:
|
||||
process_tap_tog(_SYMB,record);
|
||||
return false;
|
||||
break;
|
||||
|
||||
case WKSP_LEFT:
|
||||
// Only if TAP_TOG_LAYER is being held right now do we want to do actions.
|
||||
if (record->event.pressed && (!tap_tog_layer_toggled_on || layer == _NAVI)) {
|
||||
tap_code16(LGUI(LSFT(KC_Z)));
|
||||
tap_tog_layer_other_key_pressed = true; // Add flag so layer resets
|
||||
}
|
||||
break;
|
||||
case WKSP_RIGHT:
|
||||
// Only if TAP_TOG_LAYER is being held right now do we want to do actions.
|
||||
if (record->event.pressed && (!tap_tog_layer_toggled_on || layer == _NAVI)) {
|
||||
tap_code16(LGUI(LSFT(KC_X)));
|
||||
tap_tog_layer_other_key_pressed = true; // Add flag so layer resets
|
||||
}
|
||||
break;
|
||||
default:
|
||||
tap_tog_count = 0; // reset counter.
|
||||
tap_tog_layer_other_key_pressed = true; // always set this to true, TAP_TOG_LAYER handlers will handle interpreting this
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Runs constantly in the background, in a loop every 100ms or so.
|
||||
// Best used for LED status output triggered when user isn't actively typing.
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
if (layer == 0) {
|
||||
// Set up LED indicators for stuck modifier keys.
|
||||
// https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/report.h#L118
|
||||
switch (keyboard_report->mods) {
|
||||
case MOD_BIT(KC_LSFT): // LSHIFT
|
||||
ergodox_right_led_1_set (LED_BRIGHTNESS_LO);
|
||||
ergodox_right_led_1_on ();
|
||||
ergodox_right_led_2_set (LED_BRIGHTNESS_LO);
|
||||
ergodox_right_led_2_on ();
|
||||
ergodox_right_led_3_set (LED_BRIGHTNESS_HI);
|
||||
ergodox_right_led_3_off ();
|
||||
break;
|
||||
|
||||
case MOD_BIT(KC_LGUI): // LGUI
|
||||
ergodox_right_led_1_set (LED_BRIGHTNESS_HI);
|
||||
ergodox_right_led_1_off ();
|
||||
ergodox_right_led_2_set (LED_BRIGHTNESS_LO);
|
||||
ergodox_right_led_2_on ();
|
||||
ergodox_right_led_3_set (LED_BRIGHTNESS_LO);
|
||||
ergodox_right_led_3_on ();
|
||||
break;
|
||||
|
||||
case MOD_BIT(KC_LSFT) ^ MOD_BIT(KC_LGUI):
|
||||
ergodox_right_led_1_set (70);
|
||||
ergodox_right_led_1_on ();
|
||||
ergodox_right_led_2_set (70);
|
||||
ergodox_right_led_2_on ();
|
||||
ergodox_right_led_3_set (70);
|
||||
ergodox_right_led_3_on ();
|
||||
break;
|
||||
|
||||
default: // reset leds
|
||||
ergodox_right_led_1_set (LED_BRIGHTNESS_HI);
|
||||
ergodox_right_led_1_off ();
|
||||
ergodox_right_led_2_set (LED_BRIGHTNESS_HI);
|
||||
ergodox_right_led_2_off ();
|
||||
ergodox_right_led_3_set (LED_BRIGHTNESS_HI);
|
||||
ergodox_right_led_3_off ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// only runs when when the layer is changed, good for updating LED's and clearing sticky state
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
|
||||
combo_enable(); // by default, enable combos.
|
||||
switch (layer) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
clear_mods();
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case 2:
|
||||
clear_mods();
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
case _OVERWATCH:
|
||||
clear_mods();
|
||||
combo_disable(); // We don't want combos in overwatch
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case 4:
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
case 5:
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case 6:
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case 7:
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
};
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
make ergodox_ez:issmirnov:teensy
|
|
@ -1,17 +0,0 @@
|
|||
,--------------------------------------------. ,--------------------------------------------.
|
||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
|
||||
|--------+-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----+--------|
|
||||
| 7 | 8 | 9 | 10 | 11 | 12 | 13 | | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
|
||||
|--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
| 14 | 15 | 16 | 17 | 18 | 19 |-----| |-----| 52 | 53 | 54 | 55 | 56 | 57 |
|
||||
|--------+-----+-----+-----+-----+-----| 26 | | 58 |-----+-----+-----+-----+-----+--------|
|
||||
| 20 | 21 | 22 | 23 | 24 | 25 | | | | 59 | 60 | 61 | 62 | 63 | 64 |
|
||||
`--------+-----+-----+-----+-----+-----------' `-----------+-----+-----+-----+-----+--------'
|
||||
| 27 | 28 | 29 | 30 | 31 | | 65 | 66 | 67 | 68 | 69 |
|
||||
`-----------------------------' ,-----------. ,-----------. `-----------------------------'
|
||||
| 32 | 33 | | 70 | 71 |
|
||||
,-----|-----|-----| |-----+-----+-----.
|
||||
| | | 34 | | 72 | | |
|
||||
| 35 | 36 |-----| |-----| 74 | 75 |
|
||||
| | | 37 | | 73 | | |
|
||||
`-----------------' `-----------------'
|
|
@ -1,163 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | Sleep | 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 | BkSp |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Esc | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* |Ctrl/Esc| A | S/Sft| D/Ctl| F/Alt| G |------| |------| H | J/Alt| K/Ctl| L/Sft| ; | ' |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | ~L1 | Alt |AltShf| Left | Right| | Up | Down |AltShf| Alt | ~L1 |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | App | Home | | PgUp |Ctrl/Esc|
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | End | | PgDn | | |
|
||||
* |Space | LGui |------| |------| Tab |Enter |
|
||||
* | | | ~L2 | | ~L1 | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
// 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_SLEP, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC,
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS,
|
||||
CTL_T(KC_ESC), KC_A, LSFT_T(KC_S), LCTL_T(KC_D), LALT_T(KC_F), KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
|
||||
MO(SYMB), KC_LALT, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
|
||||
|
||||
ALT_T(KC_APP), KC_HOME,
|
||||
KC_END,
|
||||
KC_SPC,KC_LGUI,MO(MDIA),
|
||||
// right hand
|
||||
KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, RALT_T(KC_J), RCTL_T(KC_K), RSFT_T(KC_L), KC_SCLN, KC_QUOT,
|
||||
MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_UP, KC_DOWN, RALT(KC_RSFT), KC_RALT, MO(SYMB),
|
||||
|
||||
KC_PGUP, CTL_T(KC_ESC),
|
||||
KC_PGDN,
|
||||
MO(SYMB),KC_TAB, KC_ENT
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | 0 | 0 | . | = | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,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_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_TRNS,
|
||||
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_0, KC_0, KC_DOT, KC_EQL, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
/* Keymap 2: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Lclk | Rclk | | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------|MsLeft|MsDown| MsUp |MsRght| | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | Prev | Play | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, 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_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,
|
||||
// right hand
|
||||
KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_F12,
|
||||
KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, 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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,37 +0,0 @@
|
|||
# J3RN's ErgoDox EZ keymap
|
||||
|
||||
## Motivation
|
||||
|
||||
I wanted a layout that was gave easy access to the CMD (LGui) key, and did not require finger gymnastics to use my beloved Emacs shortcuts.
|
||||
|
||||
## How is it different from the default ErgoDox EZ default_osx layout?
|
||||
|
||||
This layout more closely resembles that of the Mac keyboard, and has some other goodness baked in. Here is a rundown of what that means:
|
||||
|
||||
### Mac-like changes
|
||||
|
||||
- **The key to the right of "0" is Backspace instead of "-"** (misleadingly labeled "delete" on the Mac's keyboard). There was no room to fit in "-" and "=" between "0" and Backspace, unfortunately.
|
||||
- **The rightmost big key on the left thumb is CMD (LGui) instead of Backspace.**
|
||||
- **The key to the left of Alt-Shift is an Alt key**. This is close to it's position on the Mac keyboard, though slightly further left.
|
||||
|
||||
### Emacs changes
|
||||
- **Holding "S" sends "left shift," holding "D" sends "left control," and holding "F" sends "left alt." This is mirrored on the right side with "J," "K," and "L."** This should make it easy to use those crazy Escape-Meta-Alt-Control-Shift bindings.
|
||||
|
||||
### Other changes
|
||||
|
||||
- **The button in the top-left is "Sleep."** Before macOS High Sierra, the power button was part of the key combination for triggering sleep. Since there's no power key in my layout, I was unable to sleep my laptop with this keyboard. By adding a dedicated sleep key, I fixed this. Now I just need a cool moon keycap for that key.
|
||||
- **The middle-most big key on the right thumb is "Tab."** I use tab *a lot*, so I decided to make it incredibly convenient.
|
||||
- **The button to the left of "Q" is Esc.** There is no functional reason for this other than to train me to use the tab under my right thumb.
|
||||
- **The button to the left of "A" is Ctrl/Esc instead of Backspace.** This is actually how I have the keyboard on my Macbook set up to be, since it's loads more convenient than a CAPS LOCK key. This is the Ctrl key I find myself using most.
|
||||
- **Mouse uses Vim-style navigation**. This allows you to move the mouse around with hjkl just like in Vim. Additionally, right and left click are the conveniently placed 'i' and 'o' keys.
|
||||
- **The key to the right of "5" and the key to left of "6" are "[" and "]", respectively, instead of Left and Right.** There is a more convenient set of Left and Right already present. Truth be told, I don't really use these keys, as they are a stretch to reach.
|
||||
- **The Toggle L1 keys in the center of the keyboard have been replaced by the otherwise displaced "-" and "=".** They are laid out, left-to-right, in the same order as on the Mac keyboard. Honestly, they are not terribly conveniently placed, and their placement might change in a later version. I found that the ~L1 would be better situated elsewhere.
|
||||
- **The "~" key in the extreme bottom-left is now just momentary L1.** I go to L1 (the symbol layer) to get to "~".
|
||||
- **The Home and End buttons have been shifted up on the left thumb, and ~L2 inserted below them.** Nearly all of my media layer changes are on the right side, so the ~L2 key is on the left side.
|
||||
- **The Page Up and Page Down buttons have been shifted up on the right thumb, and ~L1 inserted below them.** I don't use either of the "Page" keys often, and use this ~L1 more than any other.
|
||||
- **Traditional numpad layout.** The base of most numpads is a double-wide "0" key to the left of a "." key. This is reflected in my layout by having two "0" keys to the left of a "." key.
|
||||
- **The function keys (F1-F12) have been moved to L2.** They were in the way in L1.
|
||||
- **⏯ lives on ',' in the media layer, between ⏪ on 'm' and ⏩ on '.'.** This is the way they are laid out on the mac keyboard, and makes the most sense to me.
|
||||
- **The keys on the bottom-right that were formerly "[" and "]" are now Alt-Shift and Alt, respectively.** This was originally for convenience with Emacs bindings, but since I've moved the modifiers to the home row the only purpose for this change is that the symmetry makes me happy.
|
||||
|
||||
**I'm always open to feedback and/or suggestions!**
|
|
@ -1,21 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
/* ws2812 RGB LED */
|
||||
#define WS2812_DI_PIN D7
|
||||
#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 15 // Number of LEDs
|
||||
#define RGBLIGHT_HUE_STEP 12
|
||||
#define RGBLIGHT_SAT_STEP 255
|
||||
#define RGBLIGHT_VAL_STEP 12
|
||||
|
||||
#define RGB_MIDI
|
||||
#define RGBW_BB_TWI
|
|
@ -1,119 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
// TODO: Define layer names that make sense for the ErgoDox EZ.
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT_ergodox( // layer 0 : default
|
||||
// left hand
|
||||
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO,
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO,
|
||||
KC_NO, KC_LCTL, KC_LALT,KC_LGUI, MO(2),
|
||||
ALT_T(KC_APP), KC_LGUI,
|
||||
KC_HOME,
|
||||
KC_SPC,KC_SPC,KC_END,
|
||||
// right hand
|
||||
KC_NO, M(1), QK_BOOT, KC_8, KC_9, KC_0, KC_NO,
|
||||
KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_P, KC_BSPC,
|
||||
RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_SCLN, KC_QUOT,
|
||||
KC_NO, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_ENT,
|
||||
MO(1), KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,
|
||||
RGB_TOG, RGB_HUI,
|
||||
RGB_MOD,
|
||||
M(2), KC_SPC,KC_SPC
|
||||
),
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS,
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||
KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,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_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_TRNS, KC_F12, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_TRNS,
|
||||
KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS,
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||
KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
KC_TRNS, KC_F12, KC_NO, KC_NO, KC_NO, QK_BOOT, KC_TRNS,
|
||||
KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (record->event.pressed) { // For resetting EEPROM
|
||||
eeconfig_init();
|
||||
}
|
||||
break;
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
// 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) {
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,249 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define COLEMAK 0 // new colemak layout
|
||||
#define QWERTY 1 // default layer
|
||||
#define SYMB 2 // symbols
|
||||
#define NUMPAD 3 // number pad
|
||||
#define MDIA 4 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic COLEMAK layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | TAB |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | BkSp | A | R | S | T | D |------| |------| H | N | E | I | O | DEL |
|
||||
* |--------+------+------+------+------+------| | LGUI(TAB)------+------+------+------+------+--------|
|
||||
* | LShift |Z/Ctrl| X | C | V | B | | | | K | M | , | . |//Ctrl| RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | L1 | | | UP |MO(L2)| |MO(L2)| Down | | ALT | RGUI |
|
||||
* `----------------------------------' `------------------------------------'
|
||||
* ,-------------. ,---------------.
|
||||
* | LGUI | App | |Ctrl/Esc| Alt |
|
||||
* ,------|------|------| |--------+--------+------.
|
||||
* | | |QUKSL | | QUKSL | | |
|
||||
* |Space |ENTER |------| |--------| ENTER |Space |
|
||||
* | | |MO(L3)| | MO(L3) | | |
|
||||
* `--------------------' `------------------------'
|
||||
*/
|
||||
|
||||
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||
// Otherwise, it needs KC_*
|
||||
[COLEMAK] = LAYOUT_ergodox( // layer 0 : Colemak layout default layer
|
||||
// left hand
|
||||
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_TRNS,
|
||||
KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_TRNS,
|
||||
TG(QWERTY), KC_TRNS, KC_TRNS,KC_UP, MO(SYMB),
|
||||
KC_LGUI, KC_APP,
|
||||
LGUI(S(KC_SPC)),
|
||||
KC_SPC,KC_ENT,MO(NUMPAD),
|
||||
// right hand
|
||||
KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_TRNS, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TAB,
|
||||
KC_H, KC_N, KC_E, KC_I, KC_O, KC_DEL,
|
||||
LGUI(KC_TAB), KC_K, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
|
||||
MO(SYMB), KC_DOWN, KC_TRNS, KC_RALT, KC_RGUI,
|
||||
CTL_T(KC_ESC), KC_LALT,
|
||||
LGUI(S(KC_SPC)),
|
||||
MO(NUMPAD), KC_ENT, KC_SPC),
|
||||
|
||||
/* Keymap 1: Basic QWERTY layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | BkSp | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | DEL |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | L0 | | L0 | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Ctrl | A | S | D | F | G |------| |------| H | J | K | L |; / L4| CTRL |
|
||||
* |--------+------+------+------+------+------| Alt | | Alt |------+------+------+------+------+--------|
|
||||
* | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Grv/L3| '" |AltShf| Left |MO(L2)| |MO(L2)| Down | [ | ] | ~L3 |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,---------------.
|
||||
* | Tab | BkSp | | Alt |Ctrl/Esc|
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | Space| LGUI |------| |------| RGUI |Enter |
|
||||
* | | | End | | PgDn | | |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||
// Otherwise, it needs KC_*
|
||||
[QWERTY] = LAYOUT_ergodox( // layer 1
|
||||
// left hand
|
||||
KC_BSPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT,
|
||||
KC_TRNS, KC_QUOT, LALT(KC_LSFT), KC_LEFT, MO(SYMB),
|
||||
KC_TAB, KC_DEL,
|
||||
KC_HOME,
|
||||
KC_SPC, KC_LGUI, KC_END,
|
||||
// right hand
|
||||
KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), KC_RCTL,
|
||||
KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
|
||||
MO(SYMB), KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB),
|
||||
KC_LALT, CTL_T(KC_ESC),
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_RGUI, KC_ENT),
|
||||
|
||||
|
||||
/* Keymap 2: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | @ | * | = | _ | | | | ~ | { | } | # | : | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | ! | + | - | " |------| |------| " | ( | ) | ' | ` | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | % | ^ | $ | & | | | | ; | [ | ] | \ | / | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOL
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_AT, KC_ASTR, KC_EQL, KC_UNDS, KC_TRNS,
|
||||
KC_TRNS, KC_PIPE, KC_EXLM, KC_PLUS, KC_MINS, S(KC_QUOTE),
|
||||
KC_TRNS, KC_TRNS, KC_PERC, KC_CIRC, KC_DLR, KC_AMPR, 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_TILD, KC_LCBR, KC_RCBR, KC_HASH, S(KC_SCLN), KC_F12,
|
||||
S(KC_QUOTE),KC_LPRN, KC_RPRN, KC_QUOTE, KC_GRV, KC_TRNS,
|
||||
KC_TRNS, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_SLSH, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
/* Keymap 3: Numpad Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | UP | | | | | | $ | 7 | 8 | 9 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | LEFT | DOWN | RIGHT| |------| |------| = | 4 | 5 | 6 | - | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | 1 | 2 | 3 | * | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | , | 0 | . | / | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// Numpad
|
||||
[NUMPAD] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RIGHT,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,
|
||||
// right hand
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_DLR, KC_7, KC_8, KC_9, KC_PLUS, KC_TRNS,
|
||||
KC_EQL, KC_4, KC_5, KC_6, KC_MINS, KC_TRNS,
|
||||
KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_ASTR, KC_TRNS,
|
||||
KC_COMMA,KC_0, KC_DOT, KC_SLSH, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
/* Keymap 4: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
LAYOUT_ergodox(
|
||||
KC_TRNS, 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),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,34 +0,0 @@
|
|||
# Default Layer #
|
||||
|
||||
I'm using the colemak layer -- customized a bit to work a bit better when using spacemacs as my editor.
|
||||
|
||||

|
||||
|
||||
## Special Keys ##
|
||||
|
||||
`SC1` => `LGUI + TAB`
|
||||
|
||||
`SC2` => `LGUI + SPACE + TAB`
|
||||
|
||||
`L1` => Switch to QWERTY Layout
|
||||
|
||||
`T(L2)` => Toggle Symbol Layer
|
||||
|
||||
`T(L3)` => Toggle Number and D-Pad Layer
|
||||
|
||||
# QWERTY #
|
||||
|
||||
Nothing special here -- just need this layer tucked away for the `WASD`. Which is literally the only reason I use it.
|
||||
Just have the same button to toggle back to colemak.
|
||||
|
||||
# Symbol Layer #
|
||||
|
||||

|
||||
|
||||
This is just putting matching closing symbols next to each other -- useful when editing lisp.
|
||||
|
||||
# Number and D-Pad Layer #
|
||||
|
||||
Just a basic number layer with a D-PAD on the other side.
|
||||
|
||||

|
|
@ -1,10 +0,0 @@
|
|||
These are notes on how to build and deploy the firmware to Ez, but they are
|
||||
from before the qmk restructuring.
|
||||
|
||||
cd qmk_firmware/keyboard/ergodox_ez
|
||||
make LAYOUT_ergodox=jafo
|
||||
cp ergodox_ez.hex keymaps/jafo/
|
||||
/tmp/teensy.64bit
|
||||
Open hex keymap file
|
||||
Program
|
||||
Upload
|
|
@ -1,161 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
#include "version.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | Grv | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | = | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Esc/Cmd| A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd |
|
||||
* |--------+------+------+------+------+------| L2 | | L2 |------+------+------+------+------+--------|
|
||||
* | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Grv/L1| '" | Del | Left | Right| | Up | Down | [ | ] | ~L1 |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* |Ctrl/Esc| Alt| | 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
|
||||
KC_EQL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
|
||||
GUI_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(MDIA),
|
||||
LT(SYMB,KC_GRV),KC_QUOT, KC_DEL, KC_LEFT,KC_RGHT,
|
||||
CTL_T(KC_ESC), KC_LALT,
|
||||
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(SYMB), 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),
|
||||
TG(MDIA), 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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
KC_TRNS,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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| LEFT | DOWN | UP | RIGHT| | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | Lclk | Mclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, 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_BTN1, KC_BTN3, 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_LEFT, KC_DOWN, KC_UP, KC_RGHT, 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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,20 +0,0 @@
|
|||
# ErgoDox EZ "jafo" Configuration
|
||||
|
||||
This is a layout based on the ErgoDox Ez default layout, but with some
|
||||
customizations I made for my use-case. I use Linux, vi and the i3 window
|
||||
manager, so I made these changes:
|
||||
|
||||
- Arrow keys laid out in vi positions in media layer.
|
||||
|
||||
- Esc (tap) and Win (held) to the left of A. i3 uses Win key for navigation
|
||||
and having that be symmetric on the left and right makes it easier.
|
||||
|
||||
- Grave accent below equals, I was having a hard time using ~
|
||||
|
||||
- Layer 2 switch below the L1 switch, so I can go into a mode where I get
|
||||
arrow keys under my vi motion fingers.
|
||||
|
||||
- Making the Ctrl (held) and Esc (tap) on my thumbs symmetric. Not sure I
|
||||
need that with the Esc left of A and Ctrl on the Z and / keys when held...
|
||||
|
||||

|
|
@ -1,160 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,-----------------------------------------------------.
|
||||
* | Grv | 1 | 2 | 3 | 4 | 5 | Del | |Backspace| 6 | 7 | 8 | 9 | 0 | \ |
|
||||
* |--------+------+------+------+------+-------------| |---------+------+------+------+------+------+--------|
|
||||
* | Tab | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* |Ctrl/Esc| A | O | E | U | I |------| |---------| D | H | T | N |S / L2| - |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift |
|
||||
* `--------+------+------+------+------+-------------' `----------------+------+------+------+------+--------'
|
||||
* | Ctrl | LGui | Alt | Left | Right| | Up | Down | [ | ] | = |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,--------------. ,-------------.
|
||||
* | AltShf| LGui | | Alt | ~L1 |
|
||||
* ,------|-------|------| |------+--------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | Space|Backsp |------| |------| Enter |Space |
|
||||
* | |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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL,
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1),
|
||||
CTL_T(KC_ESC), KC_A, KC_O, KC_E, KC_U, KC_I,
|
||||
KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_LEFT, KC_RGHT,
|
||||
LALT(KC_LSFT), KC_LGUI,
|
||||
KC_HOME,
|
||||
KC_SPC,KC_BSPC,KC_END,
|
||||
// right hand
|
||||
KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
|
||||
TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
|
||||
KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), KC_MINS,
|
||||
MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT,
|
||||
KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_EQL,
|
||||
KC_LALT, TT(SYMB),
|
||||
KC_PGUP,
|
||||
KC_PGDN,KC_ENT, KC_SPC
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
KC_TRNS,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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
LAYOUT_ergodox(
|
||||
KC_TRNS, 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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,21 +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/>.
|
||||
|
||||
#ifdef KEYBOARD_ergodox_ez
|
||||
#undef PRODUCT
|
||||
#define PRODUCT "ErgoDox EZ - Modified by <@jjerrell>"
|
||||
#endif
|
|
@ -1,129 +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/>.
|
||||
*/
|
||||
|
||||
#include "jjerrell.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// clang-format off
|
||||
[_WORKMAN] = LAYOUT_ergodox_mods(
|
||||
__________________WORKMN_L1__________________, __________________WORKMN_R1__________________,
|
||||
__________________WORKMN_L2__________________, __________________WORKMN_R2__________________,
|
||||
__________________WORKMN_L3__________________, __________________WORKMN_R3__________________,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, KC_RSFT, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
),
|
||||
/* Lower - Nav/Select/Nums */
|
||||
[_LOWER] = LAYOUT_ergodox_mods(
|
||||
__________________LOWER_L1___________________, __________________LOWER_R1___________________,
|
||||
__________________LOWER_L2___________________, __________________LOWER_R2___________________,
|
||||
__________________LOWER_L3___________________, __________________LOWER_R3___________________,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, KC_0, KC_DOT, KC_COMM, KC_PLUS
|
||||
),
|
||||
/* Raise - Symbols */
|
||||
[_RAISE] = LAYOUT_ergodox_common(
|
||||
__________________RAISE_L1___________________, __________________RAISE_R1___________________,
|
||||
__________________RAISE_L2___________________, __________________RAISE_R2___________________,
|
||||
__________________RAISE_L3___________________, __________________RAISE_R3___________________,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, KC_RSFT, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
),
|
||||
/* Adjust (Lower + Raise) */
|
||||
[_ADJUST] = LAYOUT_ergodox_common(
|
||||
__________________ADJUST_L1__________________, __________________ADJUST_R1__________________,
|
||||
__________________ADJUST_L2__________________, __________________ADJUST_R2__________________,
|
||||
__________________ADJUST_L3__________________, __________________ADJUST_R3__________________,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, KC_RSFT, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
),
|
||||
[_SPECIAL] = LAYOUT_ergodox_common(
|
||||
XXXXXXX, XXXXXXX, KC_WH_D, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, KC_WH_L, KC_WH_U, KC_WH_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_RALT, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
)
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
#ifdef KEYBOARD_ergodox_ez
|
||||
// Runs whenever there is a layer state change.
|
||||
layer_state_t layer_state_set_keymap(layer_state_t state) {
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
switch (layer) {
|
||||
case _LOWER:
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case _RAISE:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case _ADJUST:
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_3_on();
|
||||
break;
|
||||
case _SPECIAL:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
ergodox_right_led_1_set(25);
|
||||
ergodox_right_led_2_set(25);
|
||||
ergodox_right_led_3_set(25);
|
||||
|
||||
return state;
|
||||
};
|
||||
|
||||
void matrix_scan_keymap(void) {
|
||||
uint8_t modifiers = get_mods();
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
uint8_t one_shot = get_oneshot_mods();
|
||||
uint8_t layer_is_workman = layer_state_is(_WORKMAN);
|
||||
|
||||
if ((modifiers) && (layer_is_workman)) {
|
||||
if (modifiers & MOD_MASK_SHIFT || led_state.caps_lock || one_shot & MOD_MASK_SHIFT) {
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_1_set( 25 );
|
||||
} else {
|
||||
ergodox_right_led_1_off();
|
||||
}
|
||||
if ((modifiers & MOD_MASK_CTRL || one_shot & MOD_MASK_CTRL) && (modifiers & MOD_MASK_GUI || one_shot & MOD_MASK_GUI)) {
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_2_set( 50 );
|
||||
} else if ((modifiers & MOD_MASK_CTRL || one_shot & MOD_MASK_CTRL) || (modifiers & MOD_MASK_GUI || one_shot & MOD_MASK_GUI)) {
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_2_set( 10 );
|
||||
} else {
|
||||
ergodox_right_led_2_off();
|
||||
}
|
||||
if (modifiers & MOD_MASK_ALT || one_shot & MOD_MASK_ALT) {
|
||||
ergodox_right_led_3_on();
|
||||
ergodox_right_led_3_set( 10 );
|
||||
} else {
|
||||
ergodox_right_led_3_off();
|
||||
}
|
||||
} else if (layer_is_workman) {
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
}
|
||||
};
|
||||
#endif
|
|
@ -1,5 +0,0 @@
|
|||
# Jacob Jerrell's Ergodox Layout
|
||||
|
||||
This is my original QMK keyboard. There isn't much to see here aside from some control over the 3 ergodox_right LEDs for layer & modifier indication.
|
||||
|
||||
The bulk of the functionality is implemented in [my userspace](../../../../users/jjerrell) so it can be shared among my other keyboards.
|
|
@ -1,14 +0,0 @@
|
|||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
TAP_DANCE_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
CONSOLE_ENABLE = yes
|
||||
SPACE_CADET_ENABLE = no
|
||||
KEY_LOCK_ENABLE = no
|
||||
MOUSEKEY_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = yes
|
||||
LEADER_ENABLE = yes
|
||||
|
||||
UNICODE_ENABLE = no
|
||||
UNICODEMAP_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = no
|
||||
RGBLIGHT_ENABLE = no
|
|
@ -1,165 +0,0 @@
|
|||
/* Setup to approximate a Kinesis Advantage with an eye to use in a
|
||||
* Mac/OSX environment
|
||||
* This version adds a hand swap feature to flip the keyboard */
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | LGUI | | App | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | LCtrl | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ' |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* |Grv/L1| \ |AltShf| Left | Right| | Up | Down | [ | ] |Grv/L1|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,---------------. ,---------------.
|
||||
* | LGUI |Al/Esc| |Al/Esc| RGUI |
|
||||
* ,------|--------|------| |------+--------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* |Backsp| Del |------| |------| Enter | Space|
|
||||
* | | | 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_LGUI,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1),
|
||||
KC_LCTL, 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),
|
||||
SH_T(KC_GRV), KC_BSLS, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
|
||||
KC_LGUI, ALT_T(KC_ESC),
|
||||
KC_HOME,
|
||||
KC_BSPC, KC_DEL, KC_END,
|
||||
// right hand
|
||||
KC_APP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), 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, SH_T(KC_GRV),
|
||||
ALT_T(KC_ESC), KC_RGUI,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_ENT, KC_SPC
|
||||
),
|
||||
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | PrScr | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | ScrLk | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Pause | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | . | 0 | = | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
|
||||
KC_SCRL, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
|
||||
KC_PAUS, 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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
LAYOUT_ergodox(
|
||||
KC_TRNS, 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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,14 +0,0 @@
|
|||
The kastyle keymap was originally intended to remap the ErgoDox EZ to more
|
||||
closely approximate the layout of a Kinesis Advantage. Notable changes
|
||||
over the stock ErgoDox layout include:
|
||||
|
||||
* Re-arragnement of tab, enter, space, and delete to match the Kinesis
|
||||
* Addition of print screen, pause, etc. keys following the kines-ish keymap
|
||||
on L1
|
||||
* GUI keys have replaced Ctrl on the thumb keys (for Mac use), and Alt keys
|
||||
are mapped to allow Esc on tap (good for Vi users)
|
||||
* Most notably, the addition of a momentary one-handed mode for quick and
|
||||
easy access to keys on the other half of the keyboard, e.g. while using a
|
||||
mouse in one hand, one may add text to a dialogue box with the other without
|
||||
having to reach across the keyboard or remove one's hand from the mouse.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#define FORCE_NKRO
|
||||
|
||||
#undef TAPPING_TERM
|
|
@ -1,93 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define ETC 2 // etc
|
||||
|
||||
enum macro_id {
|
||||
TEENSY,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[BASE] = LAYOUT_ergodox(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TAB, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_PGUP,
|
||||
CTL_T(KC_ESC), LT(ETC,KC_A), KC_S, KC_E, KC_T, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGDN,
|
||||
KC_GRV, KC_DEL, KC_DEL, KC_LALT, GUI_T(KC_TAB),
|
||||
KC_NO, KC_NO,
|
||||
KC_NO,
|
||||
LT(SYMB,KC_BSPC), CTL_T(KC_ESC), KC_NO,
|
||||
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_VOLU, KC_J, KC_U, KC_R, KC_L, KC_SCLN, KC_BSLS,
|
||||
KC_Y, KC_N, KC_I, KC_O, KC_H, KC_QUOT,
|
||||
KC_VOLD, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
GUI_T(KC_TAB), ALT_T(KC_LEFT), KC_DOWN, KC_UP, LCAG_T(KC_RGHT),
|
||||
KC_WAKE, KC_PWR,
|
||||
KC_NO,
|
||||
KC_NO, SFT_T(KC_ENT), LT(SYMB,KC_SPC)
|
||||
),
|
||||
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
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_BSLS,
|
||||
KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_ASTR, KC_TRNS,
|
||||
KC_TILD, KC_AMPR, KC_AMPR, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_EQL, KC_7, KC_8, KC_9, KC_PLUS, KC_NO,
|
||||
KC_MINS, KC_4, KC_5, KC_6, KC_QUOT, KC_NO,
|
||||
KC_TRNS, KC_UNDS, KC_1, KC_2, KC_3, KC_DQUO, KC_TRNS,
|
||||
KC_0, KC_NO, KC_DOT, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[ETC] = LAYOUT_ergodox(
|
||||
QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_TRNS,
|
||||
KC_TRNS, LT(ETC,KC_A), KC_NO, KC_NO, KC_NO, KC_PGDN,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_HOME, KC_NO,
|
||||
KC_VOLD, KC_F4, KC_F5, KC_F6, KC_END, KC_NO,
|
||||
KC_TRNS, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_INS, KC_TRNS,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
};
|
||||
|
||||
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) {
|
||||
case 1:
|
||||
ergodox_right_led_1_on();
|
||||
break;
|
||||
case 2:
|
||||
ergodox_right_led_2_on();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
};
|
|
@ -1,13 +0,0 @@
|
|||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # 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
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ # nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
|
|
@ -1,160 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define MDIA 2 // media keys
|
||||
|
||||
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 | - |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Caps | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | Esc | Grv |Insert| Left | Right| | Up | Down | [ | ] | L2 |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Ctrl | Alt | | LGui | Ctrl |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* |Backsp| Del |------| |------| Enter| Space|
|
||||
* |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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
|
||||
KC_ESC, KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
|
||||
KC_LCTL,KC_LALT,
|
||||
KC_HOME,
|
||||
KC_BSPC,KC_DEL,KC_END,
|
||||
// right hand
|
||||
KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_NO,
|
||||
KC_LGUI, KC_RCTL,
|
||||
KC_PGUP,
|
||||
KC_PGDN, KC_ENT, KC_SPC
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | PrScr | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | ScrLk | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Pause | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | . | 0 | = | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// SYMBOLS
|
||||
[SYMB] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_PSCR,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS,
|
||||
KC_SCRL,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS,
|
||||
KC_PAUS,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
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | |Brwser|
|
||||
* | | |------| |------| |Back |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, 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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,19 +0,0 @@
|
|||
This keymap attempts to match the Kinesis Contoured (aka Advantage) default
|
||||
layout as closely as possible. See
|
||||
http://www.kinesis-ergo.com/wp-content/uploads/2013/06/advantage_layout_win.pdf
|
||||
|
||||
Apart from the obvious mappings, this keymap also:
|
||||
|
||||
* removes the dual-purpose momentary layer/normal keys: Z, /, and Grv;
|
||||
because the author--coming from a Kinesis keyboard--finds the delays and
|
||||
accidental modifiers to be more disconcerting than helpful.
|
||||
|
||||
* puts Esc in the bottom left since there's no place for it in the top
|
||||
left to match the Kinesis.
|
||||
|
||||
* changes the bottom-right key into an L2 toggle since there's otherwise no
|
||||
way to get to L2.
|
||||
|
||||
* adds PrScr, ScrLk and Pause to the L1 keymap, down the left side, since
|
||||
they're present on the Kinesis but not available in the default
|
||||
ergodox_ez keymap.
|
|
@ -1,78 +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
|
||||
|
||||
#define XXX KC_NO
|
||||
|
||||
#if defined (MIRYOKU_MAPPING_SHIFTED_ROWS)
|
||||
#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_ergodox_pretty( \
|
||||
XXX, K00, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, K09, XXX, \
|
||||
XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX, \
|
||||
XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \
|
||||
XXX, XXX, XXX, K32, K33, K34, XXX, XXX, K35, K36, K37, XXX, XXX, XXX, \
|
||||
XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \
|
||||
XXX, XXX, XXX, XXX, \
|
||||
XXX, XXX, \
|
||||
XXX, XXX, XXX, XXX, XXX, XXX \
|
||||
)
|
||||
#elif defined (MIRYOKU_MAPPING_SHIFTED_ROWS_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_ergodox_pretty( \
|
||||
XXX, K00, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, K09, XXX, \
|
||||
XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX, \
|
||||
XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \
|
||||
XXX, XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX, XXX, \
|
||||
XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \
|
||||
XXX, XXX, XXX, XXX, \
|
||||
XXX, XXX, \
|
||||
XXX, XXX, XXX, XXX, XXX, XXX \
|
||||
)
|
||||
#elif defined (MIRYOKU_MAPPING_SHIFTED_ROWS_EXTENDED_THUMBS_PINKIE_STAGGER) || defined (MIRYOKU_MAPPING_PEAK_ERGODOX)
|
||||
#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_ergodox_pretty( \
|
||||
XXX, XXX, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, XXX, XXX, \
|
||||
XXX, K00, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K09, XXX, \
|
||||
XXX, K10, K21, K22, K23, K24, K25, K26, K27, K28, K19, XXX, \
|
||||
XXX, K20, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, K29, XXX, \
|
||||
XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \
|
||||
XXX, XXX, XXX, XXX, \
|
||||
XXX, XXX, \
|
||||
XXX, XXX, XXX, XXX, XXX, XXX \
|
||||
)
|
||||
#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_ergodox_pretty(\
|
||||
XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\
|
||||
XXX, K00, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, K09, XXX,\
|
||||
XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX,\
|
||||
XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX,\
|
||||
XXX, XXX, XXX, XXX, K32, K37, XXX, XXX, XXX, XXX,\
|
||||
XXX, XXX, XXX, XXX,\
|
||||
XXX, XXX,\
|
||||
K33, K34, XXX, XXX, K35, K36\
|
||||
)
|
||||
#endif
|
|
@ -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/>.
|
|
@ -1,205 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols
|
||||
#define ARRW 2 // arrow keys
|
||||
#define MDIA 3 // media keys, including mouse
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | = | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | L1 | | CAPS | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | ESC | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
||||
* |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | Grv | |*SYMB*|*ARRW*| |*MDIA*|*SYMB*| [ | ] | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+--------+------.
|
||||
* | | | | | | | |
|
||||
* | Space| Bksp |------| |------| Tab |Enter |
|
||||
* | ctrl | gui | Alt | | Alt | gui | ctrl |
|
||||
* `--------------------' `----------------------'
|
||||
*/
|
||||
// TODO: maybe look into changing the delay or whatever for the holding macros... not sure which way you would go with this. if the macro automatically kicks in if you hold it and press another button (no matter how long you held it for), then it wouldn't hurt to have a longer period i think... although if you hold a button and then decide not to, then you;ll register a space/bksp/etc. on accident. on the other hand, if it's too short of a delay, then you might be able to register spc/bksp/etc quickly enough, although i don't see this as big of an issue
|
||||
// not sure if gui is meta key or super... it says meta on the basic keycodes page, and i think that's consitent with other shit, but you should really figure out how to program the keyboard to have meta and super separately instead of hacking your init.el to recognize alt as meta... because shit will get fucked up beteween awesome and emacs and other shit i'm guessing
|
||||
// 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_TRNS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
|
||||
KC_TRNS, KC_GRV, KC_TRNS,MO(SYMB),MO(ARRW),
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
CTL_T(KC_SPC),GUI_T(KC_BSPC),KC_LALT,
|
||||
// right hand
|
||||
KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
KC_CAPS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
MO(MDIA), MO(SYMB), KC_LBRC,KC_RBRC, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_RALT,GUI_T(KC_TAB), CTL_T(KC_ENT)
|
||||
),
|
||||
/* Keymap 1: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | 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
|
||||
KC_TRNS,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_DOT,
|
||||
KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
|
||||
KC_TRNS,KC_TRNS, KC_0, KC_EQL, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
/* Keymap 2: Arrow keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | |PGDOWN| PGUP | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | |------| |------| LEFT | DOWN | UP |RIGHT | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | HOME | END | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[ARRW] = LAYOUT_ergodox(
|
||||
// left 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_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,
|
||||
// right hand
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_HOME, KC_END, 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
|
||||
),
|
||||
/* Keymap 3: Media and mouse keys
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | | | | MsUp | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |MsLeft|MsDown|MsRght| |------| |------| | Lclk | Rclk | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | |Mute |VolDn | VolUp| | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | Prev | Play | Next | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* |Brwser| | | | | | |
|
||||
* |Back | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
// MEDIA AND MOUSE
|
||||
[MDIA] = LAYOUT_ergodox(
|
||||
KC_TRNS, 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_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_WBAK, 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_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_MPLY,
|
||||
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
|
||||
),
|
||||
};
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
};
|
|
@ -1,121 +0,0 @@
|
|||
# Introduction
|
||||
|
||||
## Motivation
|
||||
I created this keymap in an attempt to optimize my typing experience in text editors (vim and emacs) and the command-line.
|
||||
|
||||
More specifically, I wanted to have each modifier key controlled by the thumbs, the most powerful of the digits (I think). This cured me of emacs pinky, which had surprisingly grown quite quickly over the first two weeks of using emacs & emacs-like commands on the command-line.
|
||||
|
||||
## Changes
|
||||
There are some miscellaneous changes that I kind of forgot I made, such as moving the tilde key, but you can check out the visual layouts below, which I **have** kept up to date.
|
||||
### Modifier Keys
|
||||
The biggest changes from the ergodox ez default keymap are the modifiers on the thumb cluster. You must hold each key down for a certain amount of time (forgot where this is specified) in order for the modifier key to activate.
|
||||
|
||||
### Layers
|
||||
* an arrow layer (ARRW) has been created because the default arrow keys suck. Beware, these do use vim bindings because they're the best.
|
||||
* the keys in the media layer have been moved around for a better experience (imo), especially with respect to the mouse
|
||||
* the three layers (SYMB, MDIA, and ARRW) now have their own dedicated keys accessible by the thumbs in the basic layer
|
||||
* caps lock has been put in place of the right-side `L1` toggle key because there was really no need to have two keys to toggle one layer, and caps lock is useful when writing queries
|
||||
** unfortunatley, caps lock is not indicated by an LED, so be careful. I use caps lock just like I do insert in vim; for a short burst of text. I always turn off caps lock when I change my focus
|
||||
|
||||
### Removal Of Keys
|
||||
I also removed a bunch of unnecessary keys that I wasn't going to use anyway. You'll see such keys are blank in the basic layer. I will probably add some more keys in place of these, but I'm fine for now; I just didn't want the distraction of extra keys I barely use.
|
||||
|
||||
## Caveats
|
||||
### Thumb Cluster Range
|
||||
I've heard many complaints about the thumb clusters. I agree that the three outter keys are almost impossible to reach. I am going to try to build [Matt Adereth's keyboard](https://github.com/adereth/dactyl-keyboard), which looks to have a better layout. However, I am able to comfortably use the three modifier keys mainly because:
|
||||
* I use DCS keycaps with SA Row 3 keycaps where the Alt keys are
|
||||
* I have relatively large hands (I guarantee you there's no problem - I guarantee you)
|
||||
|
||||
### Dangerous positioning
|
||||
I think it's quite dangerous to put something like control on the same key as enter. Alas, this is a risk I'm willing to accept, and so should you if you decide to use this keymap. I tend to avoid putting myself in situtations in which disaster could occur with one fell swoop of a keypress.
|
||||
|
||||
# Keymap
|
||||
## Keymap 0: Basic layer
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| = | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| Tab | Q | W | E | R | T | L1 | | CAPS | Y | U | I | O | P | \ |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| ESC | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
||||
|--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------|
|
||||
| LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | Grv | |*SYMB*|*ARRW*| |*MDIA*|*SYMB*| [ | ] | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| | | | | |
|
||||
,------|------|------| |------+--------+------.
|
||||
| | | | | | | |
|
||||
| Space| Bksp |------| |------| Tab |Enter |
|
||||
| ctrl | gui | Alt | | Alt | gui | ctrl |
|
||||
`--------------------' `----------------------'
|
||||
|
||||
```
|
||||
|
||||
## Keymap 1: Symbol Layer
|
||||
The only change here is the *dot* (`.`) character moving from next to `0` next to `+` in order to move the layer keys in the correct position
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | 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: Arrow Layer
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| | | | | | | | | | |PGDOWN| PGUP | | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | | | | | |------| |------| LEFT | DOWN | UP |RIGHT | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | HOME | END | | | |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | | | | | | | | | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| | | | | |
|
||||
,------|------|------| |------+------+------.
|
||||
| | | | | | | |
|
||||
| | |------| |------| | |
|
||||
| | | | | | | |
|
||||
`--------------------' `--------------------'
|
||||
```
|
||||
|
||||
## Keymap 3: Media and mouse keys
|
||||
```
|
||||
,--------------------------------------------------. ,--------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
| | | | MsUp | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | |MsLeft|MsDown|MsRght| |------| |------| | Lclk | Rclk | | | |
|
||||
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
| | |Mute |VolDn | VolUp| | | | | | | | | | |
|
||||
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
| | | Prev | Play | Next | | | | | | |
|
||||
`----------------------------------' `----------------------------------'
|
||||
,-------------. ,-------------.
|
||||
| | | | | |
|
||||
,------|------|------| |------+------+------.
|
||||
|Brwser| | | | | | |
|
||||
|Back | |------| |------| | |
|
||||
| | | | | | | |
|
||||
`--------------------' `--------------------'
|
||||
```
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue