ergodox-firmware/firmware/keyboard/ergodox/layout/templates/kinesis-mod.c.h

150 lines
7.3 KiB
C

/* ----------------------------------------------------------------------------
* Copyright (c) 2013, 2014 Ben Blazak <benblazak.dev@gmail.com>
* Released under The MIT License (see "doc/licenses/MIT.md")
* Project located at <https://github.com/benblazak/ergodox-firmware>
* ------------------------------------------------------------------------- */
/** description
* A layout with the home layer adapted from the default Kinesis layout
* (staying as close the original as possible). The position of the symbol
* keys on the function layer was (roughly) taken from the Arensito layout.
*
* Implements the "layout" section of '.../firmware/keyboard.h'
*
* The template key prefix is `T_`, with the rest of the name indicating the
* key's position in the QWERTY layout.
*/
#include "../fragments/includes.part.h"
#include "../fragments/macros.part.h"
#include "../fragments/types.part.h"
#include "../fragments/variables.part.h"
// ----------------------------------------------------------------------------
// keys
// ----------------------------------------------------------------------------
#include "../fragments/keys.part.h"
// ----------------------------------------------------------------------------
// LED control
// ----------------------------------------------------------------------------
#include "../fragments/led-control.part.h"
// ----------------------------------------------------------------------------
// matrix control
// ----------------------------------------------------------------------------
#include "../fragments/matrix-control.part.h"
// ----------------------------------------------------------------------------
// layout
// ----------------------------------------------------------------------------
static layout_t layout PROGMEM = {
// ............................................................................
MATRIX_LAYER( // layer 0 : default
// macro, unused,
K, nop,
// left hand ...... ......... ......... ......... ......... ......... .........
equal, 1, 2, 3, 4, 5, esc,
tab, T_q, T_w, T_e, T_r, T_t, lpu2l2,
caps, T_a, T_s, T_d, T_f, T_g,
shL2kcap, T_z, T_x, T_c, T_v, T_b, lpupo2l2,
guiL, grave, bkslash, arrowL, arrowR,
ctrlL, altL,
nop, nop, home,
bs, del, end,
// right hand ..... ......... ......... ......... ......... ......... .........
lpu1l1, 6, 7, 8, 9, 0, dash,
lpu2l2, T_y, T_u, T_i, T_o, T_p,T_bkslash,
T_h, T_j, T_k, T_l,T_semicol, T_quote,
lpupo2l2, T_n, T_m, T_comma, T_period, T_slash, shR2kcap,
arrowU, arrowD, brktL, brktR, guiR,
altR, ctrlR,
pageU, nop, nop,
pageD, enter, space ),
// ............................................................................
MATRIX_LAYER( // layer 1 : number pad
// macro, unused,
K, nop,
// left hand ...... ......... ......... ......... ......... ......... .........
transp, transp, transp, transp, transp, transp, transp,
transp, transp, transp, transp, transp, transp, transp,
nop, transp, transp, transp, transp, transp,
transp, transp, transp, transp, transp, transp, transp,
transp, ins, transp, transp, transp,
transp, transp,
transp, transp, transp,
transp, transp, transp,
// right hand ..... ......... ......... ......... ......... ......... .........
lpo1l1, transp, lpo1l1, equal, slash, asterisk, transp,
transp, transp, 7, 8, 9, dash, transp,
transp, 4, 5, 6, plus, transp,
transp, transp, 1, 2, 3, enter, transp,
transp, transp, period, enter, transp,
transp, transp,
transp, transp, transp,
transp, transp, 0 ),
// ............................................................................
MATRIX_LAYER( // layer 2 : symbols and function keys
// macro, unused,
K, nop,
// left hand ...... ......... ......... ......... ......... ......... .........
transp, F1, F2, F3, F4, F5, F11,
transp, braceL, braceR, brktL, brktR, nop, lpo2l2,
transp, semicol, slash, dash, 0, colon,
transp, 6, 7, 8, 9, plus, lpupo3l3,
transp, transp, transp, transp, transp,
transp, transp,
transp, transp, transp,
transp, transp, transp,
// right hand ..... ......... ......... ......... ......... ......... .........
F12, F6, F7, F8, F9, F10, power,
lpo2l2, nop, undersc, lessThan, grtrThan, dollar, volumeU,
bkslash, 1, parenL, parenR, equal, volumeD,
lpupo3l3, asterisk, 2, 3, 4, 5, mute,
transp, transp, transp, transp, transp,
transp, transp,
transp, transp, transp,
transp, transp, transp ),
// ............................................................................
MATRIX_LAYER( // layer 3 : keyboard functions
// macro, unused,
K, nop,
// left hand ...... ......... ......... ......... ......... ......... .........
btldr, nop, nop, nop, nop, nop, nop,
nop, nop, nop, nop, nop, nop, nop,
nop, nop, nop, nop, nop, nop,
nop, nop, nop, nop, nop, nop, nop,
nop, nop, nop, nop, nop,
nop, nop,
nop, nop, nop,
nop, nop, nop,
// right hand ..... ......... ......... ......... ......... ......... .........
nop, nop, nop, nop, nop, nop, dmp_sram,
nop, nop, nop, nop, nop, nop, dmp_prog,
nop, nop, nop, nop, nop, dmp_eepr,
nop, nop, nop, nop, nop, nop, nop,
nop, nop, nop, nop, nop,
nop, nop,
nop, nop, nop,
nop, nop, nop ),
// ............................................................................
};