Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9fcda95363 | ||
|
2908c0f927 | ||
|
598384bc10 | ||
|
ac82cd1ba7 |
@@ -15,7 +15,7 @@
|
||||
#ifdef TAPPING_TERM
|
||||
#undef TAPPING_TERM
|
||||
#endif
|
||||
#define TAPPING_TERM 150
|
||||
#define TAPPING_TERM 175
|
||||
#undef PERMISSIVE_HOLD
|
||||
#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
|
||||
#define ONESHOT_TAP_TOGGLE 2
|
||||
|
@@ -48,26 +48,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | End | | PgDn | | |
|
||||
* `---------------------' `---------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ergodox(
|
||||
KC_EQUAL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS),
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(_DIABLO),
|
||||
KC_BSPACE, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, LCTL_T(KC_Z),KC_X, KC_C, KC_V, KC_B, TG(_GAMEPAD),
|
||||
LT(_SYMB,KC_GRAVE),KC_QUOTE, KC_LGUI, KC_LBRACKET,KC_RBRACKET,
|
||||
[_QWERTY] = LAYOUT_ergodox_wrapper(
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS),
|
||||
KC_TAB, _________________QWERTY_L1_________________, TG(_DIABLO),
|
||||
KC_BSPC, _________________QWERTY_L2_________________,
|
||||
KC_LSFT, _________________QWERTY_L3_________________, TG(_GAMEPAD),
|
||||
LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________,
|
||||
|
||||
ALT_T(KC_APPLICATION), KC_LGUI,
|
||||
KC_HOME,
|
||||
KC_SPACE, KC_BSPACE, KC_END,
|
||||
ALT_T(KC_APP), KC_LGUI,
|
||||
KC_HOME,
|
||||
KC_SPACE,KC_BSPC, KC_END,
|
||||
|
||||
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
|
||||
TG(_DIABLO), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCOLON, GUI_T(KC_QUOTE),
|
||||
TG(_GAMEPAD), KC_N, KC_M, KC_COMMA, KC_DOT, RCTL_T(KC_SLASH),OSM(MOD_RSFT),
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TT(_SYMB),
|
||||
KC_RGUI, CTL_T(KC_ESCAPE),
|
||||
KC_PGUP,
|
||||
KC_PGDOWN, KC_DELETE, KC_ENTER
|
||||
),
|
||||
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(_DIABLO), _________________QWERTY_R1_________________, KC_BSLS,
|
||||
_________________QWERTY_R2_________________, GUI_T(KC_QUOT),
|
||||
TG(_GAMEPAD), _________________QWERTY_R3_________________, KC_RSFT,
|
||||
___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB),
|
||||
KC_RGUI, CTL_T(KC_ESCAPE),
|
||||
KC_PGUP,
|
||||
KC_PGDOWN, KC_DELETE, KC_ENTER
|
||||
),
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
@@ -91,25 +91,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*/
|
||||
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||
// Otherwise, it needs KC_*
|
||||
[_COLEMAK] = LAYOUT_ergodox(
|
||||
[_COLEMAK] = LAYOUT_ergodox_wrapper(
|
||||
// left hand
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS),
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, TG(_DIABLO),
|
||||
KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
KC_LSFT, LCTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(_GAMEPAD),
|
||||
LT(_SYMB,KC_GRV),KC_QUOT, KC_LGUI, KC_LBRACKET,KC_RBRACKET,
|
||||
ALT_T(KC_APP), KC_LGUI,
|
||||
KC_HOME,
|
||||
KC_SPC,KC_BSPC,KC_END,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS),
|
||||
KC_TAB, _________________COLEMAK_L1________________, TG(_DIABLO),
|
||||
KC_BSPC, _________________COLEMAK_L2________________,
|
||||
KC_LSFT, _________________COLEMAK_L3________________, TG(_GAMEPAD),
|
||||
LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________,
|
||||
ALT_T(KC_APP), KC_LGUI,
|
||||
KC_HOME,
|
||||
KC_SPACE,KC_BSPC, KC_END,
|
||||
// right hand
|
||||
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(_DIABLO), KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
KC_H, KC_N, KC_E, KC_I, KC_O, GUI_T(KC_QUOTE),
|
||||
TG(_GAMEPAD),KC_K, KC_M, KC_COMM,KC_DOT, RCTL_T(KC_SLASH), OSM(MOD_RSFT),
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TT(_SYMB),
|
||||
KC_RGUI, CTL_T(KC_ESC),
|
||||
KC_PGUP,
|
||||
KC_PGDN,KC_DELETE, KC_ENT
|
||||
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(_DIABLO), _________________COLEMAK_R1________________, KC_BSLS,
|
||||
_________________COLEMAK_R2________________, GUI_T(KC_QUOT),
|
||||
TG(_GAMEPAD), _________________COLEMAK_R3________________, KC_RSFT,
|
||||
___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB),
|
||||
KC_RGUI, CTL_T(KC_ESCAPE),
|
||||
KC_PGUP,
|
||||
KC_PGDOWN, KC_DELETE, KC_ENTER
|
||||
),
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
@@ -134,25 +134,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*/
|
||||
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||
// Otherwise, it needs KC_*
|
||||
[_DVORAK] = LAYOUT_ergodox(
|
||||
[_DVORAK] = LAYOUT_ergodox_wrapper(
|
||||
// left hand
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS),
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(_DIABLO),
|
||||
KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I,
|
||||
KC_LSFT, LCTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, TG(_GAMEPAD),
|
||||
LT(_SYMB,KC_GRV),KC_QUOT, KC_LGUI, KC_LBRACKET, KC_RBRACKET,
|
||||
ALT_T(KC_APP), KC_LEAD,
|
||||
KC_HOME,
|
||||
KC_SPC,KC_BSPC,KC_END,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS),
|
||||
KC_TAB, _________________DVORAK_L1_________________, TG(_DIABLO),
|
||||
KC_BSPC, _________________DVORAK_L2_________________,
|
||||
KC_LSFT, _________________DVORAK_L3_________________, TG(_GAMEPAD),
|
||||
LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________,
|
||||
ALT_T(KC_APP), KC_LGUI,
|
||||
KC_HOME,
|
||||
KC_SPACE,KC_BSPC, KC_END,
|
||||
// right hand
|
||||
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
|
||||
TG(_DIABLO), 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(_GAMEPAD),KC_B, KC_M, KC_W, KC_V, RCTL_T(KC_Z), OSM(MOD_RSFT),
|
||||
KC_LEFT,KC_DOWN,KC_UP, KC_RIGHT, TT(_SYMB),
|
||||
KC_LALT, CTL_T(KC_ESC),
|
||||
KC_PGUP,
|
||||
KC_PGDN,KC_DELETE, KC_ENT
|
||||
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
|
||||
TG(_DIABLO), _________________DVORAK_R1_________________, KC_SLSH,
|
||||
_________________DVORAK_R2_________________, GUI_T(KC_MINS),
|
||||
TG(_GAMEPAD), _________________DVORAK_R3_________________, KC_RSFT,
|
||||
___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB),
|
||||
KC_RGUI, CTL_T(KC_ESCAPE),
|
||||
KC_PGUP,
|
||||
KC_PGDOWN, KC_DELETE, KC_ENTER
|
||||
),
|
||||
/* Keymap 0: Basic layer
|
||||
*
|
||||
@@ -177,27 +177,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*/
|
||||
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
|
||||
// Otherwise, it needs KC_*
|
||||
[_WORKMAN] = LAYOUT_ergodox(
|
||||
[_WORKMAN] = LAYOUT_ergodox_wrapper(
|
||||
// left hand
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS),
|
||||
KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, TG(_DIABLO),
|
||||
KC_BSPC, KC_A, KC_S, KC_H, KC_T, KC_G,
|
||||
KC_LSFT, LCTL_T(KC_Z), KC_X, KC_M, KC_C, KC_V, TG(_GAMEPAD),
|
||||
LT(_SYMB,KC_GRV),KC_QUOT, KC_LGUI, KC_LBRACKET,KC_RBRACKET,
|
||||
ALT_T(KC_APP), KC_LEAD,
|
||||
KC_HOME,
|
||||
KC_SPC,KC_BSPC,KC_END,
|
||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_MOUS),
|
||||
KC_TAB, _________________WORKMAN_L1________________, TG(_DIABLO),
|
||||
KC_BSPC, _________________WORKMAN_L2________________,
|
||||
KC_LSFT, _________________WORKMAN_L3________________, TG(_GAMEPAD),
|
||||
LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________,
|
||||
ALT_T(KC_APP), KC_LGUI,
|
||||
KC_HOME,
|
||||
KC_SPACE,KC_BSPC, KC_END,
|
||||
// right hand
|
||||
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(_DIABLO), KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSLS,
|
||||
KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOTE,
|
||||
TG(_GAMEPAD),KC_K, KC_L, KC_COMM,KC_DOT, RCTL_T(KC_SLASH), OSM(MOD_RSFT),
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, TT(_SYMB),
|
||||
KC_LALT, CTL_T(KC_ESC),
|
||||
KC_PGUP,
|
||||
KC_PGDN,KC_DELETE, KC_ENT
|
||||
TG(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
TG(_DIABLO), _________________WORKMAN_R1________________, KC_BSLS,
|
||||
_________________WORKMAN_R2________________, GUI_T(KC_QUOT),
|
||||
TG(_GAMEPAD), _________________WORKMAN_R3________________, KC_RSFT,
|
||||
___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB),
|
||||
KC_RGUI, CTL_T(KC_ESCAPE),
|
||||
KC_PGUP,
|
||||
KC_PGDOWN, KC_DELETE, KC_ENTER
|
||||
),
|
||||
|
||||
[_MODS] = 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,
|
||||
OSM(MOD_LSFT),KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, OSM(MOD_RSFT),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
/* Keymap 3: Symbol Layer
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
@@ -220,11 +240,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[_SYMB] = LAYOUT_ergodox(
|
||||
EPRM, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_WORKMAN,
|
||||
VRSN, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_DVORAK,
|
||||
EPRM, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, TG(_MODS),
|
||||
VRSN, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_WORKMAN,
|
||||
KC_MAKE, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRAVE,
|
||||
KC_RESET, KC_PERC, KC_CIRC, KC_LBRACKET,KC_RBRACKET,KC_TILD, KC_COLEMAK,
|
||||
KC_TRNS, KC_AMPR, KC_ASTR, KC_COLN, KC_SCOLON,
|
||||
KC_TRNS, KC_AMPR, KC_ASTR, KC_COLN, KC_SCOLON,
|
||||
RGB_SMOD, KC_RGB_T,
|
||||
RGB_HUI,
|
||||
RGB_M_R, RGB_M_SW, RGB_HUD,
|
||||
|
28
keyboards/levinson/keymaps/losinggeneration/README.md
Normal file
28
keyboards/levinson/keymaps/losinggeneration/README.md
Normal file
@@ -0,0 +1,28 @@
|
||||
losinggeneration's Levinson Layout
|
||||
============================
|
||||
|
||||
See description of the layout in the common folder
|
||||
[here](../../../../users/losinggeneration/README.md)
|
||||
|
||||
## Features
|
||||
- Adjust
|
||||
- Removed AGSwap, AGNorm, & Del
|
||||
- Added Caps Lock, F1-F12 in a 4x3 grid, backlight control, arrow cluster,
|
||||
and layer transitions to the new layers.
|
||||
- Moved Reset & Audio control to the right side
|
||||
|
||||
## Layouts
|
||||
|
||||
### Adjust (Lower + Raise)
|
||||
|
||||
```
|
||||
,-----------------------------------------..-----------------------------------------.
|
||||
| | F1 | F2 | F3 | F4 |BL Off|| RESET| Game |Numpad|Mouse | | |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| | F5 | F6 | F7 | F8 |BL Tg ||Aud on|Qwerty|Colmak|Workmn|Dvorak| |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| CAPS | F9 | F10 | F11 | F12 |BL On ||Audoff| | | | Up | |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| | | | | | || | | XXX | Left | Down |Right |
|
||||
`-----------------------------------------''-----------------------------------------'
|
||||
```
|
42
keyboards/levinson/keymaps/losinggeneration/config.h
Normal file
42
keyboards/levinson/keymaps/losinggeneration/config.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
Copyright 2017 Danny Nguyen <danny@hexwire.com>
|
||||
Copyright 2018 Harley Laue <losinggeneration@gmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
long with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include QMK_KEYBOARD_CONFIG_H
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
/* #define USE_I2C */
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
/* #define _MASTER_RIGHT */
|
||||
/* #define EE_HANDS */
|
||||
|
||||
#undef RGBLED_NUM
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 12
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
|
||||
#endif
|
38
keyboards/levinson/keymaps/losinggeneration/keymap.c
Normal file
38
keyboards/levinson/keymaps/losinggeneration/keymap.c
Normal file
@@ -0,0 +1,38 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "losinggeneration-config.h"
|
||||
#include "losinggeneration-keymap.h"
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = CATMAP( QWERTY_LAYER ),
|
||||
[_COLEMAK] = CATMAP( COLEMAK_LAYER ),
|
||||
[_WORKMAN] = CATMAP( WORKMAN_LAYER ),
|
||||
[_DVORAK] = CATMAP( DVORAK_LAYER ),
|
||||
[_GAME] = CATMAP( GAME_LAYER ),
|
||||
[_NUMPAD] = CATMAP( NUMPAD_LAYER ),
|
||||
[_MOUSE] = CATMAP( MOUSE_LAYER ),
|
||||
[_LOWER] = CATMAP( LOWER_LAYER ),
|
||||
[_RAISE] = CATMAP( RAISE_LAYER ),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 |BL Off|| RESET| Game |Numpad|Mouse | | |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | | F5 | F6 | F7 | F8 |BL Tg ||Aud on|Qwerty|Colmak|Workmn|Dvorak| |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | CAPS | F9 | F10 | F11 | F12 |BL On ||Audoff| | | | Up | |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | | | | | | || | | XXX | Left | Down |Right |
|
||||
* `-----------------------------------------''-----------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = CATMAP( \
|
||||
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , BL_OFF , RESET , TO_GAME, TO_NUM , TO_MS , _______, _______, \
|
||||
_______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , BL_TOGG, AU_ON , QWERTY , COLEMAK, WORKMAN, DVORAK , _______, \
|
||||
KC_CAPS, KC_F9 , KC_F10, KC_F11 , KC_F12 , BL_ON , AU_OFF , _______, _______, _______, KC_UP , _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||
)
|
||||
|
||||
};
|
||||
|
17
keyboards/levinson/keymaps/losinggeneration/rules.mk
Normal file
17
keyboards/levinson/keymaps/losinggeneration/rules.mk
Normal file
@@ -0,0 +1,17 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../../Makefile
|
||||
endif
|
29
keyboards/nyquist/keymaps/losinggeneration/README.md
Normal file
29
keyboards/nyquist/keymaps/losinggeneration/README.md
Normal file
@@ -0,0 +1,29 @@
|
||||
losinggeneration's Nyquist Layout
|
||||
============================
|
||||
|
||||
See description of the layout in the common folder
|
||||
[here](../../../../users/losinggeneration/README.md)
|
||||
|
||||
## Features
|
||||
- Adjust
|
||||
- Removed AGSwap, AGNorm, & Del
|
||||
- Added Caps Lock, F1-F12 in a 4x3 grid, arrow cluster, and layer transitions
|
||||
to the new layers.
|
||||
|
||||
## Layouts
|
||||
|
||||
### Adjust (Lower + Raise)
|
||||
|
||||
```
|
||||
,-----------------------------------------..-----------------------------------------.
|
||||
| RESET|DEBUG | | | | || | | | | | |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| | F1 | F2 | F3 | F4 | || | Game |Numpad| Mouse| | |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| | F5 | F6 | F7 | F8 | || |Qwerty|Colmak|Workmn|Dvorak| |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| CAPS | F9 | F10 | F11 | F12 | || | | | | Up | |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| | | | | | || | | XXX | Left | Down |Right |
|
||||
`-----------------------------------------''-----------------------------------------'
|
||||
```
|
35
keyboards/nyquist/keymaps/losinggeneration/config.h
Normal file
35
keyboards/nyquist/keymaps/losinggeneration/config.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
Copyright 2017 Danny Nguyen <danny@hexwire.com>
|
||||
Copyright 2018 Harley Laue <losinggeneration@gmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
long with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include QMK_KEYBOARD_CONFIG_H
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
/* #define USE_I2C */
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
/* #define _MASTER_RIGHT */
|
||||
/* #define EE_HANDS */
|
||||
|
||||
#endif
|
55
keyboards/nyquist/keymaps/losinggeneration/keymap.c
Normal file
55
keyboards/nyquist/keymaps/losinggeneration/keymap.c
Normal file
@@ -0,0 +1,55 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "losinggeneration-config.h"
|
||||
#include "losinggeneration-keymap.h"
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
#define NUMBER_ROW \
|
||||
KC_GRV ,KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = CATMAP( NUMBER_ROW, QWERTY_LAYER ),
|
||||
[_COLEMAK] = CATMAP( NUMBER_ROW, COLEMAK_LAYER ),
|
||||
[_WORKMAN] = CATMAP( NUMBER_ROW, WORKMAN_LAYER ),
|
||||
[_DVORAK] = CATMAP( NUMBER_ROW, DVORAK_LAYER ),
|
||||
[_GAME] = CATMAP( NUMBER_ROW, GAME_LAYER ),
|
||||
[_NUMPAD] = CATMAP( \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_PAST, KC_PSLS, KC_BSPC, KC_BSPC, \
|
||||
NUMPAD_LAYER \
|
||||
),
|
||||
|
||||
[_MOUSE] = CATMAP( \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
MOUSE_LAYER \
|
||||
),
|
||||
|
||||
[_LOWER] = CATMAP( \
|
||||
KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL , \
|
||||
LOWER_LAYER \
|
||||
),
|
||||
|
||||
[_RAISE] = CATMAP(NUMBER_ROW, RAISE_LAYER ),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | RESET|DEBUG | | | | || | | | | | |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | | F1 | F2 | F3 | F4 | || | Game |Numpad| Mouse| | |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | | F5 | F6 | F7 | F8 | || |Qwerty|Colmak|Workmn|Dvorak| |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | CAPS | F9 | F10 | F11 | F12 | || | | | | Up | |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | | | | | | || | | XXX | Left | Down |Right |
|
||||
* `-----------------------------------------''-----------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = CATMAP( \
|
||||
RESET , DEBUG , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, TO_GAME, TO_NUM , TO_MS , _______, _______, \
|
||||
_______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, QWERTY , COLEMAK, WORKMAN, DVORAK , _______, \
|
||||
KC_CAPS, KC_F9 , KC_F10, KC_F11 , KC_F12 , _______, _______, _______, _______, _______, KC_UP , _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||
)
|
||||
};
|
||||
|
17
keyboards/nyquist/keymaps/losinggeneration/rules.mk
Normal file
17
keyboards/nyquist/keymaps/losinggeneration/rules.mk
Normal file
@@ -0,0 +1,17 @@
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../../Makefile
|
||||
endif
|
@@ -68,7 +68,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define C6_AUDIO
|
||||
#define STARTUP_SONG SONG(ZELDA_TREASURE)
|
||||
#define STARTUP_SONG SONG(IMPERIAL_MARCH)
|
||||
#endif
|
||||
|
||||
#undef PRODUCT
|
||||
|
@@ -31,49 +31,54 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// Fillers to make layering more clear
|
||||
#define _______ KC_TRNS
|
||||
#define XXXXXXX KC_NO
|
||||
|
||||
#define KC_MSHF OSM(MOD_LSFT)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = KEYMAP(\
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
|
||||
KC_LSFT,CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, LOWER, KC_SPACE, KC_BSPC, KC_DEL, KC_ENT, RAISE, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH), KC_LGUI \
|
||||
[_QWERTY] = KEYMAP_wrapper(\
|
||||
KC_ESC, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, \
|
||||
KC_TAB, _________________QWERTY_L2_________________, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, _________________QWERTY_R2_________________, KC_QUOT, \
|
||||
KC_LSFT, _________________QWERTY_L3_________________, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, _________________QWERTY_R3_________________, KC_LGUI \
|
||||
),
|
||||
|
||||
[_COLEMAK] = KEYMAP(\
|
||||
KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \
|
||||
KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
|
||||
KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, LOWER, KC_SPACE, KC_BSPC, KC_DEL, KC_ENT, RAISE, KC_K, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH), KC_LGUI \
|
||||
[_COLEMAK] = KEYMAP_wrapper(\
|
||||
KC_ESC, _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_BSPC, \
|
||||
KC_TAB, _________________COLEMAK_L2________________, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, _________________COLEMAK_R2________________, KC_QUOT, \
|
||||
KC_LSFT, _________________COLEMAK_L3________________, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, _________________COLEMAK_R3________________, KC_LGUI \
|
||||
),
|
||||
|
||||
[_DVORAK] = KEYMAP(\
|
||||
KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, \
|
||||
KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
|
||||
KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, LOWER, KC_SPACE, KC_BSPC, KC_DEL, KC_ENT, RAISE, KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_LGUI \
|
||||
[_DVORAK] = KEYMAP_wrapper(\
|
||||
KC_ESC, _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, KC_BSPC, \
|
||||
KC_TAB, _________________DVORAK_L2_________________, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, _________________DVORAK_R2_________________, KC_MINS, \
|
||||
KC_LSFT, _________________DVORAK_L3_________________, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, _________________DVORAK_R3_________________, KC_LGUI \
|
||||
),
|
||||
[_WORKMAN] = KEYMAP(\
|
||||
KC_ESC, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, \
|
||||
KC_TAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
|
||||
KC_LSFT,CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, LOWER, KC_SPACE, KC_BSPC, KC_DEL, KC_ENT, RAISE, KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_LGUI \
|
||||
[_WORKMAN] = KEYMAP_wrapper(\
|
||||
KC_ESC, _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, KC_BSPC, \
|
||||
KC_TAB, _________________WORKMAN_L2________________, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, _________________WORKMAN_R2________________, KC_MINS, \
|
||||
KC_LSFT, _________________WORKMAN_L3________________, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, _________________WORKMAN_R3________________, KC_LGUI \
|
||||
),
|
||||
[_MODS] = KEYMAP(\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
OSM(MOD_LSFT), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
),
|
||||
|
||||
[_LOWER] = KEYMAP(\
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, _______, KC_RCTL, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
|
||||
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_HOME, KC_COMM, KC_DOT, KC_END, _______ \
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, _______, KC_RCTL, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
|
||||
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_HOME, KC_COMM, KC_DOT, KC_END, _______ \
|
||||
),
|
||||
|
||||
[_RAISE] = KEYMAP(\
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, _______, _______, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_PGUP, KC_COMM, KC_DOT, KC_PGDN, _______ \
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, _______, _______, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_PGUP, KC_COMM, KC_DOT, KC_PGDN, _______ \
|
||||
),
|
||||
|
||||
[_ADJUST] = KEYMAP(\
|
||||
KC_MAKE,KC_RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
RGB_SMOD,RGB_HUI, KC_FXCL, AUD_ON, AUD_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, _______, \
|
||||
KC_RGB_T,RGB_HUD, MU_ON, MU_OFF, MU_TOG, MU_MOD, _______, _______, _______, _______, _______, _______, MAGIC_TOGGLE_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY \
|
||||
KC_MAKE,KC_RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
RGB_SMOD,RGB_HUI, KC_FXCL, AUD_ON, AUD_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, TG(_MODS), \
|
||||
KC_RGB_T,RGB_HUD, MU_ON, MU_OFF, MU_TOG, MU_MOD, _______, _______, _______, _______, _______, _______, MAGIC_TOGGLE_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY \
|
||||
)
|
||||
|
||||
|
||||
|
@@ -7,5 +7,3 @@ TAP_DANCE_ENABLE = no
|
||||
RGBLIGHT_ENABLE = yes
|
||||
AUDIO_ENABLE = yes
|
||||
NKRO_ENABLE = yes
|
||||
FAUXCLICKY_ENABLE = no
|
||||
USE_I2C = no
|
||||
|
42
keyboards/planck/keymaps/kelorean/config.h
Normal file
42
keyboards/planck/keymaps/kelorean/config.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define STARTUP_SONG SONG(PLANCK_SOUND)
|
||||
// #define STARTUP_SONG SONG(NO_SOUND)
|
||||
|
||||
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
|
||||
SONG(COLEMAK_SOUND), \
|
||||
SONG(DVORAK_SOUND) \
|
||||
}
|
||||
#endif
|
||||
|
||||
#define MUSIC_MASK (keycode != KC_NO)
|
||||
|
||||
/*
|
||||
* MIDI options
|
||||
*/
|
||||
|
||||
/* Prevent use of disabled MIDI features in the keymap */
|
||||
//#define MIDI_ENABLE_STRICT 1
|
||||
|
||||
/* enable basic MIDI features:
|
||||
- MIDI notes can be sent when in Music mode is on
|
||||
*/
|
||||
|
||||
#define MIDI_BASIC
|
||||
|
||||
/* enable advanced MIDI features:
|
||||
- MIDI notes can be added to the keymap
|
||||
- Octave shift and transpose
|
||||
- Virtual sustain, portamento, and modulation wheel
|
||||
- etc.
|
||||
*/
|
||||
//#define MIDI_ADVANCED
|
||||
|
||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||
|
||||
#endif
|
264
keyboards/planck/keymaps/kelorean/keymap.c
Normal file
264
keyboards/planck/keymaps/kelorean/keymap.c
Normal file
@@ -0,0 +1,264 @@
|
||||
/* Copyright 2015-2017 Jack Humbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "planck.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
enum planck_layers {
|
||||
_QWERTY,
|
||||
_COLEMAK,
|
||||
_DVORAK,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_PLOVER,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
enum planck_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
PLOVER,
|
||||
LOWER,
|
||||
RAISE,
|
||||
BACKLIT,
|
||||
EXT_PLV
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = {
|
||||
{KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
|
||||
{KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
|
||||
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Colemak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_COLEMAK] = {
|
||||
{KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
|
||||
{KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
|
||||
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Dvorak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | O | E | U | I | D | H | T | N | S | / |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_DVORAK] = {
|
||||
{KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC},
|
||||
{KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH},
|
||||
{KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT },
|
||||
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = {
|
||||
{KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC},
|
||||
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE},
|
||||
{_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______},
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
|
||||
},
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = {
|
||||
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
|
||||
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS},
|
||||
{_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______},
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
|
||||
},
|
||||
|
||||
/* Plover layer (http://opensteno.org)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | # | # | # | # | # | # | # | # | # | # | # | # |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | S | T | P | H | * | * | F | P | L | T | D |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | S | K | W | R | * | * | R | B | G | S | Z |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Exit | | | A | O | | E | U | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
|
||||
[_PLOVER] = {
|
||||
{KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 },
|
||||
{XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC},
|
||||
{XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
|
||||
{EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX}
|
||||
},
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | Reset| | | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = {
|
||||
{_______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL },
|
||||
{_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______},
|
||||
{_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______},
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
float plover_song[][2] = SONG(PLOVER_SOUND);
|
||||
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
|
||||
#endif
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
print("mode just switched to qwerty and this is a huge string\n");
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_step();
|
||||
#endif
|
||||
PORTE &= ~(1<<6);
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
PORTE |= (1<<6);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case PLOVER:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
stop_all_notes();
|
||||
PLAY_SONG(plover_song);
|
||||
#endif
|
||||
layer_off(_RAISE);
|
||||
layer_off(_LOWER);
|
||||
layer_off(_ADJUST);
|
||||
layer_on(_PLOVER);
|
||||
if (!eeconfig_is_enabled()) {
|
||||
eeconfig_init();
|
||||
}
|
||||
keymap_config.raw = eeconfig_read_keymap();
|
||||
keymap_config.nkro = 1;
|
||||
eeconfig_update_keymap(keymap_config.raw);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case EXT_PLV:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(plover_gb_song);
|
||||
#endif
|
||||
layer_off(_PLOVER);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
2
keyboards/planck/keymaps/kelorean/readme.md
Normal file
2
keyboards/planck/keymaps/kelorean/readme.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# The Default Planck Layout
|
||||
Swapped up and down arrows.
|
0
keyboards/planck/keymaps/kelorean/rules.mk
Normal file
0
keyboards/planck/keymaps/kelorean/rules.mk
Normal file
155
keyboards/s65_x/keymaps/kelorean/keymap.c
Normal file
155
keyboards/s65_x/keymaps/kelorean/keymap.c
Normal file
@@ -0,0 +1,155 @@
|
||||
#include "s65_x.h"
|
||||
|
||||
#define _BL 0
|
||||
#define _CM 1
|
||||
#define _DV 2
|
||||
#define _AL 3
|
||||
#define _FL 4
|
||||
#define _UL 5
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* 0: Main layer, swapped alt and GUI for Mac
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
* │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│DEL │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│END │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │BKSPC│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│PG_UP│
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│ UP │PG_DN│
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │LCTRL│L_ALT│L_GUI│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │LEFT │DOWN │RIGHT│
|
||||
* └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
*/
|
||||
|
||||
/* 0: ANSI qwerty */
|
||||
[_BL] = ANSI_KEYMAP(
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, \
|
||||
F(4), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
|
||||
/* 1: Colemak layer
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
* │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│DEL │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ TAB │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │█████│END │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │BKSPC│ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │▒▒▒▒▒│ENTER│█████│PG_UP│
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│ UP │PG_DN│
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │LCTRL│L_ALT│L_GUI│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │LEFT │DOWN │RIGHT│
|
||||
* └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
*/
|
||||
|
||||
/* 1: Colemak layer */
|
||||
[_CM] = ANSI_KEYMAP(
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, \
|
||||
F(4), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGUP, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
|
||||
/* 2: Dvorak layer
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
* │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │▒▒▒▒▒│BKSPC│DEL │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ TAB │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │█████│END │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │BKSPC│ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │▒▒▒▒▒│ENTER│█████│PG_UP│
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │LSHFT│▒▒▒▒▒│ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │▒▒▒▒▒│RSHFT│ UP │PG_DN│
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │LCTRL│L_ALT│L_GUI│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │LEFT │DOWN │RIGHT│
|
||||
* └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
*/
|
||||
|
||||
/* 2: Dvorak layer */
|
||||
[_DV] = ANSI_KEYMAP(
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL, \
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_END, \
|
||||
F(4), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_PGUP, \
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_PGDN, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
/* 3: Locking arrow keys to WASD for when you need dedicated arrow keys
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│▒▒▒▒▒│ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │ │ Up │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ │ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │ │ │
|
||||
* └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
*/
|
||||
|
||||
[_AL] = ANSI_KEYMAP(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
/* 4: Fn layer
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
* │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│▒▒▒▒▒│ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │ _AL │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │▒▒▒▒▒│ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │Left │Down │Right│ │ │Left │Down │ Up │Right│ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │▒▒▒▒▒│_UL │ │_CM │_DV │ │ │ │ │Home │End │▒▒▒▒▒│ │Vol+ │ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │Mute │Vol- │Play │
|
||||
* └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
*/
|
||||
|
||||
[_FL] = ANSI_KEYMAP(
|
||||
KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, \
|
||||
_______, F(3), KC_UP, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, \
|
||||
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, _______, \
|
||||
_______, F(5), _______, F(1), F(2), _______, _______, _______, KC_HOME, KC_END, _______, _______, KC_VOLU, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_MPLY),
|
||||
|
||||
/* 5: Locking layer for controlling the underglow
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│▒▒▒▒▒│ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │BL On│BL St│ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │ On │Mode │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │▒▒▒▒▒│ │Hue+ │Hue- │Sat+ │Sat- │Val+ │Val- │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
|
||||
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
* │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │ │ │
|
||||
* └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
*/
|
||||
|
||||
[_UL] = ANSI_KEYMAP(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[0] = ACTION_LAYER_MOMENTARY(_FL), // Momentary Fn overlay
|
||||
[1] = ACTION_LAYER_TOGGLE(_CM), //Toggle Colemak Layer overlay
|
||||
[2] = ACTION_LAYER_TOGGLE(_DV), // Toggle Dvorak Layer overlay
|
||||
[3] = ACTION_LAYER_TOGGLE(_AL), // Toggle Arrow Layer overlay
|
||||
[4] = ACTION_LAYER_TAP_KEY(_FL, KC_BSPC), // Tap to Backspace and hold to activate function layer
|
||||
[5] = ACTION_LAYER_TOGGLE(_UL), // Toggle Underglow Layer overlay
|
||||
|
||||
};
|
||||
|
81
keyboards/s65_x/keymaps/kelorean/readme.md
Normal file
81
keyboards/s65_x/keymaps/kelorean/readme.md
Normal file
@@ -0,0 +1,81 @@
|
||||
### 1 ANSI
|
||||
A Mac ANSI layout that assumes standard sized shifts, enter, and backspace keys, Arrow layer, FN layers and Lighting functions layer...
|
||||
I added Colemak and Dvorak layer as layer 1 & 2 under base QWERTY layer.
|
||||
|
||||
#### 1.0 Default layer
|
||||
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│DEL │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │▒▒▒▒▒│END │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│BKSPC│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│▒▒▒▒▒│PG_UP│
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│ UP │PG_DN│
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│LCTRL│L_ALT│L_GUI│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │LEFT │DOWN │RIGHT│
|
||||
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
|
||||
#### 1.1: Colemak layer
|
||||
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│DEL │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ TAB │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │█████│END │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│BKSPC│ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │▒▒▒▒▒│ENTER│█████│PG_UP│
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│ UP │PG_DN│
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│LCTRL│L_ALT│L_GUI│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │LEFT │DOWN │RIGHT│
|
||||
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
|
||||
#### 1.2: Dvorak layer
|
||||
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │▒▒▒▒▒│BKSPC│DEL │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ TAB │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │█████│END │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│BKSPC│ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │▒▒▒▒▒│ENTER│█████│PG_UP│
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│LSHFT│▒▒▒▒▒│ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │▒▒▒▒▒│RSHFT│ UP │PG_DN│
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│LCTRL│L_ALT│L_GUI│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │LEFT │DOWN │RIGHT│
|
||||
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
|
||||
#### 1.3 Arrow layer
|
||||
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│▒▒▒▒▒│ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │ │ Up │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ │ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │ │ │
|
||||
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
|
||||
#### 1.4 Fn layer
|
||||
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
│GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│▒▒▒▒▒│ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │ _AL │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │▒▒▒▒▒│ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │Left │Down │Right│ │ │Left │Down │ Up │Right│ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │▒▒▒▒▒│_UL │ │_CM │_DV │ │ │ │Home │ End │ │▒▒▒▒▒│▒▒▒▒▒│Vol+ │ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │Mute │Vol- │Play │
|
||||
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||
|
||||
#### 1.5 Underglow layer
|
||||
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│▒▒▒▒▒│ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │BL On│BL St│ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │ On │Mode │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │▒▒▒▒▒│ │Hue+ │Hue- │Sat+ │Sat- │Val+ │Val- │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
|
||||
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
|
||||
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │ │ │
|
||||
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
@@ -21,6 +21,15 @@ uint8_t get_oneshot_mods(void);
|
||||
static uint16_t last_td;
|
||||
static int8_t highest_td = -1;
|
||||
|
||||
void qk_tap_dance_pair_on_each_tap (qk_tap_dance_state_t *state, void *user_data) {
|
||||
qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
|
||||
|
||||
if (state->count == 2) {
|
||||
register_code16 (pair->kc2);
|
||||
state->finished = true;
|
||||
}
|
||||
}
|
||||
|
||||
void qk_tap_dance_pair_finished (qk_tap_dance_state_t *state, void *user_data) {
|
||||
qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
|
||||
|
||||
@@ -41,6 +50,15 @@ void qk_tap_dance_pair_reset (qk_tap_dance_state_t *state, void *user_data) {
|
||||
}
|
||||
}
|
||||
|
||||
void qk_tap_dance_dual_role_on_each_tap (qk_tap_dance_state_t *state, void *user_data) {
|
||||
qk_tap_dance_dual_role_t *pair = (qk_tap_dance_dual_role_t *)user_data;
|
||||
|
||||
if (state->count == 2) {
|
||||
layer_move (pair->layer);
|
||||
state->finished = true;
|
||||
}
|
||||
}
|
||||
|
||||
void qk_tap_dance_dual_role_finished (qk_tap_dance_state_t *state, void *user_data) {
|
||||
qk_tap_dance_dual_role_t *pair = (qk_tap_dance_dual_role_t *)user_data;
|
||||
|
||||
@@ -92,14 +110,31 @@ static inline void process_tap_dance_action_on_reset (qk_tap_dance_action_t *act
|
||||
send_keyboard_report();
|
||||
}
|
||||
|
||||
void preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) {
|
||||
qk_tap_dance_action_t *action;
|
||||
|
||||
if (!record->event.pressed)
|
||||
return;
|
||||
|
||||
if (highest_td == -1)
|
||||
return;
|
||||
|
||||
for (int i = 0; i <= highest_td; i++) {
|
||||
action = &tap_dance_actions[i];
|
||||
if (action->state.count) {
|
||||
if (keycode == action->state.keycode && keycode == last_td)
|
||||
continue;
|
||||
action->state.interrupted = true;
|
||||
process_tap_dance_action_on_dance_finished (action);
|
||||
reset_tap_dance (&action->state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool process_tap_dance(uint16_t keycode, keyrecord_t *record) {
|
||||
uint16_t idx = keycode - QK_TAP_DANCE;
|
||||
qk_tap_dance_action_t *action;
|
||||
|
||||
if (last_td && last_td != keycode) {
|
||||
(&tap_dance_actions[last_td - QK_TAP_DANCE])->state.interrupted = true;
|
||||
}
|
||||
|
||||
switch(keycode) {
|
||||
case QK_TAP_DANCE ... QK_TAP_DANCE_MAX:
|
||||
if ((int16_t)idx > highest_td)
|
||||
@@ -116,34 +151,14 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) {
|
||||
action->state.weak_mods |= get_weak_mods();
|
||||
process_tap_dance_action_on_each_tap (action);
|
||||
|
||||
if (last_td && last_td != keycode) {
|
||||
qk_tap_dance_action_t *paction = &tap_dance_actions[last_td - QK_TAP_DANCE];
|
||||
paction->state.interrupted = true;
|
||||
process_tap_dance_action_on_dance_finished (paction);
|
||||
reset_tap_dance (&paction->state);
|
||||
}
|
||||
|
||||
last_td = keycode;
|
||||
} else {
|
||||
if (action->state.count && action->state.finished) {
|
||||
reset_tap_dance (&action->state);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
if (!record->event.pressed)
|
||||
return true;
|
||||
|
||||
if (highest_td == -1)
|
||||
return true;
|
||||
|
||||
for (int i = 0; i <= highest_td; i++) {
|
||||
action = &tap_dance_actions[i];
|
||||
if (action->state.count == 0)
|
||||
continue;
|
||||
action->state.interrupted = true;
|
||||
process_tap_dance_action_on_dance_finished (action);
|
||||
reset_tap_dance (&action->state);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -156,7 +171,7 @@ void matrix_scan_tap_dance () {
|
||||
return;
|
||||
uint16_t tap_user_defined;
|
||||
|
||||
for (uint8_t i = 0; i <= highest_td; i++) {
|
||||
for (uint8_t i = 0; i <= highest_td; i++) {
|
||||
qk_tap_dance_action_t *action = &tap_dance_actions[i];
|
||||
if(action->custom_tapping_term > 0 ) {
|
||||
tap_user_defined = action->custom_tapping_term;
|
||||
|
@@ -62,12 +62,12 @@ typedef struct
|
||||
} qk_tap_dance_dual_role_t;
|
||||
|
||||
#define ACTION_TAP_DANCE_DOUBLE(kc1, kc2) { \
|
||||
.fn = { NULL, qk_tap_dance_pair_finished, qk_tap_dance_pair_reset }, \
|
||||
.fn = { qk_tap_dance_pair_on_each_tap, qk_tap_dance_pair_finished, qk_tap_dance_pair_reset }, \
|
||||
.user_data = (void *)&((qk_tap_dance_pair_t) { kc1, kc2 }), \
|
||||
}
|
||||
|
||||
#define ACTION_TAP_DANCE_DUAL_ROLE(kc, layer) { \
|
||||
.fn = { NULL, qk_tap_dance_dual_role_finished, qk_tap_dance_dual_role_reset }, \
|
||||
.fn = { qk_tap_dance_dual_role_on_each_tap, qk_tap_dance_dual_role_finished, qk_tap_dance_dual_role_reset }, \
|
||||
.user_data = (void *)&((qk_tap_dance_dual_role_t) { kc, layer }), \
|
||||
}
|
||||
|
||||
@@ -91,13 +91,16 @@ extern qk_tap_dance_action_t tap_dance_actions[];
|
||||
|
||||
/* To be used internally */
|
||||
|
||||
void preprocess_tap_dance(uint16_t keycode, keyrecord_t *record);
|
||||
bool process_tap_dance(uint16_t keycode, keyrecord_t *record);
|
||||
void matrix_scan_tap_dance (void);
|
||||
void reset_tap_dance (qk_tap_dance_state_t *state);
|
||||
|
||||
void qk_tap_dance_pair_on_each_tap (qk_tap_dance_state_t *state, void *user_data);
|
||||
void qk_tap_dance_pair_finished (qk_tap_dance_state_t *state, void *user_data);
|
||||
void qk_tap_dance_pair_reset (qk_tap_dance_state_t *state, void *user_data);
|
||||
|
||||
void qk_tap_dance_dual_role_on_each_tap (qk_tap_dance_state_t *state, void *user_data);
|
||||
void qk_tap_dance_dual_role_finished (qk_tap_dance_state_t *state, void *user_data);
|
||||
void qk_tap_dance_dual_role_reset (qk_tap_dance_state_t *state, void *user_data);
|
||||
|
||||
|
@@ -209,6 +209,10 @@ bool process_record_quantum(keyrecord_t *record) {
|
||||
// return false;
|
||||
// }
|
||||
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
preprocess_tap_dance(keycode, record);
|
||||
#endif
|
||||
|
||||
if (!(
|
||||
#if defined(KEY_LOCK_ENABLE)
|
||||
// Must run first to be able to mask key_up events.
|
||||
|
@@ -166,7 +166,7 @@ void matrix_init_user(void) {
|
||||
}
|
||||
#endif
|
||||
#ifdef AUDIO_ENABLE
|
||||
// _delay_ms(21); // gets rid of tick
|
||||
// wait_ms(21); // gets rid of tick
|
||||
// stop_all_notes();
|
||||
// PLAY_SONG(tone_hackstartup);
|
||||
#endif
|
||||
@@ -329,7 +329,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("Salt, salt, salt...");
|
||||
register_code(KC_ENTER);
|
||||
unregister_code(KC_ENTER);
|
||||
@@ -340,7 +340,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("Please sir, can I have some more salt?!");
|
||||
register_code(KC_ENTER);
|
||||
unregister_code(KC_ENTER);
|
||||
@@ -351,7 +351,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("Your salt only makes me harder, and even more aggressive!");
|
||||
register_code(KC_ENTER);
|
||||
unregister_code(KC_ENTER);
|
||||
@@ -362,7 +362,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("Good game, everyone!");
|
||||
register_code(KC_ENTER);
|
||||
unregister_code(KC_ENTER);
|
||||
@@ -373,7 +373,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("Good luck, have fun!!!");
|
||||
register_code(KC_ENTER);
|
||||
unregister_code(KC_ENTER);
|
||||
@@ -384,7 +384,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("Left click to win!");
|
||||
register_code(KC_ENTER);
|
||||
unregister_code(KC_ENTER);
|
||||
@@ -395,7 +395,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("It may be a game, but if you don't want to actually try, please go play AI, so that people that actually want to take the game seriously and \"get good\" have a place to do so without trolls like you throwing games.");
|
||||
register_code(KC_ENTER);
|
||||
unregister_code(KC_ENTER);
|
||||
@@ -406,7 +406,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("That was positively riveting!");
|
||||
register_code(KC_ENTER);
|
||||
unregister_code(KC_ENTER);
|
||||
@@ -417,9 +417,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("That aim is absolutely amazing. It's almost like you're a machine!" SS_TAP(X_ENTER));
|
||||
_delay_ms(3000);
|
||||
wait_ms(3000);
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
SEND_STRING("Wait! That aim is TOO good! You're clearly using an aim hack! CHEATER!" SS_TAP(X_ENTER));
|
||||
@@ -430,7 +430,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("OMG!!! C9!!!");
|
||||
register_code(KC_ENTER);
|
||||
unregister_code(KC_ENTER);
|
||||
@@ -441,7 +441,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!record->event.pressed) {
|
||||
register_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
unregister_code(is_overwatch ? KC_BSPC : KC_ENTER);
|
||||
_delay_ms(50);
|
||||
wait_ms(50);
|
||||
SEND_STRING("That was a fantastic game, though it was a bit easy. Try harder next time!");
|
||||
register_code(KC_ENTER);
|
||||
unregister_code(KC_ENTER);
|
||||
@@ -470,16 +470,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
":teensy"
|
||||
//#elif defined(BOOTLOADER_CATERINA)
|
||||
// ":avrdude"
|
||||
#endif
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
" RGBLIGHT_ENABLE=yes"
|
||||
#else
|
||||
" RGBLIGHT_ENABLE=no"
|
||||
#endif
|
||||
#ifdef AUDIO_ENABLE
|
||||
" AUDIO_ENABLE=yes"
|
||||
#else
|
||||
" AUDIO_ENABLE=no"
|
||||
#endif
|
||||
SS_TAP(X_ENTER));
|
||||
}
|
||||
|
@@ -26,8 +26,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define _COLEMAK 1
|
||||
#define _DVORAK 2
|
||||
#define _WORKMAN 3
|
||||
#define _NAV 5
|
||||
#define _COVECUBE 6
|
||||
#define _MODS 4
|
||||
//#define _MISC 5
|
||||
#define _NAV 6
|
||||
#define _COVECUBE 7
|
||||
#define _SYMB 8
|
||||
#define _GAMEPAD 9
|
||||
#define _DIABLO 10
|
||||
@@ -142,4 +144,61 @@ enum {
|
||||
#define AUD_OFF AU_OFF
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// Since our quirky block definitions are basically a list of comma separated
|
||||
// arguments, we need a wrapper in order for these definitions to be
|
||||
// expanded before being used as arguments to the LAYOUT_xxx macro.
|
||||
#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__)
|
||||
#define KEYMAP_wrapper(...) KEYMAP(__VA_ARGS__)
|
||||
|
||||
// Blocks for each of the four major keyboard layouts
|
||||
// Organized so we can quickly adapt and modify all of them
|
||||
// at once, rather than for each keyboard, one at a time.
|
||||
// And this allows wor much cleaner blocks in the keymaps.
|
||||
// For instance Tap/Hold for Control on all of the layouts
|
||||
|
||||
#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||
#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
|
||||
#define _________________QWERTY_L3_________________ CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B
|
||||
|
||||
#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
|
||||
#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
||||
#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH)
|
||||
|
||||
|
||||
#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G
|
||||
#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D
|
||||
#define _________________COLEMAK_L3________________ CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B
|
||||
|
||||
#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
|
||||
#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O
|
||||
#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH)
|
||||
|
||||
|
||||
#define _________________DVORAK_L1_________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
|
||||
#define _________________DVORAK_L2_________________ KC_A, KC_O, KC_E, KC_U, KC_I
|
||||
#define _________________DVORAK_L3_________________ CTL_T(KC_SCLN),KC_Q, KC_J, KC_K, KC_X
|
||||
|
||||
#define _________________DVORAK_R1_________________ KC_F, KC_G, KC_C, KC_R, KC_L
|
||||
#define _________________DVORAK_R2_________________ KC_D, KC_H, KC_T, KC_N, KC_S
|
||||
#define _________________DVORAK_R3_________________ KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z)
|
||||
|
||||
|
||||
#define _________________WORKMAN_L1________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
|
||||
#define _________________WORKMAN_L2________________ KC_A, KC_O, KC_E, KC_U, KC_I
|
||||
#define _________________WORKMAN_L3________________ CTL_T(KC_SCLN),KC_Q, KC_J, KC_K, KC_X
|
||||
|
||||
#define _________________WORKMAN_R1________________ KC_F, KC_G, KC_C, KC_R, KC_L
|
||||
#define _________________WORKMAN_R2________________ KC_D, KC_H, KC_T, KC_N, KC_S
|
||||
#define _________________WORKMAN_R3________________ KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z)
|
||||
|
||||
|
||||
|
||||
// Since we have 4 default layouts (QWERTY, DVORAK, COLEMAK and WORKMAN),
|
||||
// this allows us to quickly modify the bottom row for all of the layouts
|
||||
// so we don't have to alter it 4 times and hope that we haven't missed
|
||||
// anything
|
||||
#define ___________ERGODOX_BOTTOM_LEFT_____________ KC_QUOT, KC_LGUI, KC_LBRC, KC_RBRC
|
||||
#define ___________ERGODOX_BOTTOM_RIGHT____________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
#endif
|
||||
|
@@ -20,6 +20,22 @@ This allows for keyboard specific configuration while maintaining the ability to
|
||||
My [Ergodox EZ Keymap](https://github.com/qmk/qmk_firmware/blob/master/keyboards/ergodox_ez/keymaps/drashna/keymap.c#L399) is a good example of this, as it uses the LEDs as modifier indicators.
|
||||
|
||||
|
||||
Keyboard Layout Templates
|
||||
-------------------------
|
||||
|
||||
This borrows from @jola5's "Not quite neo" code. This allows me to maintain blocks of keymaps in the userspace, so that I can modify the userspace, and this is reflected in all of the keyboards that use it, at once.
|
||||
|
||||
This makes adding tap/hold mods, or other special keycodes or functions to all keyboards super easy, as it's done to all of them at once.
|
||||
|
||||
The caveat here is that the keymap needs a processor/wrapper, as it doesn't like the substitutions. However, this is as simple as just pushing it through a define. For instance:
|
||||
|
||||
`#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__)`
|
||||
|
||||
Once that's been done and you've switched the keymaps to use the "wrapper", it will read the substitution blocks just fine.
|
||||
|
||||
Credit goes to @jola5 for first implementing this awesome idea.
|
||||
|
||||
|
||||
Custom Keycodes
|
||||
---------------
|
||||
|
||||
|
185
users/losinggeneration/README.md
Normal file
185
users/losinggeneration/README.md
Normal file
@@ -0,0 +1,185 @@
|
||||
losinggeneration's ortholinear layout
|
||||
============================
|
||||
|
||||
### Features
|
||||
|
||||
- Main layer(s)
|
||||
- The left space bar key has been changed to delete to have backspace
|
||||
& delete on the same main layer.
|
||||
- Adujst is a tap dance with one tap goes to the Adjust layer, second tap
|
||||
goes to the Numpad layer, a third tap goes to the Mouse layer. More taps
|
||||
are an error and disables tapping until you stop and try again.
|
||||
- Ctrl when tapped once & Ctrl+Alt when tapped twice
|
||||
- Left Alt when tapped once & Right Alt when tapped twice.
|
||||
- Left GUI when tapped once & right GUI when tapped twice. This is
|
||||
because I have a compose key on the right GUI key.
|
||||
- Left shift is a one shot modifier.
|
||||
- Enter when tapped Shift when held.
|
||||
- Esc when tapped Ctrl when held.
|
||||
- Lower & Raise
|
||||
- Removed ISO ~, ISO |, ISO #, ISO /, Media Next, & Media Play
|
||||
- Added PgUp, PgDn, Home, & End under the home row
|
||||
- Added Mute next to Vol-
|
||||
- New layers: Workman, Game, Numpad, & Mouse
|
||||
|
||||
## Layouts
|
||||
These include the 5x12 layout since it's nearly identical to the 4x12 layout.
|
||||
The only difference is the top row is removed for the 4x12 layout.
|
||||
|
||||
The Adjust layer keyboard specific, so it's described with the specific
|
||||
keyboard.
|
||||
|
||||
### Qwerty
|
||||
|
||||
```
|
||||
,-----------------------------------------..-----------------------------------------.
|
||||
| ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Tab | Q | W | E | R | T || Y | U | I | O | P | Bksp |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Esc | A | S | D | F | G || H | J | K | L | ; | " |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Shift| Z | X | C | V | B || N | M | , | . | / |Enter |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
|Adjust| Ctrl | Alt | GUI |Lower | Bksp ||Space |Raise | Left | Down | Up |Right |
|
||||
`-----------------------------------------'`-----------------------------------------'
|
||||
```
|
||||
|
||||
### Colemak
|
||||
|
||||
```
|
||||
,-----------------------------------------.,-----------------------------------------.
|
||||
| ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Tab | Q | W | F | P | G || J | L | U | Y | ; | Bksp |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Esc | A | R | S | T | D || H | N | E | I | O | " |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Shift| Z | X | C | V | B || K | M | , | . | / |Enter |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
|Adjust| Ctrl | Alt | GUI |Lower | Bksp ||Space |Raise | Left | Down | Up |Right |
|
||||
`-----------------------------------------'`-----------------------------------------'
|
||||
```
|
||||
|
||||
### Workman
|
||||
|
||||
```
|
||||
,-----------------------------------------..-----------------------------------------.
|
||||
| ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Tab | Q | D | R | W | B || J | F | U | P | ; | Bksp |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Esc | A | S | H | T | G || Y | N | E | O | I | " |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Shift| Z | X | M | C | V || K | L | , | . | / |Enter |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
|Adjust| Ctrl | Alt | GUI |Lower | Bksp ||Space |Raise | Left | Down | Up |Right |
|
||||
`-----------------------------------------'`-----------------------------------------'
|
||||
```
|
||||
|
||||
### Dvorak
|
||||
|
||||
```
|
||||
,-----------------------------------------..-----------------------------------------.
|
||||
| ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Tab | " | , | . | P | Y || F | G | C | R | L | Bksp |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Esc | A | O | E | U | I || D | H | T | N | S | / |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Shift| ; | Q | J | K | X || B | M | W | V | Z |Enter |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
|Adjust| Ctrl | Alt | GUI |Lower | Bksp ||Space |Raise | Left | Down | Up |Right |
|
||||
`-----------------------------------------'`-----------------------------------------'
|
||||
```
|
||||
|
||||
### Game (Qwerty without one shot modifiers & tap dancing)
|
||||
|
||||
```
|
||||
,-----------------------------------------..-----------------------------------------.
|
||||
| ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Tab | Q | W | E | R | T || Y | U | I | O | P | Bksp |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Esc | A | S | D | F | G || H | J | K | L | ; | " |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Shift| Z | X | C | V | B || N | M | , | . | / |Enter |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
|Adjust| Ctrl | Alt | GUI |Lower |Space ||Space |Raise | Left | Down | Up |Right |
|
||||
`-----------------------------------------'`-----------------------------------------'
|
||||
```
|
||||
|
||||
### Number pad
|
||||
|
||||
```
|
||||
,-----------------------------------------..-----------------------------------------.
|
||||
| XXX | XXX | XXX | XXX | XXX | XXX || XXX | NLCK | * | / | BKSP | BKSP |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Tab | XXX | XXX | XXX | XXX | XXX || NLCK | 7 | 8 | 9 | - | BKSP |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Esc | XXX | XXX | XXX | XXX | XXX || * | 4 | 5 | 6 | + | BKSP |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
|Shift | XXX | XXX | XXX | XXX | XXX || / | 1 | 2 | 3 | ENT | XXX |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
|Adjust| Ctrl | Alt | GUI | XXX |Space ||Space | 0 | 0 | . | ENT | XXX |
|
||||
`-----------------------------------------''-----------------------------------------'
|
||||
```
|
||||
|
||||
### Mouse movement
|
||||
|
||||
* M is short for Mouse
|
||||
* MW is short for Mouse Wheel
|
||||
* MB is short for Mouse Button
|
||||
* MA is short for Mouse Acceleration
|
||||
|
||||
|
||||
* MB\_1 is the left click
|
||||
* MB\_2 is the right click
|
||||
* MB\_3 is the middle click
|
||||
|
||||
```
|
||||
,-----------------------------------------..-----------------------------------------.
|
||||
| XXX | XXX | XXX | XXX | XXX | XXX || XXX | XXX | XXX | XXX | XXX | XXX |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Tab | MB_1 | MB_3 | MB_2 | MB_4 | MB_5 || MA_0 | MB_1 | MB_3 | MB_2 | MB_4 | MB_5 |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Esc | MW_L | MW_U | MW_D | MW_R | XXX || MA_1 | M_LT | M_UP | M_DN | M_RT | XXX |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
|Shift | MA_0 | MA_1 | MA_2 | XXX | XXX || MA_2 | MW_L | MW_U | MW_D | MW_R | XXX |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
|Adjust| Ctrl | Alt | GUI | XXX |Space || XXX | XXX | XXX | XXX | XXX | XXX |
|
||||
`-----------------------------------------''-----------------------------------------'
|
||||
```
|
||||
|
||||
### Lower
|
||||
|
||||
```
|
||||
,-----------------------------------------..-----------------------------------------.
|
||||
| ~ | ! | @ | # | $ | % || ^ | & | * | ( | ) | Del |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| ~ | ! | @ | # | $ | % || ^ | & | * | ( | ) | Bksp |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Del | F1 | F2 | F3 | F4 | F5 || F6 | _ | + | | \ | | |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| | F7 | F8 | F9 | F10 | F11 || F12 | PgUp | PgDn | Home | End | ⏹ |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| | | | | | || | | Mute | Vol- | Vol+ | ⏯ |
|
||||
`-----------------------------------------'`-----------------------------------------'
|
||||
```
|
||||
|
||||
### Raise
|
||||
|
||||
```
|
||||
,-----------------------------------------..-----------------------------------------.
|
||||
| ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Del |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| Del | F1 | F2 | F3 | F4 | F5 || F6 | - | = | [ | ] | \ |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| | F7 | F8 | F9 | F10 | F11 || F12 | PgUp | PgDn | Home | End | ⏹ |
|
||||
|------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
| | | | | | || | | Mute | Vol- | Vol+ | ⏯ |
|
||||
`-----------------------------------------''-----------------------------------------'
|
||||
```
|
||||
|
74
users/losinggeneration/losinggeneration-common.h
Normal file
74
users/losinggeneration/losinggeneration-common.h
Normal file
@@ -0,0 +1,74 @@
|
||||
#ifndef LOSINGGENERATION_COMMON_H
|
||||
#define LOSINGGENERATION_COMMON_H
|
||||
|
||||
/* Custom keys & combinations to be shorter for keymaps */
|
||||
#define KC_LCA LCA(KC_NO)
|
||||
/* Fillers to make layering more clear */
|
||||
#define _______ KC_TRNS
|
||||
#define XXXXXXX KC_NO
|
||||
|
||||
#define OSM_LSFT OSM(MOD_LSFT)
|
||||
#define TD_CTL TD(TD_CTL_CTLALT)
|
||||
#define TD_GUI TD(TD_LGUI_RGUI)
|
||||
#define TD_ALT TD(TD_LALT_RALT)
|
||||
#define MT_ENT SFT_T(KC_ENT)
|
||||
#define MT_ESC CTL_T(KC_ESC)
|
||||
|
||||
/* Custom layer movements for keymaps */
|
||||
#define TD_ADJ TD(TD_ADJUST)
|
||||
#define TO_GAME TO(_GAME)
|
||||
#define TO_MS TO(_MOUSE)
|
||||
#define TO_NUM TO(_NUMPAD)
|
||||
#define MO_ADJ MO(_ADJUST)
|
||||
|
||||
/* Mouse keys */
|
||||
#define MS_BTN1 KC_MS_BTN1
|
||||
#define MS_BTN2 KC_MS_BTN2
|
||||
#define MS_BTN3 KC_MS_BTN3
|
||||
#define MS_BTN4 KC_MS_BTN4
|
||||
#define MS_BTN5 KC_MS_BTN5
|
||||
#define MS_LEFT KC_MS_LEFT
|
||||
#define MS_DOWN KC_MS_DOWN
|
||||
#define MS_UP KC_MS_UP
|
||||
#define MS_RGHT KC_MS_RIGHT
|
||||
#define MW_LEFT KC_MS_WH_LEFT
|
||||
#define MW_DOWN KC_MS_WH_DOWN
|
||||
#define MW_UP KC_MS_WH_UP
|
||||
#define MW_RGHT KC_MS_WH_RIGHT
|
||||
#define MS_ACL0 KC_MS_ACCEL0
|
||||
#define MS_ACL1 KC_MS_ACCEL1
|
||||
#define MS_ACL2 KC_MS_ACCEL2
|
||||
|
||||
/*
|
||||
* This will expand values sent to it to send to the KEYMAP macro so defines
|
||||
* can be used by KEYMAP
|
||||
*/
|
||||
#define CATMAP(...) KEYMAP(__VA_ARGS__)
|
||||
|
||||
/*
|
||||
Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
entirely and just use numbers.
|
||||
*/
|
||||
#define _QWERTY 0
|
||||
#define _COLEMAK 1
|
||||
#define _WORKMAN 2
|
||||
#define _DVORAK 3
|
||||
#define _GAME 4
|
||||
#define _NUMPAD 5
|
||||
#define _MOUSE 6
|
||||
#define _LOWER 14
|
||||
#define _RAISE 15
|
||||
#define _ADJUST 16
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
WORKMAN,
|
||||
DVORAK,
|
||||
LOWER,
|
||||
RAISE,
|
||||
};
|
||||
|
||||
#endif
|
29
users/losinggeneration/losinggeneration-config.h
Normal file
29
users/losinggeneration/losinggeneration-config.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
Copyright 2017 Danny Nguyen <danny@hexwire.com>
|
||||
Copyright 2018 Harley Laue <losinggeneration@gmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
long with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef LOSINGGENERATION_CONFIG_H
|
||||
#define LOSINGGENERATION_CONFIG_H
|
||||
|
||||
#define MOUSEKEY_DELAY 100
|
||||
#define MOUSEKEY_INTERVAL 20
|
||||
#define MOUSEKEY_MAX_SPEED 10
|
||||
#define MOUSEKEY_TIME_TO_MAX 20
|
||||
#define MOUSEKEY_WHEEL_MAX_SPEED 8
|
||||
#define MOUSEKEY_WHEEL_TIME_TO_MAX 20
|
||||
|
||||
#endif
|
352
users/losinggeneration/losinggeneration-keymap.h
Normal file
352
users/losinggeneration/losinggeneration-keymap.h
Normal file
@@ -0,0 +1,352 @@
|
||||
#ifndef LOSINGGENERATION_KEYMAP_H
|
||||
#define LOSINGGENERATION_KEYMAP_H
|
||||
|
||||
#include "action_layer.h"
|
||||
#include "eeconfig.h"
|
||||
#include "losinggeneration-common.h"
|
||||
|
||||
/* Tap dance keycodes */
|
||||
enum tap_dance_keycodes {
|
||||
TD_CTL_CTLALT = 0,
|
||||
TD_LGUI_RGUI,
|
||||
TD_LALT_RALT,
|
||||
TD_ADJUST,
|
||||
};
|
||||
|
||||
/*
|
||||
Used to indicate a CTRL should be pressed on one press, or CTRL+ALT on
|
||||
a double tap
|
||||
*/
|
||||
void dance_ctl_ctlalt_each(qk_tap_dance_state_t *state, void *user_data) {
|
||||
register_code(KC_LCTL);
|
||||
if(state->count > 1) {
|
||||
register_code(KC_LALT);
|
||||
}
|
||||
}
|
||||
|
||||
/* Used to release CTRL or the double tapped variant CTRL+ALT */
|
||||
void dance_ctl_ctlalt_reset(qk_tap_dance_state_t *state, void *user_data) {
|
||||
unregister_code(KC_LCTL);
|
||||
if(state->count > 1) {
|
||||
unregister_code(KC_LALT);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Set ADJUST layer on the first press and off after that.
|
||||
Each is used to make sure ADJUST activates as soon as it's pressed the first
|
||||
time.
|
||||
*/
|
||||
void dance_adj_each(qk_tap_dance_state_t *state, void *user_data) {
|
||||
if(state->count == 1) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
}
|
||||
|
||||
/* Set NUMPAD layer on second tap and MOUSE layer on 3rd */
|
||||
void dance_adj_finish(qk_tap_dance_state_t *state, void *user_data) {
|
||||
switch(state->count) {
|
||||
case 1: break;
|
||||
case 2:
|
||||
layer_on(_NUMPAD);
|
||||
break;
|
||||
case 3:
|
||||
layer_on(_MOUSE);
|
||||
break;
|
||||
default:
|
||||
reset_tap_dance(state);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Turn off any layer that may have been tapped on */
|
||||
void dance_adj_reset(qk_tap_dance_state_t *state, void *user_data) {
|
||||
switch(state->count) {
|
||||
case 1:
|
||||
layer_off(_ADJUST);
|
||||
break;
|
||||
case 2:
|
||||
layer_off(_NUMPAD);
|
||||
break;
|
||||
case 3:
|
||||
layer_off(_MOUSE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_CTL_CTLALT] = ACTION_TAP_DANCE_FN_ADVANCED(dance_ctl_ctlalt_each, NULL, dance_ctl_ctlalt_reset),
|
||||
[TD_LGUI_RGUI] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, KC_RGUI),
|
||||
[TD_LALT_RALT] = ACTION_TAP_DANCE_DOUBLE(KC_LALT, KC_RALT),
|
||||
[TD_ADJUST] = ACTION_TAP_DANCE_FN_ADVANCED(dance_adj_each, dance_adj_finish, dance_adj_reset),
|
||||
};
|
||||
|
||||
/*
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower | Del ||Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
#define BOTTOM_40_ROW \
|
||||
TD_ADJ ,TD_CTL , TD_ALT , TD_GUI , LOWER , KC_DEL , KC_SPC , RAISE , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
|
||||
|
||||
/*
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | | F7 | F8 | F9 | F10 | F11 || F12 | PgUp | PgDn | Home | End | ⏹ |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | | | | | | || | | Mute | Vol- | Vol+ | ⏯ |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
#define BOTTOM_RAISE_LOWER_ROWS \
|
||||
_______, KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PGUP, KC_PGDN, KC_HOME, KC_END , KC_MSTP, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
|
||||
/*
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | Tab | || | Bksp |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
#define STD_TAB_ROW(...) KC_TAB, __VA_ARGS__, KC_BSPC
|
||||
|
||||
/*
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | Esc | || |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
|
||||
#define STD_ESC_ROW(...) KC_ESC, __VA_ARGS__
|
||||
|
||||
/*
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | Shift| || |Enter |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
#define STD_LSFT_ROW(...) OSM_LSFT, __VA_ARGS__, MT_ENT
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | Tab | Q | W | E | R | T || Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G || H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B || N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower | Del ||Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
#define QWERTY_LAYER \
|
||||
STD_TAB_ROW( KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ), \
|
||||
STD_ESC_ROW( KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT), \
|
||||
STD_LSFT_ROW(KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH), \
|
||||
BOTTOM_40_ROW
|
||||
|
||||
/* Colemak
|
||||
* ,-----------------------------------------.,-----------------------------------------.
|
||||
* | Tab | Q | W | F | P | G || J | L | U | Y | ; | Bksp |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Esc | A | R | S | T | D || H | N | E | I | O | " |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B || K | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower | Del ||Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
#define COLEMAK_LAYER \
|
||||
STD_TAB_ROW( KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN), \
|
||||
STD_ESC_ROW( KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT), \
|
||||
STD_LSFT_ROW(KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH), \
|
||||
BOTTOM_40_ROW
|
||||
|
||||
/* Workman
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | Tab | Q | D | R | W | B || J | F | U | P | ; | Bksp |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Esc | A | S | H | T | G || Y | N | E | O | I | " |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Shift| Z | X | M | C | V || K | L | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower | Del ||Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
#define WORKMAN_LAYER \
|
||||
STD_TAB_ROW( KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN), \
|
||||
STD_ESC_ROW( KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , KC_QUOT), \
|
||||
STD_LSFT_ROW(KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH), \
|
||||
BOTTOM_40_ROW
|
||||
|
||||
/* Dvorak
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | Tab | " | , | . | P | Y || F | G | C | R | L | Bksp |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Esc | A | O | E | U | I || D | H | T | N | S | / |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Shift| ; | Q | J | K | X || B | M | W | V | Z |Enter |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower | Del ||Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
#define DVORAK_LAYER \
|
||||
STD_TAB_ROW( KC_QUOT, KC_COMM, KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L), \
|
||||
STD_ESC_ROW( KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_SLSH), \
|
||||
STD_LSFT_ROW(KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z), \
|
||||
BOTTOM_40_ROW
|
||||
|
||||
/* Game (Qwerty without one shot modifiers & tap dancing)
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | Tab | Q | W | E | R | T || Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G || H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B || N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower |Space ||Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
#define GAME_LAYER \
|
||||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC, \
|
||||
KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, \
|
||||
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_ENT , \
|
||||
MO_ADJ , KC_LCTL, KC_LALT, KC_LGUI, LOWER , KC_SPC , KC_SPC , RAISE , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT
|
||||
|
||||
/* Number pad
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | Tab | XXX | XXX | XXX | XXX | XXX || NLCK | 7 | 8 | 9 | - | BKSP |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Esc | XXX | XXX | XXX | XXX | XXX || * | 4 | 5 | 6 | + | BKSP |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* |Shift | XXX | XXX | XXX | XXX | XXX || / | 1 | 2 | 3 | ENT | XXX |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI | XXX |Space ||Space | 0 | 0 | . | ENT | XXX |
|
||||
* `-----------------------------------------''-----------------------------------------'
|
||||
*/
|
||||
#define NUMPAD_LAYER \
|
||||
KC_TAB , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_P7 , KC_P8 , KC_P9 , KC_PMNS, KC_BSPC, \
|
||||
KC_ESC , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_P4 , KC_P5 , KC_P6 , KC_PPLS, KC_BSPC, \
|
||||
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_P1 , KC_P2 , KC_P3 , KC_PENT, XXXXXXX, \
|
||||
TD_ADJ , TD_CTL , TD_ALT , TD_GUI , XXXXXXX, KC_SPC , KC_SPC , KC_P0 , KC_P0 , KC_PDOT, KC_PENT, XXXXXXX
|
||||
|
||||
/* Mouse movement
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | Tab | MB_1 | MB_3 | MB_2 | MB_4 | MB_5 || MA_0 | MB_1 | MB_3 | MB_2 | MB_4 | MB_5 |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Esc | MW_L | MW_U | MW_D | MW_R | XXX || MA_1 | M_LT | M_UP | M_DN | M_RT | XXX |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* |Shift | MA_0 | MA_1 | MA_2 | XXX | XXX || MA_2 | MW_L | MW_U | MW_D | MW_R | XXX |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI | XXX |Space || XXX | XXX | XXX | XXX | XXX | XXX |
|
||||
* `-----------------------------------------''-----------------------------------------'
|
||||
*/
|
||||
#define MOUSE_LAYER \
|
||||
KC_TAB , MS_BTN1, MS_BTN3, MS_BTN2, MS_BTN4, MS_BTN5, MS_ACL0, MS_BTN1, MS_BTN3, MS_BTN2, MS_BTN4, MS_BTN5, \
|
||||
KC_ESC , MW_LEFT, MW_DOWN, MW_UP , MW_RGHT, XXXXXXX, MS_ACL1, MS_LEFT, MS_DOWN, MS_UP , MS_RGHT, XXXXXXX, \
|
||||
KC_LSFT, MS_ACL0, MS_ACL1, MS_ACL2, XXXXXXX, XXXXXXX, MS_ACL2, MW_LEFT, MW_DOWN, MW_UP , MW_RGHT, XXXXXXX, \
|
||||
TD_ADJ , TD_CTL , TD_ALT , TD_GUI , XXXXXXX, KC_SPC , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % || ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 || F6 | _ | + | | \ | | |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 || F12 | PgUp | PgDn | Home | End | ⏹ |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | | | | | | || | | Mute | Vol- | Vol+ | ⏯ |
|
||||
* `-----------------------------------------'`-----------------------------------------'
|
||||
*/
|
||||
#define LOWER_LAYER \
|
||||
KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
|
||||
KC_DEL , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
|
||||
BOTTOM_RAISE_LOWER_ROWS
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------..-----------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 || F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 || F12 | PgUp | PgDn | Home | End | ⏹ |
|
||||
* |------+------+------+------+------+------||------+------+------+------+------+------|
|
||||
* | | | | | | || | | Mute | Vol- | Vol+ | ⏯ |
|
||||
* `-----------------------------------------''-----------------------------------------'
|
||||
*/
|
||||
#define RAISE_LAYER \
|
||||
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC, \
|
||||
KC_DEL , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
BOTTOM_RAISE_LOWER_ROWS
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
float tone_qwerty[][2] = SONG(QWERTY_SOUND);
|
||||
float tone_dvorak[][2] = SONG(DVORAK_SOUND);
|
||||
float tone_colemak[][2] = SONG(COLEMAK_SOUND);
|
||||
float tone_workman[][2] = SONG(PLOVER_SOUND);
|
||||
#else
|
||||
float tone_qwerty;
|
||||
float tone_dvorak;
|
||||
float tone_colemak;
|
||||
float tone_workman;
|
||||
#define PLAY_SONG(tone)
|
||||
#endif
|
||||
|
||||
void persistent_default_layer_set(uint16_t default_layer) {
|
||||
layer_state_set(default_layer);
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
PLAY_SONG(tone_qwerty);
|
||||
persistent_default_layer_set(1UL<<_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
PLAY_SONG(tone_colemak);
|
||||
persistent_default_layer_set(1UL<<_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case WORKMAN:
|
||||
if (record->event.pressed) {
|
||||
PLAY_SONG(tone_workman);
|
||||
persistent_default_layer_set(1UL<<_WORKMAN);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
PLAY_SONG(tone_dvorak);
|
||||
persistent_default_layer_set(1UL<<_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
16
users/losinggeneration/rules.mk
Normal file
16
users/losinggeneration/rules.mk
Normal file
@@ -0,0 +1,16 @@
|
||||
# Build Options
|
||||
# Only enable things here that are generic to all keyboards. A yes or no here
|
||||
# will override keyboard/keymap specific values
|
||||
#
|
||||
#BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
#COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
#CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
#NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
TAP_DANCE_ENABLE = yes # Enable tap dancing
|
||||
#UNICODE_ENABLE = no # Unicode
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../../Makefile
|
||||
endif
|
Reference in New Issue
Block a user