Merge pull request #534 from willwm/teckinesis
Teckinesis for ErgoDox EZ
This commit is contained in:
		
						commit
						4885225159
					
				
					 11 changed files with 1820 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -26,3 +26,4 @@ CMakeLists.txt
 | 
			
		|||
.project
 | 
			
		||||
.settings/
 | 
			
		||||
.idea
 | 
			
		||||
.browse.VC.db*
 | 
			
		||||
							
								
								
									
										455
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										455
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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();
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 62 KiB  | 
							
								
								
									
										27
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.txt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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},""]
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										45
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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)
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### 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)
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### Changes from The Ordinary Layout ###
 | 
			
		||||
 | 
			
		||||
* None.
 | 
			
		||||
 | 
			
		||||
## The Media Layer ##
 | 
			
		||||
 | 
			
		||||
[teckinesis (Media Layer)](http://www.keyboard-layout-editor.com/#/gists/41ff65e6a7c490211fd6702fb34d9908)
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### Changes from The Ordinary Layout ###
 | 
			
		||||
 | 
			
		||||
* Removed Power, Sleep, Mail, My Computer keys.
 | 
			
		||||
(I kept hitting these while using the mouse/cursor. =P)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										434
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										434
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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\r\n\r\n## The Symbols Layer ##\r\n\r\n\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"
 | 
			
		||||
  ]
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 92 KiB  | 
							
								
								
									
										436
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										436
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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"
 | 
			
		||||
  ]
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 110 KiB  | 
							
								
								
									
										422
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										422
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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"
 | 
			
		||||
  ]
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 95 KiB  | 
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue