ergodox-firmware/firmware/keyboard/ergodox/layout/templates/kinesis-mod.c.h
Ben Blazak e83f2a3325 messing about with layouts :)
- changed how things are organized
- LEDs now indicate layers!  layers 1 and 2 have a corresponding LED,
  along with capslock (which also kinda needs one)
- this organization of things is not final.  but i hope (and think) it's
  a little better :)
2014-01-21 18:08:33 -08:00

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 ),
// ............................................................................
};