130 lines
6 KiB
C
130 lines
6 KiB
C
/* ----------------------------------------------------------------------------
|
|
* Copyright (c) 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 modeled after the [Arensito layout]
|
|
* (http://www.pvv.org/~hakonhal/main.cgi/keyboard)
|
|
* by Håkon Hallingstad
|
|
*
|
|
* Implements the "layout" section of '.../firmware/keyboard.h'
|
|
*
|
|
* TODO:
|
|
* - separate most of this into a template (so i can have different versions of
|
|
* the "ben" layout, just like there are different "kinesis-mod" layouts)?
|
|
* lol
|
|
*/
|
|
|
|
|
|
#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
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// TODO: make this Arensito!
|
|
// - add layers with other layouts? arensito, colemak, dvorak, qwerty
|
|
static layout_t layout PROGMEM = {
|
|
// ............................................................................
|
|
|
|
MATRIX_LAYER( // layer 0 : default
|
|
// macro, unused,
|
|
K, nop,
|
|
// left hand ...... ......... ......... ......... ......... ......... .........
|
|
nop, 1, 2, 3, 4, 5, nop,
|
|
nop, q, l, comma, p, nop, nop,
|
|
nop, a, r, e, n, b,
|
|
nop, z, w, period, h, j, nop,
|
|
nop, nop, nop, nop, nop,
|
|
ctrlL, altL,
|
|
nop, nop, home,
|
|
bs, del, end,
|
|
// right hand ..... ......... ......... ......... ......... ......... .........
|
|
nop, 6, 7, 8, 9, 0, nop,
|
|
nop, nop, f, u, d, k, nop,
|
|
g, s, i, t, o, nop,
|
|
nop, v, c, y, m, x, nop,
|
|
nop, nop, nop, nop, nop,
|
|
altR, ctrlR,
|
|
pageU, nop, nop,
|
|
pageD, enter, space ),
|
|
|
|
// ............................................................................
|
|
|
|
MATRIX_LAYER( // layer TODO : 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 TODO : 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 ),
|
|
|
|
// ............................................................................
|
|
};
|
|
|