- 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 :)
150 lines
7.3 KiB
C
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 ),
|
|
|
|
// ............................................................................
|
|
};
|
|
|