Merge pull request #534 from willwm/teckinesis
Teckinesis for ErgoDox EZ
This commit is contained in:
commit
4885225159
|
@ -26,3 +26,4 @@ CMakeLists.txt
|
|||
.project
|
||||
.settings/
|
||||
.idea
|
||||
.browse.VC.db*
|
|
@ -0,0 +1,455 @@
|
|||
#include "ergodox_ez.h"
|
||||
#include "led.h"
|
||||
#include "debug.h"
|
||||
#include "action_layer.h"
|
||||
#include "action_util.h"
|
||||
#include "mousekey.h"
|
||||
|
||||
#define BASE 0 // default layer
|
||||
#define SYMB 1 // symbols layer
|
||||
#define MDIA 2 // media layer
|
||||
#define SPEC 3 // special layer
|
||||
|
||||
#define LCaps 10 // left caps-shift key
|
||||
#define LSymb 11 // left symbol-shift key
|
||||
#define LMdia 12 // left media-shift key
|
||||
#define LSpec 13 // left special-shift key
|
||||
#define RCaps 14 // right caps-shift key
|
||||
#define RSymb 15 // right symbol-shift key
|
||||
#define RMdia 16 // right media-shift key
|
||||
#define RSpec 17 // right special-shift key
|
||||
|
||||
#define MUL 20 // mouse up left
|
||||
#define MUR 21 // mouse up right
|
||||
#define MDL 22 // mouse down left
|
||||
#define MDR 23 // mouse down right
|
||||
|
||||
/*
|
||||
* teckinesis layout for ErgoDox (EZ)
|
||||
*
|
||||
* Modifications from The Ordinary Layout v4 by Will Wolff-Myren willwm@gmail.com
|
||||
* Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
|
||||
*
|
||||
* No rights reserved. This software is in the public domain.
|
||||
* Credit me if you are friendly but if you're a jerk don't bother.
|
||||
*
|
||||
* Details: readme.md
|
||||
* https://github.com/willwm/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/teckinesis
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/******* Base Layer ********************************************************************************************************
|
||||
*
|
||||
* ,------------------------------------------------------. ,------------------------------------------------------.
|
||||
* | Special =+ | 1 | 2 | 3 | 4 | 5 | ESC | | ` | 6 | 7 | 8 | 9 | 0 | -_ Special |
|
||||
* |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------|
|
||||
* | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media |
|
||||
* |------------+------+------+------+------+------| | | |------+------+------+------+------+------------|
|
||||
* | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | '" Symbol |
|
||||
* |------------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+------------|
|
||||
* | Capitals | Z | X | C | V | B | -Tab | | | N | M | , | . | / | Capitals |
|
||||
* `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------'
|
||||
* | LCtrl |Meh/\ |Hypr//| LAlt | LGui | | RGui | RAlt |Hypr/[|Meh/] | RCtrl |
|
||||
* `-----------------------------------' `-----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Home | End | | Left | Right|
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | PgUp | | Up | | |
|
||||
* |Backsp| Del |------| |------| Enter| Space|
|
||||
* | | | PgDn | | Down | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[BASE] = KEYMAP(
|
||||
// left hand
|
||||
F(LSpec),KC_1,KC_2,KC_3 ,KC_4 ,KC_5 ,KC_ESC
|
||||
,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
|
||||
,M(LSymb) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G
|
||||
,M(LCaps) ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB)
|
||||
,KC_LCTL,MEH_T(KC_BSLS),ALL_T(KC_SLSH),KC_LALT,KC_LGUI
|
||||
,KC_HOME,KC_END
|
||||
,KC_PGUP
|
||||
,KC_BSPC,KC_DEL ,KC_PGDN
|
||||
// right hand
|
||||
,KC_GRV ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RSpec)
|
||||
,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia)
|
||||
,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,F(RSymb)
|
||||
,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,M(RCaps)
|
||||
,KC_RGUI,KC_RALT,ALL_T(KC_LBRC),MEH_T(KC_RBRC),KC_RCTL
|
||||
,KC_LEFT ,KC_RGHT
|
||||
,KC_UP
|
||||
,KC_DOWN ,KC_ENT ,KC_SPC
|
||||
),
|
||||
|
||||
/******* Symbols Layer *****************************************************************************************************
|
||||
*
|
||||
* ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | Esc | | - | F6 | F7 | F8 | F9 | F10 | |
|
||||
* |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
|
||||
* | | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | |
|
||||
* |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
|
||||
* | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | |
|
||||
* |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------|
|
||||
* | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | |
|
||||
* `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
|
||||
* | LCtrl | Meh |Hyper | LAlt | LGui | |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent|
|
||||
* `-----------------------------------' `-------------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Left | Right| | Home | End |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | Up | | PgUp | | |
|
||||
* |Space |Enter |------| |------|BackSp| Del |
|
||||
* | | | Down | | PgDn | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[SYMB] = KEYMAP(
|
||||
// left hand
|
||||
KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC
|
||||
,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
|
||||
,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
|
||||
,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
|
||||
,KC_LCTL ,KC_MEH ,KC_HYPR ,KC_LALT ,KC_LGUI
|
||||
,KC_LEFT ,KC_RGHT
|
||||
,KC_UP
|
||||
,KC_SPC ,KC_ENT ,KC_DOWN
|
||||
// right hand
|
||||
,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS
|
||||
,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS
|
||||
,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS
|
||||
,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS
|
||||
,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
|
||||
,KC_HOME ,KC_END
|
||||
,KC_PGUP
|
||||
,KC_PGDN ,KC_BSPC ,KC_DEL
|
||||
),
|
||||
|
||||
/******* Media Layer *******************************************************************************************************
|
||||
*
|
||||
* ,---------------------------------------------------------------. ,---------------------------------------------------------------.
|
||||
* | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | |
|
||||
* |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------|
|
||||
* | | |MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | | |
|
||||
* |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------|
|
||||
* | | |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | | |
|
||||
* |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------|
|
||||
* | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | |
|
||||
* `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------'
|
||||
* |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl|
|
||||
* `---------------------------------------------' `---------------------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Stop |Refrsh| | Prev | Next |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* |Brwser|Brwser|Search| |VolUp | | |
|
||||
* |Back | Fwd |------| |------| Stop | Play-|
|
||||
* | | | Home | |VolDn | | Pause|
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[MDIA] = KEYMAP(
|
||||
// left hand
|
||||
KC_TRNS ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_ESC
|
||||
,KC_TRNS ,KC_NO ,M(MUL) ,KC_MS_U ,M(MUR) ,KC_VOLU ,KC_WH_U
|
||||
,KC_TRNS ,KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD
|
||||
,KC_TRNS ,KC_NO ,M(MDL) ,KC_MS_D ,M(MDR) ,KC_MUTE ,KC_WH_D
|
||||
,KC_LCTL ,KC_MEH ,KC_BTN3 ,KC_BTN1 ,KC_BTN2
|
||||
,KC_WSTP ,KC_WREF
|
||||
,KC_WSCH
|
||||
,KC_WBAK ,KC_NO ,KC_WHOM
|
||||
// right hand
|
||||
,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_TRNS
|
||||
,KC_WH_U ,KC_PSCR ,KC_HOME ,KC_UP ,KC_PGUP ,KC_NO ,KC_TRNS
|
||||
,KC_NLCK ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_NO ,KC_TRNS
|
||||
,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_TRNS
|
||||
,GUI_T(KC_INS),ALT_T(KC_DEL),KC_HYPR ,KC_MEH ,KC_RCTL
|
||||
,KC_MPRV ,KC_MNXT
|
||||
,KC_VOLU
|
||||
,KC_VOLD ,KC_MSTP ,KC_MPLY
|
||||
),
|
||||
|
||||
/******* Special Layer *****************************************************************************************************
|
||||
*
|
||||
* ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
* | | Esc | | | | | | | | | | | | Bspc | |
|
||||
* |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
|
||||
* | | | | | | |------| |------| | | | | | |
|
||||
* |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
|
||||
* | | | | | | | | | | | | | | | RShift |
|
||||
* `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[SPEC] = KEYMAP(
|
||||
// left hand
|
||||
KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS
|
||||
,KC_TRNS,KC_TRNS ,KC_TRNS
|
||||
// right hand
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_RSFT
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
|
||||
,KC_TRNS ,KC_TRNS
|
||||
,KC_TRNS
|
||||
,KC_TRNS ,KC_TRNS ,KC_TRNS
|
||||
)
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
// the faux shift keys are implemented as macro taps
|
||||
[LCaps] = ACTION_MACRO_TAP(LCaps)
|
||||
,[LSymb] = ACTION_MACRO_TAP(LSymb)
|
||||
,[LMdia] = ACTION_MACRO_TAP(LMdia)
|
||||
,[LSpec] = ACTION_MACRO_TAP(LSpec)
|
||||
,[RCaps] = ACTION_MACRO_TAP(RCaps)
|
||||
,[RSymb] = ACTION_MACRO_TAP(RSymb)
|
||||
,[RMdia] = ACTION_MACRO_TAP(RMdia)
|
||||
,[RSpec] = ACTION_MACRO_TAP(RSpec)
|
||||
};
|
||||
|
||||
uint16_t caps_shift = 0;
|
||||
uint16_t symb_shift = 0;
|
||||
uint16_t mdia_shift = 0;
|
||||
|
||||
bool symb_lock = false;
|
||||
bool mdia_lock = false;
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
switch(id) {
|
||||
// There are two shift keys for each layer so we increment a layer_shift var when one
|
||||
// is pressed and decrement when one is released. If both are pressed at the same time
|
||||
// then the layer is locked (or unlocked). The shift counts are bound between 0 and 2
|
||||
// only because sometimes rapid pressing led to irregular events; this way the states
|
||||
// are self healing during use.
|
||||
|
||||
case LCaps: // both caps-shift keys trigger Left Shift
|
||||
case RCaps: // so they don't interfere with the magic combo
|
||||
if (record->event.pressed && !record->tap.count) {
|
||||
if(++caps_shift > 2) caps_shift = 2;
|
||||
if(caps_shift == 2) {
|
||||
register_code(KC_CAPS);
|
||||
unregister_code(KC_CAPS);
|
||||
} else if(caps_shift == 1) {
|
||||
register_code(KC_LSFT);
|
||||
}
|
||||
} else {
|
||||
if(--caps_shift < 0) caps_shift = 0;
|
||||
if(caps_shift == 0) unregister_code(KC_LSFT);
|
||||
}
|
||||
break;
|
||||
|
||||
case LSymb:
|
||||
if (record->event.pressed) {
|
||||
if(++symb_shift > 2) symb_shift = 2;
|
||||
if(symb_shift == 2) {
|
||||
symb_lock = !symb_lock;
|
||||
} else if(symb_shift == 1) {
|
||||
layer_on(SYMB);
|
||||
}
|
||||
} else {
|
||||
if(--symb_shift < 0) symb_shift = 0;
|
||||
if((symb_shift == 0) && (!symb_lock)) layer_off(SYMB);
|
||||
}
|
||||
break;
|
||||
|
||||
case LMdia:
|
||||
if (record->event.pressed) {
|
||||
if (record->tap.count && (!mdia_shift) && (!mdia_lock)) {
|
||||
register_code(KC_TAB);
|
||||
} else {
|
||||
if(++mdia_shift > 2) mdia_shift = 2;
|
||||
if(mdia_shift == 2) {
|
||||
mdia_lock = !mdia_lock;
|
||||
} else if(mdia_shift == 1) {
|
||||
layer_on(MDIA);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(record->tap.count && (!mdia_shift) && (!mdia_lock)) {
|
||||
unregister_code(KC_TAB);
|
||||
} else {
|
||||
if(--mdia_shift < 0) mdia_shift = 0;
|
||||
if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case LSpec:
|
||||
if (record->event.pressed) {
|
||||
if (record->tap.count && !record->tap.interrupted) {
|
||||
register_code(KC_EQL);
|
||||
} else {
|
||||
layer_on(SPEC);
|
||||
}
|
||||
} else {
|
||||
if(record->tap.count && !record->tap.interrupted) {
|
||||
unregister_code(KC_EQL);
|
||||
} else {
|
||||
layer_off(SPEC);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case RSymb:
|
||||
if (record->event.pressed) {
|
||||
if (record->tap.count && (!symb_shift) && (!symb_lock)) {
|
||||
register_code(KC_QUOT);
|
||||
} else {
|
||||
if(++symb_shift > 2) symb_shift = 2;
|
||||
if(symb_shift == 2) {
|
||||
symb_lock = !symb_lock;
|
||||
} else if(symb_shift == 1) {
|
||||
layer_on(SYMB);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(record->tap.count && symb_shift == 0) {
|
||||
unregister_code(KC_QUOT);
|
||||
} else {
|
||||
if(--symb_shift < 0) symb_shift = 0;
|
||||
if((!symb_shift) && (!symb_lock)) layer_off(SYMB);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case RMdia:
|
||||
if (record->event.pressed) {
|
||||
if (record->tap.count && (!mdia_shift) && (!mdia_lock)) {
|
||||
register_code(KC_BSLS);
|
||||
} else {
|
||||
if(++mdia_shift > 2) mdia_shift = 2;
|
||||
if(mdia_shift == 2) {
|
||||
mdia_lock = !mdia_lock;
|
||||
} else if(mdia_shift == 1) {
|
||||
layer_on(MDIA);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(record->tap.count && (!mdia_shift) && (!mdia_lock)) {
|
||||
unregister_code(KC_BSLS);
|
||||
} else {
|
||||
if(--mdia_shift < 0) mdia_shift = 0;
|
||||
if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case RSpec:
|
||||
if (record->event.pressed) {
|
||||
if (record->tap.count && !record->tap.interrupted) {
|
||||
register_code(KC_MINS);
|
||||
} else {
|
||||
layer_on(SPEC);
|
||||
}
|
||||
} else {
|
||||
if(record->tap.count && !record->tap.interrupted) {
|
||||
unregister_code(KC_MINS);
|
||||
} else {
|
||||
layer_off(SPEC);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// mouse diagonals
|
||||
|
||||
case MUL: // mouse up left
|
||||
if (record->event.pressed) {
|
||||
mousekey_on(KC_MS_UP);
|
||||
mousekey_on(KC_MS_LEFT);
|
||||
mousekey_send();
|
||||
} else {
|
||||
mousekey_off(KC_MS_UP);
|
||||
mousekey_off(KC_MS_LEFT);
|
||||
mousekey_send();
|
||||
}
|
||||
break;
|
||||
|
||||
case MUR: // mouse up right
|
||||
if (record->event.pressed) {
|
||||
mousekey_on(KC_MS_UP);
|
||||
mousekey_on(KC_MS_RIGHT);
|
||||
mousekey_send();
|
||||
} else {
|
||||
mousekey_off(KC_MS_UP);
|
||||
mousekey_off(KC_MS_RIGHT);
|
||||
mousekey_send();
|
||||
}
|
||||
break;
|
||||
|
||||
case MDL: // mouse down left
|
||||
if (record->event.pressed) {
|
||||
mousekey_on(KC_MS_DOWN);
|
||||
mousekey_on(KC_MS_LEFT);
|
||||
mousekey_send();
|
||||
} else {
|
||||
mousekey_off(KC_MS_DOWN);
|
||||
mousekey_off(KC_MS_LEFT);
|
||||
mousekey_send();
|
||||
}
|
||||
break;
|
||||
|
||||
case MDR: // mouse down right
|
||||
if (record->event.pressed) {
|
||||
mousekey_on(KC_MS_DOWN);
|
||||
mousekey_on(KC_MS_RIGHT);
|
||||
mousekey_send();
|
||||
} else {
|
||||
mousekey_off(KC_MS_DOWN);
|
||||
mousekey_off(KC_MS_RIGHT);
|
||||
mousekey_send();
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// none
|
||||
break;
|
||||
}
|
||||
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
// Runs just one time when the keyboard initializes.
|
||||
void matrix_init_user(void) {
|
||||
|
||||
};
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
void matrix_scan_user(void) {
|
||||
// shift or caps lock turns on red light
|
||||
if(caps_shift || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
|
||||
ergodox_right_led_1_on();
|
||||
} else {
|
||||
ergodox_right_led_1_off();
|
||||
}
|
||||
|
||||
// Symbol layer turns on green light
|
||||
if(layer_state & (1UL<<SYMB)) {
|
||||
ergodox_right_led_2_on();
|
||||
} else {
|
||||
ergodox_right_led_2_off();
|
||||
}
|
||||
|
||||
// Media layer turns on blue light
|
||||
if(layer_state & (1UL<<MDIA)) {
|
||||
ergodox_right_led_3_on();
|
||||
} else {
|
||||
ergodox_right_led_3_off();
|
||||
}
|
||||
};
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
|
@ -0,0 +1,27 @@
|
|||
[{x:3.5,a:7},"",{x:10.5},""],
|
||||
[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
|
||||
[{y:-0.875,x:5.5},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
|
||||
[{y:-0.875,c:"#000000",t:"#ff0000",a:4,w:1.5},"Special\n\n\n\n\n\nShift",{c:"#ff4444",t:"#000000"},"Esc",{x:14.5,c:"#54d6de"},"Back\n\n\n\n\n\nspace",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
|
||||
[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""],
|
||||
[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
|
||||
[{y:-0.875,x:5.5},"",{h:1.5},"",{x:4.5,h:1.5},"",""],
|
||||
[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
|
||||
[{y:-0.375,x:3.5},"",{x:10.5},""],
|
||||
[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
|
||||
[{y:-0.875,x:5.5},"",{x:6.5},""],
|
||||
[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
|
||||
[{y:-0.625,x:6.5,h:1.5},"",{x:4.5,h:1.5},""],
|
||||
[{y:-0.75,x:3.5},"",{x:10.5},""],
|
||||
[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
|
||||
[{y:-0.875,x:5.5},"",{x:6.5},""],
|
||||
[{y:-0.875,w:1.5},"","",{x:14.5},"",{c:"#2277ff",w:1.5},"RShift"],
|
||||
[{y:-0.375,x:3.5,c:"#cccccc"},"",{x:10.5},""],
|
||||
[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
|
||||
[{y:-0.75,x:0.5},"","",{x:14.5},"",""],
|
||||
[{r:30,rx:6.5,ry:4.25,y:-1,x:1},"",""],
|
||||
[{h:2},"",{h:2},"",""],
|
||||
[{x:2},""],
|
||||
[{r:-30,rx:13,y:-1,x:-3},"",""],
|
||||
[{x:-3},"",{h:2},"",{h:2},""],
|
||||
[{x:-3},""]
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# teckinesis Layout
|
||||
|
||||
*A blend of TECK and Kinesis layouts, based on ["The Ordinary Layout" by Nicholas Keene](http://qmk.fm/keyboards/ergodox_ez/keymaps/ordinary/#the-ordinary-layout-a-familiar-and-powerful-layout)*
|
||||
|
||||
I love "The Ordinary Layout", but I still use a [TECK](https://www.trulyergonomic.com/store/index.php)
|
||||
at the office, and I found the transition back and forth to be a bit more difficult than I expected.
|
||||
|
||||
This layout consists of only slight changes to "The Ordinary Layout" based on the layouts of the
|
||||
[(original) TECK Model 209](https://www.trulyergonomic.com/store/layout-designer--configurator--reprogrammable--truly-ergonomic-mechanical-keyboard/#KTo7PD0+P0BBQkNERUw5394rNR4fICEi4yMkJSYnLS4xOBQaCBUXTBwYDBITLzDhBBYHCQorCw0ODzPl4B0bBhkFKhEQNjc05OPiSktOTSwoLFBSUU/mZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX2BhAFZXAAAAAAAAAAAAXF1eVAAAAAAAAAAAAABZWltVAAAAAAAAAAAAYgBjAAAAAAAAAAAAWFcAAAAAAACTAQAMAiMBAAwBigEADAIhAQAMAZQBAAwBkgEADAGDAQAMALYBAAwAzQEADAC1AQAMAOIBAAwA6gEADADpAQAMALhJAEYAAAAAAEitR64AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACk6Ozw9Pj9AQUJDREVMOd/eKzUeHyAhIuMjJCUmJy0uMTgUGggVF0wcGAwSEy8w4QQWBwkKKwsNDg8z5eMdGwYZBSoREDY3NOfg4kpLTk0sKCxQUlFP5uQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9gYQBWVwAAAAAAAAAAAFxdXlQAAAAAAAAAAAAAWVpbVQAAAAAAAAAAAGIAYwAAAAAAAAAAAFhXAAAAAAAAkwEADAIjAQAMAYoBAAwCIQEADAGUAQAMAZIBAAwBgwEADAC2AQAMAM0BAAwAtQEADADiAQAMAOoBAAwA6QEADAC4SQBGAAAAAABIrUeuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) and
|
||||
the [Kinesis Advantage](http://www.kinesis-ergo.com/wp-content/uploads/2013/06/advantage_layout_win.pdf)
|
||||
|
||||
## The Base Layout ##
|
||||
|
||||
[teckinesis (Base Layer)](http://www.keyboard-layout-editor.com/#/gists/befd4c5800d92114aa9e50d4f7c0dfb0)
|
||||
![teckinesis base layout](teckinesis-base.png)
|
||||
|
||||
### Changes from The Ordinary Layout ###
|
||||
|
||||
* Moved KC_MINS from the key left of the 6 to the RSpec key.
|
||||
* Moved KC_EQL from RSpec to LSpec.
|
||||
* Moved KC_GRV from LSpec to the key left of the 6.
|
||||
* Mdded KC_BSLS to the left Meh key.
|
||||
* Added KC_SLSH to the left Hyper key.
|
||||
* Added KC_LBRC to the right Hyper key.
|
||||
* Added KC_RBRC to the right Meh key.
|
||||
|
||||
## The Symbols Layer ##
|
||||
|
||||
[teckinesis (Symbols Layer)](http://www.keyboard-layout-editor.com/#/gists/e6ddc4e9e0d194b3e52ac0616238ab61)
|
||||
![teckinesis symbols layout](teckinesis-symbol.png)
|
||||
|
||||
### Changes from The Ordinary Layout ###
|
||||
|
||||
* None.
|
||||
|
||||
## The Media Layer ##
|
||||
|
||||
[teckinesis (Media Layer)](http://www.keyboard-layout-editor.com/#/gists/41ff65e6a7c490211fd6702fb34d9908)
|
||||
![teckinesis media layout](teckinesis-media.png)
|
||||
|
||||
### Changes from The Ordinary Layout ###
|
||||
|
||||
* Removed Power, Sleep, Mail, My Computer keys.
|
||||
(I kept hitting these while using the mouse/cursor. =P)
|
||||
|
|
@ -0,0 +1,434 @@
|
|||
[
|
||||
{
|
||||
"name": "teckinesis (Base Layer)",
|
||||
"author": "Will Wolff-Myren",
|
||||
"notes": "# teckinesis Layout # \r\n\r\n*A blend of TECK and Kinesis layouts, based on [\"The Ordinary Layout\" by Nicholas Keene](http://qmk.fm/keyboards/ergodox_ez/keymaps/ordinary/#the-ordinary-layout-a-familiar-and-powerful-layout)*\r\n\r\n## The Base Layout ##\r\n\r\n![teckinesis base layout](teckinesis-base.png)\r\n\r\n## The Symbols Layer ##\r\n\r\n![teckinesis symbols layout](teckinesis-symbol.png)\r\n\r\n## The Media Layer ##\r\n\r\n(placeholder)\r\n",
|
||||
"switchMount": "cherry",
|
||||
"switchBrand": "gateron",
|
||||
"switchType": "KS-3-Tea"
|
||||
},
|
||||
[
|
||||
{
|
||||
"x": 3.5
|
||||
},
|
||||
"#\n3",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
"*\n8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5
|
||||
},
|
||||
"@\n2",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"$\n4",
|
||||
{
|
||||
"x": 8.5
|
||||
},
|
||||
"&\n7",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"(\n9"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5
|
||||
},
|
||||
"%\n5",
|
||||
{
|
||||
"c": "#ff4444"
|
||||
},
|
||||
"Esc",
|
||||
{
|
||||
"x": 4.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"~\n`",
|
||||
"^\n6"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"c": "#2277ff",
|
||||
"w": 1.5
|
||||
},
|
||||
"Special\n\n+\n\n\n\nShift\n=",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"!\n1",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
")\n0",
|
||||
{
|
||||
"c": "#2277ff",
|
||||
"w": 1.5
|
||||
},
|
||||
"_\n\nSpecial\n\n\n\n-\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.375,
|
||||
"x": 3.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"E",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
"I"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5
|
||||
},
|
||||
"W",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"R",
|
||||
{
|
||||
"x": 8.5
|
||||
},
|
||||
"U",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"O"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5
|
||||
},
|
||||
"T",
|
||||
{
|
||||
"h": 1.5
|
||||
},
|
||||
"{\n\n\n\n\n\n[",
|
||||
{
|
||||
"x": 4.5,
|
||||
"h": 1.5
|
||||
},
|
||||
"}\n\n\n\n\n\n]",
|
||||
"Y"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"c": "#2277ff",
|
||||
"fa": [
|
||||
0,
|
||||
0,
|
||||
4
|
||||
],
|
||||
"w": 1.5
|
||||
},
|
||||
"Media\n\n<i class='kb kb-Line-Start-End'></i>\n\n\n\nShift",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"Q",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
"P",
|
||||
{
|
||||
"c": "#2277ff",
|
||||
"f": 3,
|
||||
"w": 1.5
|
||||
},
|
||||
"|\n\\\nMedia\n\n\n\n\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.375,
|
||||
"x": 3.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"D",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
"K"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5
|
||||
},
|
||||
"S",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"F",
|
||||
{
|
||||
"x": 8.5
|
||||
},
|
||||
"J",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"L"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5
|
||||
},
|
||||
"G",
|
||||
{
|
||||
"x": 6.5
|
||||
},
|
||||
"H"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"c": "#2277ff",
|
||||
"w": 1.5
|
||||
},
|
||||
"Symbols\n\n\n\n\n\nShift",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"A",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
":\n;",
|
||||
{
|
||||
"c": "#2277ff",
|
||||
"f": 3,
|
||||
"w": 1.5
|
||||
},
|
||||
"\"\n'\nSymbols\n\n\n\n\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.625,
|
||||
"x": 6.5,
|
||||
"c": "#54d6de",
|
||||
"fa": [
|
||||
0,
|
||||
0,
|
||||
4,
|
||||
1
|
||||
],
|
||||
"h": 1.5
|
||||
},
|
||||
"< Tab\n\n\nShift Tab",
|
||||
{
|
||||
"x": 4.5,
|
||||
"h": 1.5
|
||||
},
|
||||
"Tab >\n\n\nTab"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 3.5,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"C",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
"<\n,"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5
|
||||
},
|
||||
"X",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"V",
|
||||
{
|
||||
"x": 8.5
|
||||
},
|
||||
"M",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
">\n."
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5
|
||||
},
|
||||
"B",
|
||||
{
|
||||
"x": 6.5
|
||||
},
|
||||
"N"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"c": "#2277ff",
|
||||
"w": 1.5
|
||||
},
|
||||
"Capitals\n\n\n\n\n\nShift",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"Z",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
"?\n/",
|
||||
{
|
||||
"c": "#2277ff",
|
||||
"f": 3,
|
||||
"w": 1.5
|
||||
},
|
||||
"\n\nCapitals\n\n\n\n\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.375,
|
||||
"x": 3.5,
|
||||
"c": "#77aaff",
|
||||
"fa": [
|
||||
5,
|
||||
0,
|
||||
4,
|
||||
1
|
||||
]
|
||||
},
|
||||
"<i class='mss mss-Unicode-Option-3'></i>\n\n\nLAlt",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
"<i class='mss mss-Unicode-Option-3'></i>\n\n\nRAlt"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5,
|
||||
"fa": [
|
||||
5,
|
||||
1
|
||||
]
|
||||
},
|
||||
"\nHyper\n?\n/",
|
||||
{
|
||||
"x": 1,
|
||||
"fa": [
|
||||
5,
|
||||
1,
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"<i class='mss mss-Unicode-Command-3'></i>\n\n\nSuper",
|
||||
{
|
||||
"x": 8.5
|
||||
},
|
||||
"<i class='mss mss-Unicode-Command-3'></i>\n\n\nSuper",
|
||||
{
|
||||
"x": 1,
|
||||
"fa": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"{\n[\n\nHyper"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 0.5
|
||||
},
|
||||
"Ctrl\n\n\nLCtrl",
|
||||
{
|
||||
"f2": 1
|
||||
},
|
||||
"\nMeh\n|\n\\",
|
||||
{
|
||||
"x": 14.5,
|
||||
"fa": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
"}\n]\n\nMeh",
|
||||
"Ctrl\n\n\nRCtrl"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": 30,
|
||||
"rx": 6.5,
|
||||
"ry": 4.25,
|
||||
"y": -1,
|
||||
"x": 1,
|
||||
"c": "#54d6de"
|
||||
},
|
||||
"Home",
|
||||
"End"
|
||||
],
|
||||
[
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"< Del\n\n\nBackspace",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"Del >\n\n\nDelete",
|
||||
"Page\n\n\n\n\n\nUp"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2
|
||||
},
|
||||
"Page\n\n\n\n\n\nDown"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": -30,
|
||||
"rx": 13,
|
||||
"y": -1,
|
||||
"x": -3
|
||||
},
|
||||
"Left",
|
||||
"Right"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": -3
|
||||
},
|
||||
"Up",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"Enter",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"Space"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": -3
|
||||
},
|
||||
"Down"
|
||||
]
|
||||
]
|
Binary file not shown.
After Width: | Height: | Size: 92 KiB |
|
@ -0,0 +1,436 @@
|
|||
[
|
||||
{
|
||||
"name": "teckinesis (MediaLayer)",
|
||||
"author": "Will Wolff-Myren",
|
||||
"switchMount": "cherry",
|
||||
"switchBrand": "gateron",
|
||||
"switchType": "KS-3-Tea"
|
||||
},
|
||||
[
|
||||
{
|
||||
"x": 3.5,
|
||||
"c": "#99de2a"
|
||||
},
|
||||
"F13",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
"F18"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5
|
||||
},
|
||||
"F12",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"F14",
|
||||
{
|
||||
"x": 8.5
|
||||
},
|
||||
"F17",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"F19"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5
|
||||
},
|
||||
"F15",
|
||||
{
|
||||
"c": "#ff4444"
|
||||
},
|
||||
"Esc",
|
||||
{
|
||||
"x": 4.5
|
||||
},
|
||||
"Esc",
|
||||
{
|
||||
"c": "#99de2a"
|
||||
},
|
||||
"F16"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 1.5
|
||||
},
|
||||
"F11",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
"F20"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.995,
|
||||
"c": "#000000",
|
||||
"t": "#ff0000",
|
||||
"w": 1.5
|
||||
},
|
||||
"Media\n\n\n\n\n\nShift",
|
||||
{
|
||||
"x": 16.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"\n\nMedia\n\n\n\n\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.3799999999999999,
|
||||
"x": 3.5,
|
||||
"c": "#ff8500",
|
||||
"t": "#000000"
|
||||
},
|
||||
"Mouse\n\n\n\n\n\nUp",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
"Cursor\n\n\n\n\n\nUp"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5
|
||||
},
|
||||
"Mouse\n\n\n\n\n\nUpLeft",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"Mouse\n\n\n\n\n\nUpRgt",
|
||||
{
|
||||
"x": 8.5,
|
||||
"c": "#ffb063"
|
||||
},
|
||||
"Home",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"Page\n\n\n\n\n\nUp"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5,
|
||||
"c": "#e6e067"
|
||||
},
|
||||
"Vol\n\n\n\n\n\nUp",
|
||||
{
|
||||
"c": "#ffb063",
|
||||
"h": 1.5
|
||||
},
|
||||
"Scroll\n\n\n\n\n\nUp",
|
||||
{
|
||||
"x": 4.5,
|
||||
"h": 1.5
|
||||
},
|
||||
"Scroll\n\n\n\n\n\nUp",
|
||||
{
|
||||
"c": "#e6e067"
|
||||
},
|
||||
"Print\n\n\n\n\n\nScreen"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 1.5,
|
||||
"c": "#737373",
|
||||
"a": 7
|
||||
},
|
||||
"",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
""
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9950000000000001,
|
||||
"c": "#2277ff",
|
||||
"a": 4,
|
||||
"w": 1.5
|
||||
},
|
||||
"Symbols\n\n\n\n\n\nShift",
|
||||
{
|
||||
"x": 16.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"\n\nSymbols\n\n\n\n\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.3799999999999999,
|
||||
"x": 3.5,
|
||||
"c": "#ff8500"
|
||||
},
|
||||
"Mouse\n\n\n\n\n\nDown",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
"Cursor\n\n\n\n\n\nDown"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5
|
||||
},
|
||||
"Mouse\n\n\n\n\n\nLeft",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"Mouse\n\n\n\n\n\nRight",
|
||||
{
|
||||
"x": 8.5
|
||||
},
|
||||
"Cursor\n\n\n\n\n\nLeft",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"Cursor\n\n\n\n\n\nRight"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5,
|
||||
"c": "#e6e067"
|
||||
},
|
||||
"Vol\n\n\n\n\n\nDown",
|
||||
{
|
||||
"x": 6.5
|
||||
},
|
||||
"Num\n\n\n\n\n\nLock"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 1.5,
|
||||
"c": "#737373",
|
||||
"a": 7
|
||||
},
|
||||
"",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
""
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9950000000000001,
|
||||
"c": "#2277ff",
|
||||
"a": 4,
|
||||
"w": 1.5
|
||||
},
|
||||
"Capitals\n\n\n\n\n\nShift",
|
||||
{
|
||||
"x": 16.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"\n\nCapitals\n\n\n\n\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.6299999999999999,
|
||||
"x": 6.5,
|
||||
"c": "#ffb063",
|
||||
"h": 1.5
|
||||
},
|
||||
"Scroll\n\n\n\n\n\nDown",
|
||||
{
|
||||
"x": 4.5,
|
||||
"h": 1.5
|
||||
},
|
||||
"Scroll\n\n\n\n\n\nDown"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 3.5,
|
||||
"c": "#ff8500"
|
||||
},
|
||||
"Mouse\n\n\n\n\n\nDown",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
"Cursor\n\n\n\n\n\nDown"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5
|
||||
},
|
||||
"Mouse\n\n\n\n\n\nDnLeft",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"Mouse\n\n\n\n\n\nDnRgt",
|
||||
{
|
||||
"x": 8.5,
|
||||
"c": "#ffb063"
|
||||
},
|
||||
"End",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"Page\n\n\n\n\n\nDown"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5,
|
||||
"c": "#e6e067"
|
||||
},
|
||||
"Mute",
|
||||
{
|
||||
"x": 6.5,
|
||||
"c": "#737373",
|
||||
"a": 7
|
||||
},
|
||||
""
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 1.5
|
||||
},
|
||||
"",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
""
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.9950000000000001,
|
||||
"c": "#2277ff",
|
||||
"a": 4,
|
||||
"w": 1.5
|
||||
},
|
||||
"Ctrl",
|
||||
{
|
||||
"x": 16.5,
|
||||
"w": 1.5
|
||||
},
|
||||
"Ctrl"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.3799999999999999,
|
||||
"x": 3.5,
|
||||
"c": "#ff8500"
|
||||
},
|
||||
"Middle\n\n\n\n\n\nClick",
|
||||
{
|
||||
"x": 10.5,
|
||||
"c": "#ffb063",
|
||||
"fa": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"Delete\n\n\nOption"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5,
|
||||
"c": "#ff8500"
|
||||
},
|
||||
"Left\n\n\n\n\n\nClick",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"Right\n\n\n\n\n\nClick",
|
||||
{
|
||||
"x": 8.5,
|
||||
"c": "#ffb063"
|
||||
},
|
||||
"Insert\n\n\nCmd",
|
||||
{
|
||||
"x": 1,
|
||||
"c": "#77aaff"
|
||||
},
|
||||
"Hyper"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 0.5
|
||||
},
|
||||
"Alt\n\n\nLAlt",
|
||||
"Meh",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
"Meh",
|
||||
"Alt\n\n\nRAlt"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": 30,
|
||||
"rx": 6.5,
|
||||
"ry": 4.25,
|
||||
"y": -1,
|
||||
"x": 1,
|
||||
"c": "#ccbb00"
|
||||
},
|
||||
"Stop\n\n\nBrowser",
|
||||
"Reload\n\n\nBrowser"
|
||||
],
|
||||
[
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"< Web\n\n\nBrowser",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"Web >\n\n\nBrowser",
|
||||
"Search\n\n\nBrowser"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2
|
||||
},
|
||||
"Home\n\n\nBrowser"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": -30,
|
||||
"rx": 13,
|
||||
"y": -1,
|
||||
"x": -3
|
||||
},
|
||||
"Prev\n\n\nAudio\n\n\nTrack",
|
||||
"Next\n\n\nAudio\n\n\nTrack"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": -3,
|
||||
"c": "#e6e067"
|
||||
},
|
||||
"Vol\n\n\n\n\n\nUp",
|
||||
{
|
||||
"c": "#ccbb00",
|
||||
"h": 2
|
||||
},
|
||||
"Stop\n\n\nAudio",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"Play\n\n\nAudio\n\n\nPause"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": -3,
|
||||
"c": "#e6e067"
|
||||
},
|
||||
"Vol\n\n\n\n\n\nDown"
|
||||
]
|
||||
]
|
Binary file not shown.
After Width: | Height: | Size: 110 KiB |
|
@ -0,0 +1,422 @@
|
|||
[
|
||||
{
|
||||
"name": "teckinesis (Symbol Layer)",
|
||||
"author": "Will Wolff-Myren",
|
||||
"switchMount": "cherry",
|
||||
"switchBrand": "gateron",
|
||||
"switchType": "KS-3-Tea"
|
||||
},
|
||||
[
|
||||
{
|
||||
"x": 3.5,
|
||||
"c": "#99de2a"
|
||||
},
|
||||
"F3",
|
||||
{
|
||||
"x": 10.5
|
||||
},
|
||||
"F8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5
|
||||
},
|
||||
"F2",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"F4",
|
||||
{
|
||||
"x": 8.5
|
||||
},
|
||||
"F7",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"F9"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5
|
||||
},
|
||||
"F5",
|
||||
{
|
||||
"c": "#ff4444"
|
||||
},
|
||||
"Esc",
|
||||
{
|
||||
"x": 4.5,
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"_\n\n\n\n\n\n-",
|
||||
{
|
||||
"c": "#99de2a"
|
||||
},
|
||||
"F6"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"c": "#2277ff",
|
||||
"w": 1.5
|
||||
},
|
||||
"Special\n\n\n\n\n\nShift",
|
||||
{
|
||||
"c": "#99de2a"
|
||||
},
|
||||
"F1",
|
||||
{
|
||||
"x": 14.5
|
||||
},
|
||||
"F10",
|
||||
{
|
||||
"c": "#2277ff",
|
||||
"w": 1.5
|
||||
},
|
||||
"\n\nSpecial\n\n\n\n\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.375,
|
||||
"x": 3.5,
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"{",
|
||||
{
|
||||
"x": 10.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5,
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"@",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"}",
|
||||
{
|
||||
"x": 8.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"7",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"9"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5,
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"&",
|
||||
{
|
||||
"h": 1.5
|
||||
},
|
||||
"<",
|
||||
{
|
||||
"x": 4.5,
|
||||
"h": 1.5
|
||||
},
|
||||
">",
|
||||
"|"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"c": "#2277ff",
|
||||
"w": 1.5
|
||||
},
|
||||
"Media\n\n\n\n\n\nShift",
|
||||
{
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"!",
|
||||
{
|
||||
"x": 14.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"/",
|
||||
{
|
||||
"c": "#2277ff",
|
||||
"w": 1.5
|
||||
},
|
||||
"\n\nMedia\n\n\n\n\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.375,
|
||||
"x": 3.5,
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"(",
|
||||
{
|
||||
"x": 10.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"5"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5,
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"$",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
")",
|
||||
{
|
||||
"x": 8.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"4",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"6"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5,
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"`",
|
||||
{
|
||||
"x": 6.5
|
||||
},
|
||||
"/"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"c": "#000000",
|
||||
"t": "#ff0000",
|
||||
"w": 1.5
|
||||
},
|
||||
"Symbols\n\n\n\n\n\nShift",
|
||||
{
|
||||
"c": "#bbddbb",
|
||||
"t": "#000000"
|
||||
},
|
||||
"#",
|
||||
{
|
||||
"x": 14.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"*",
|
||||
{
|
||||
"c": "#000000",
|
||||
"t": "#ff0000",
|
||||
"w": 1.5
|
||||
},
|
||||
"\n\nSymbols\n\n\n\n\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.625,
|
||||
"x": 6.5,
|
||||
"c": "#54d6de",
|
||||
"t": "#000000",
|
||||
"fa": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"h": 1.5
|
||||
},
|
||||
"Tab >\n\n\nTab",
|
||||
{
|
||||
"x": 4.5,
|
||||
"h": 1.5
|
||||
},
|
||||
"< Tab\n\n\nShift Tab"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 3.5,
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"[",
|
||||
{
|
||||
"x": 10.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"2"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5,
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"^",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"]",
|
||||
{
|
||||
"x": 8.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"1",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"3"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 5.5,
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"~",
|
||||
{
|
||||
"x": 6.5
|
||||
},
|
||||
"\\"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"c": "#2277ff",
|
||||
"w": 1.5
|
||||
},
|
||||
"Capitals\n\n\n\n\n\nShift",
|
||||
{
|
||||
"c": "#bbddbb"
|
||||
},
|
||||
"%",
|
||||
{
|
||||
"x": 14.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"-",
|
||||
{
|
||||
"c": "#2277ff",
|
||||
"w": 1.5
|
||||
},
|
||||
"\n\nCapitals\n\n\n\n\nShift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.375,
|
||||
"x": 3.5,
|
||||
"c": "#77aaff"
|
||||
},
|
||||
"<i class='mss mss-Unicode-Option-3'></i>\n\n\nLAlt",
|
||||
{
|
||||
"x": 10.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
".\n\n\nOption"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.875,
|
||||
"x": 2.5,
|
||||
"c": "#77aaff"
|
||||
},
|
||||
"Hyper",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"<i class='mss mss-Unicode-Command-3'></i>\n\n\nSuper",
|
||||
{
|
||||
"x": 8.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"0\n\n\nCmd",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"=\n\n\nHyper"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 0.5,
|
||||
"c": "#77aaff"
|
||||
},
|
||||
"Ctrl\n\n\nLCtrl",
|
||||
"Meh",
|
||||
{
|
||||
"x": 14.5,
|
||||
"c": "#89b087"
|
||||
},
|
||||
"+\n\n\nMeh",
|
||||
"Enter\n\n\nCtrl"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": 30,
|
||||
"rx": 6.5,
|
||||
"ry": 4.25,
|
||||
"y": -1,
|
||||
"x": 1,
|
||||
"c": "#54d6de"
|
||||
},
|
||||
"Left",
|
||||
"Right"
|
||||
],
|
||||
[
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"Space",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"Enter",
|
||||
"Up"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": 2
|
||||
},
|
||||
"Down"
|
||||
],
|
||||
[
|
||||
{
|
||||
"r": -30,
|
||||
"rx": 13,
|
||||
"y": -1,
|
||||
"x": -3
|
||||
},
|
||||
"Home",
|
||||
"End"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": -3
|
||||
},
|
||||
"Page\n\n\n\n\n\nUp",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"< Del\n\n\nBackspace",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"Del >\n\n\nDelete"
|
||||
],
|
||||
[
|
||||
{
|
||||
"x": -3
|
||||
},
|
||||
"Page\n\n\n\n\n\nDown"
|
||||
]
|
||||
]
|
Binary file not shown.
After Width: | Height: | Size: 95 KiB |
Loading…
Reference in New Issue