Kinesis refactor and Configurator update (#3245)

* Matrix refactor

* Keymap refactor

* Configurator support

* Stapelberg readme formatting fix (missing grave accent)
This commit is contained in:
noroadsleft 2018-06-27 19:24:08 -07:00 committed by Drashna Jaelre
parent 3d831f3550
commit f1344d1f1e
14 changed files with 359 additions and 165 deletions

View file

@ -3,65 +3,99 @@
#include "../kinesis.h"
#define ___ KC_NO
#define KEYMAP( \
k02,k22,k12,k01,k21,k11,k00,k20,k10, \
k80,k70,k60,k50,k40,k30, \
k81,k71,k61,k51,k41,k31, \
k82,k72,k62,k52,k42,k32, \
k83,k73,k63,k53,k43,k33, \
k74,k64,k54,k34, \
k36,k35, \
k55, \
k56,k46,k75, \
k03,k23,k13,k04,k24,k14,k05,k85,k84, \
k94,kA4,kB4,kD4,kE4,kF4, \
k95,kA5,kB5,kD5,kE5,kF5, \
k96,kA6,kB6,kD6,kE6,kF6, \
k97,kA7,kB7,kD7,kE7,kF7, \
k93,kB3,kD3,kE3, \
k47,k66, \
k67, \
k87,k76,k86 \
) { \
{ k00, k01, k02, k03, k04, k05, KC_NO, KC_NO }, \
{ k10, k11, k12, k13, k14, KC_NO, KC_NO, KC_NO }, \
{ k20, k21, k22, k23, k24, KC_NO, KC_NO, KC_NO }, \
{ k30, k31, k32, k33, k34, k35, k36, KC_NO }, \
{ k40, k41, k42, k43, KC_NO, KC_NO, k46, k47 }, \
{ k50, k51, k52, k53, k54, k55, k56, KC_NO }, \
{ k60, k61, k62, k63, k64, KC_NO, k66, k67 }, \
{ k70, k71, k72, k73, k74, k75, k76, KC_NO }, \
{ k80, k81, k82, k83, k84, k85, k86, k87}, \
{ KC_NO, KC_NO ,KC_NO ,k93, k94, k95, k96, k97}, \
{ KC_NO, KC_NO ,KC_NO ,KC_NO, kA4, kA5, kA6, kA7}, \
{ KC_NO, KC_NO ,KC_NO ,kB3, kB4, kB5, kB6, kB7}, \
{ KC_NO, KC_NO ,KC_NO ,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO}, \
{ KC_NO, KC_NO ,KC_NO ,kD3, kD4, kD5, kD6, kD7}, \
{ KC_NO, KC_NO ,KC_NO ,kE3, kE4, kE5, kE6, kE7}, \
{ KC_NO, KC_NO ,KC_NO ,KC_NO, kF4, kF5, kF6, kF7} \
#define LAYOUT( \
k02, k22, k12, k01, k21, k11, k00, k20, k10, \
k80, k70, k60, k50, k40, k30, \
k81, k71, k61, k51, k41, k31, \
k82, k72, k62, k52, k42, k32, \
k83, k73, k63, k53, k43, k33, \
k74, k64, k54, k34, \
k36, k35, \
k55, \
k56, k46, k75, \
\
k03, k23, k13, k04, k24, k14, k05, k85, k84, \
k94, kA4, kB4, kD4, kE4, kF4, \
k95, kA5, kB5, kD5, kE5, kF5, \
k96, kA6, kB6, kD6, kE6, kF6, \
k97, kA7, kB7, kD7, kE7, kF7, \
k93, kB3, kD3, kE3, \
k47, k66, \
k67, \
k87, k76, k86 \
) { \
{ k00, k01, k02, k03, k04, k05, ___, ___ }, \
{ k10, k11, k12, k13, k14, ___, ___, ___ }, \
{ k20, k21, k22, k23, k24, ___, ___, ___ }, \
{ k30, k31, k32, k33, k34, k35, k36, ___ }, \
{ k40, k41, k42, k43, ___, ___, k46, k47 }, \
{ k50, k51, k52, k53, k54, k55, k56, ___ }, \
{ k60, k61, k62, k63, k64, ___, k66, k67 }, \
{ k70, k71, k72, k73, k74, k75, k76, ___ }, \
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
{ ___, ___, ___, k93, k94, k95, k96, k97 }, \
{ ___, ___, ___, ___, kA4, kA5, kA6, kA7 }, \
{ ___, ___, ___, kB3, kB4, kB5, kB6, kB7 }, \
{ ___, ___, ___, ___, ___, ___, ___, ___ }, \
{ ___, ___, ___, kD3, kD4, kD5, kD6, kD7 }, \
{ ___, ___, ___, kE3, kE4, kE5, kE6, kE7 }, \
{ ___, ___, ___, ___, kF4, kF5, kF6, kF7 } \
}
/* ---------------- LEFT HAND ----------------- ---------------- RIGHT HAND ---------------- */
#define LAYOUT_pretty( \
k02, k22, k12, k01, k21, k11, k00, k20, k10, k03, k23, k13, k04, k24, k14, k05, k85, k84, \
k80, k70, k60, k50, k40, k30, k94, kA4, kB4, kD4, kE4, kF4, \
k81, k71, k61, k51, k41, k31, k95, kA5, kB5, kD5, kE5, kF5, \
k82, k72, k62, k52, k42, k32, k96, kA6, kB6, kD6, kE6, kF6, \
k83, k73, k63, k53, k43, k33, k97, kA7, kB7, kD7, kE7, kF7, \
k74, k64, k54, k34, k93, kB3, kD3, kE3, \
k36, k35, k47, k66, \
k55, k67, \
k56, k46, k75, k87, k76, k86 \
) { \
{ k00, k01, k02, k03, k04, k05, ___, ___ }, \
{ k10, k11, k12, k13, k14, ___, ___, ___ }, \
{ k20, k21, k22, k23, k24, ___, ___, ___ }, \
{ k30, k31, k32, k33, k34, k35, k36, ___ }, \
{ k40, k41, k42, k43, ___, ___, k46, k47 }, \
{ k50, k51, k52, k53, k54, k55, k56, ___ }, \
{ k60, k61, k62, k63, k64, ___, k66, k67 }, \
{ k70, k71, k72, k73, k74, k75, k76, ___ }, \
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
{ ___, ___, ___, k93, k94, k95, k96, k97 }, \
{ ___, ___, ___, ___, kA4, kA5, kA6, kA7 }, \
{ ___, ___, ___, kB3, kB4, kB5, kB6, kB7 }, \
{ ___, ___, ___, ___, ___, ___, ___, ___ }, \
{ ___, ___, ___, kD3, kD4, kD5, kD6, kD7 }, \
{ ___, ___, ___, kE3, kE4, kE5, kE6, kE7 }, \
{ ___, ___, ___, ___, kF4, kF5, kF6, kF7 } \
}
/* Row pin configuration
PF0 A
PF1 B
PF2 C
PF3 G 0 = U4, 1 = U5
/*
Row pin configuration
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 rA rB rC rD rE rF
PB0 c0| f6 f8 f7 5 4 3 2 1 =+
PB1 c1| f3 f5 f4 t r e w q TAB
PB2 c2| ESC f2 f1 g f d s a CL
PB3 c3| f9 f11 f10 b v c x z LS UP DN [{ ]}
PB4 c4| f12 SL PS RT LT §± `~ 6 7 8 9 0 -_
PB5 c5| PB PGM KPD y u i o p \
PB6 c6| LC DL BS RC EN SP h j k l ;: '"
PB7 c7| RA PU PD n m ,< .> /? RS
*/
PF0 A
PF1 B
PF2 C
PF3 G 0 = U4, 1 = U5
Matrix Map (US QWERTY keyboard layout shown)
| row 0 | row 1 | row 2 | row 3 | row 4 | row 5 | row 6 | row 7 | row 8 | row 9 | row A | row B | row C | row D | row E | row F
----------------------------------------------------------------------------------------------------------------------------------------------------
PB0 col0 | F6 | F8 | F7 | 5% | 4$ | 3# | 2@ | 1! | =+ | | | | | | |
PB1 col1 | F3 | F5 | F4 | T | R | E | W | Q | Tab | | | | | | |
PB2 col2 | Esc | F2 | F1 | G | F | D | S | A | CapsLk | | | | | | |
PB3 col3 | F9 | F11 | F10 | B | V | C | X | Z | LShift | Up | | Down | | [{ | ]} |
PB4 col4 | F12 | ScrLk | PrtSc | Right | | Left | Insert | `~ | 1! | 6^ | 7& | 8* | | 9( | 0) | -_
PB5 col5 | Pause | | | LAlt | | Home | | End | Fn | Y | U | I | | O | P | \|
PB6 col6 | | | | LCtrl | Delete | Bksp | RCtrl | Enter | Space | H | J | K | | L | ;: | '"
PB7 col7 | | | | | RGUI | | PageUp | | PageDn | N | M | ,< | | .> | /? | RShift
*/
#endif

View file

@ -0,0 +1,18 @@
{
"keyboard_name": "Kinesis",
"url": "",
"maintainer": "qmk",
"width": 15.5,
"height": 9,
"layouts": {
"LAYOUT": {
"key_count": 86,
"layout": [{"label":"Esc", "x":0, "y":0, "w":0.69, "h":0.85}, {"label":"F1", "x":0.7, "y":0, "w":0.69, "h":0.85}, {"label":"F2", "x":1.39, "y":0, "w":0.69, "h":0.85}, {"label":"F3", "x":2.09, "y":0, "w":0.69, "h":0.85}, {"label":"F4", "x":2.78, "y":0, "w":0.69, "h":0.85}, {"label":"F5", "x":3.48, "y":0, "w":0.69, "h":0.85}, {"label":"F6", "x":4.17, "y":0, "w":0.69, "h":0.85}, {"label":"F7", "x":4.87, "y":0, "w":0.69, "h":0.85}, {"label":"F8", "x":5.56, "y":0, "w":0.69, "h":0.85}, {"label":"+", "x":0, "y":1.25, "w":1.25}, {"label":"!", "x":1.25, "y":1.25}, {"label":"@", "x":2.25, "y":1}, {"label":"#", "x":3.25, "y":1}, {"label":"$", "x":4.25, "y":1}, {"label":"%", "x":5.25, "y":1}, {"label":"Tab", "x":0, "y":2.25, "w":1.25}, {"label":"Q", "x":1.25, "y":2.25}, {"label":"W", "x":2.25, "y":2}, {"label":"E", "x":3.25, "y":2}, {"label":"R", "x":4.25, "y":2}, {"label":"T", "x":5.25, "y":2}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.25}, {"label":"A", "x":1.25, "y":3.25}, {"label":"S", "x":2.25, "y":3}, {"label":"D", "x":3.25, "y":3}, {"label":"F", "x":4.25, "y":3}, {"label":"G", "x":5.25, "y":3}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"Z", "x":1.25, "y":4.25}, {"label":"X", "x":2.25, "y":4}, {"label":"C", "x":3.25, "y":4}, {"label":"V", "x":4.25, "y":4}, {"label":"B", "x":5.25, "y":4}, {"label":"~", "x":1.25, "y":5.25}, {"label":"|", "x":2.25, "y":5}, {"label":"←", "x":3.25, "y":5}, {"label":"→", "x":4.25, "y":5}, {"label":"Ctrl", "x":5.25, "y":6}, {"label":"Alt", "x":6.25, "y":6}, {"label":"Home", "x":6.25, "y":7}, {"label":"Back Space", "x":4.25, "y":7, "h":2}, {"label":"Delete", "x":5.25, "y":7, "h":2}, {"label":"End", "x":6.25, "y":8}, {"label":"F9", "x":9.25, "y":0, "w":0.69, "h":0.85}, {"label":"F10", "x":9.95, "y":0, "w":0.69, "h":0.85}, {"label":"F11", "x":10.64, "y":0, "w":0.69, "h":0.85}, {"label":"F12", "x":11.34, "y":0, "w":0.69, "h":0.85}, {"label":"Print Scrn", "x":12.03, "y":0, "w":0.69, "h":0.85}, {"label":"Scroll Lock", "x":12.73, "y":0, "w":0.69, "h":0.85}, {"label":"Pause", "x":13.42, "y":0, "w":0.69, "h":0.85}, {"label":"Keypad", "x":14.12, "y":0, "w":0.69, "h":0.85}, {"label":"Progrm", "x":14.81, "y":0, "w":0.69, "h":0.85}, {"label":"^", "x":9.25, "y":1}, {"label":"&amp;", "x":10.25, "y":1}, {"label":"*", "x":11.25, "y":1}, {"label":"(", "x":12.25, "y":1}, {"label":")", "x":13.25, "y":1.25}, {"label":"_", "x":14.25, "y":1.25, "w":1.25}, {"label":"Y", "x":9.25, "y":2}, {"label":"U", "x":10.25, "y":2}, {"label":"I", "x":11.25, "y":2}, {"label":"O", "x":12.25, "y":2}, {"label":"P", "x":13.25, "y":2.25}, {"label":"|", "x":14.25, "y":2.25, "w":1.25}, {"label":"H", "x":9.25, "y":3}, {"label":"J", "x":10.25, "y":3}, {"label":"K", "x":11.25, "y":3}, {"label":"L", "x":12.25, "y":3}, {"label":":", "x":13.25, "y":3.25}, {"label":"\"", "x":14.25, "y":3.25, "w":1.25}, {"label":"N", "x":9.25, "y":4}, {"label":"M", "x":10.25, "y":4}, {"label":"&lt;", "x":11.25, "y":4}, {"label":"&gt;", "x":12.25, "y":4}, {"label":"?", "x":13.25, "y":4.25}, {"label":"Shift", "x":14.25, "y":4.25, "w":1.25}, {"label":"↑", "x":10.25, "y":5}, {"label":"↓", "x":11.25, "y":5}, {"label":"{", "x":12.25, "y":5}, {"label":"}", "x":13.25, "y":5.25}, {"label":"GUI", "x":8.25, "y":6}, {"label":"Ctrl", "x":9.25, "y":6}, {"label":"Page Up", "x":8.25, "y":7}, {"label":"Page Down", "x":8.25, "y":8}, {"label":"Enter", "x":9.25, "y":7, "h":2}, {"label":"Space", "x":10.25, "y":7, "h":2}]
},
"LAYOUT_pretty": {
"key_count": 86,
"layout": [{"label":"Esc", "x":0, "y":0, "w":0.69, "h":0.85}, {"label":"F1", "x":0.7, "y":0, "w":0.69, "h":0.85}, {"label":"F2", "x":1.39, "y":0, "w":0.69, "h":0.85}, {"label":"F3", "x":2.09, "y":0, "w":0.69, "h":0.85}, {"label":"F4", "x":2.78, "y":0, "w":0.69, "h":0.85}, {"label":"F5", "x":3.48, "y":0, "w":0.69, "h":0.85}, {"label":"F6", "x":4.17, "y":0, "w":0.69, "h":0.85}, {"label":"F7", "x":4.87, "y":0, "w":0.69, "h":0.85}, {"label":"F8", "x":5.56, "y":0, "w":0.69, "h":0.85}, {"label":"F9", "x":9.25, "y":0, "w":0.69, "h":0.85}, {"label":"F10", "x":9.95, "y":0, "w":0.69, "h":0.85}, {"label":"F11", "x":10.64, "y":0, "w":0.69, "h":0.85}, {"label":"F12", "x":11.34, "y":0, "w":0.69, "h":0.85}, {"label":"Print Scrn", "x":12.03, "y":0, "w":0.69, "h":0.85}, {"label":"Scroll Lock", "x":12.73, "y":0, "w":0.69, "h":0.85}, {"label":"Pause", "x":13.42, "y":0, "w":0.69, "h":0.85}, {"label":"Keypad", "x":14.12, "y":0, "w":0.69, "h":0.85}, {"label":"Progrm", "x":14.81, "y":0, "w":0.69, "h":0.85}, {"label":"+", "x":0, "y":1.25, "w":1.25}, {"label":"!", "x":1.25, "y":1.25}, {"label":"@", "x":2.25, "y":1}, {"label":"#", "x":3.25, "y":1}, {"label":"$", "x":4.25, "y":1}, {"label":"%", "x":5.25, "y":1}, {"label":"^", "x":9.25, "y":1}, {"label":"&amp;", "x":10.25, "y":1}, {"label":"*", "x":11.25, "y":1}, {"label":"(", "x":12.25, "y":1}, {"label":")", "x":13.25, "y":1.25}, {"label":"_", "x":14.25, "y":1.25, "w":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.25}, {"label":"Q", "x":1.25, "y":2.25}, {"label":"W", "x":2.25, "y":2}, {"label":"E", "x":3.25, "y":2}, {"label":"R", "x":4.25, "y":2}, {"label":"T", "x":5.25, "y":2}, {"label":"Y", "x":9.25, "y":2}, {"label":"U", "x":10.25, "y":2}, {"label":"I", "x":11.25, "y":2}, {"label":"O", "x":12.25, "y":2}, {"label":"P", "x":13.25, "y":2.25}, {"label":"|", "x":14.25, "y":2.25, "w":1.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.25}, {"label":"A", "x":1.25, "y":3.25}, {"label":"S", "x":2.25, "y":3}, {"label":"D", "x":3.25, "y":3}, {"label":"F", "x":4.25, "y":3}, {"label":"G", "x":5.25, "y":3}, {"label":"H", "x":9.25, "y":3}, {"label":"J", "x":10.25, "y":3}, {"label":"K", "x":11.25, "y":3}, {"label":"L", "x":12.25, "y":3}, {"label":":", "x":13.25, "y":3.25}, {"label":"\"", "x":14.25, "y":3.25, "w":1.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"Z", "x":1.25, "y":4.25}, {"label":"X", "x":2.25, "y":4}, {"label":"C", "x":3.25, "y":4}, {"label":"V", "x":4.25, "y":4}, {"label":"B", "x":5.25, "y":4}, {"label":"N", "x":9.25, "y":4}, {"label":"M", "x":10.25, "y":4}, {"label":"&lt;", "x":11.25, "y":4}, {"label":"&gt;", "x":12.25, "y":4}, {"label":"?", "x":13.25, "y":4.25}, {"label":"Shift", "x":14.25, "y":4.25, "w":1.25}, {"label":"~", "x":1.25, "y":5.25}, {"label":"|", "x":2.25, "y":5}, {"label":"←", "x":3.25, "y":5}, {"label":"→", "x":4.25, "y":5}, {"label":"↑", "x":10.25, "y":5}, {"label":"↓", "x":11.25, "y":5}, {"label":"{", "x":12.25, "y":5}, {"label":"}", "x":13.25, "y":5.25}, {"label":"Ctrl", "x":5.25, "y":6}, {"label":"Alt", "x":6.25, "y":6}, {"label":"GUI", "x":8.25, "y":6}, {"label":"Ctrl", "x":9.25, "y":6}, {"label":"Home", "x":6.25, "y":7}, {"label":"Page Up", "x":8.25, "y":7}, {"label":"Back Space", "x":4.25, "y":7, "h":2}, {"label":"Delete", "x":5.25, "y":7, "h":2}, {"label":"End", "x":6.25, "y":8}, {"label":"Page Down", "x":8.25, "y":8}, {"label":"Enter", "x":9.25, "y":7, "h":2}, {"label":"Space", "x":10.25, "y":7, "h":2}]
}
}
}

View file

@ -1,6 +1,4 @@
#include "kinesis.h"
#include "action_layer.h"
#include "eeconfig.h"
#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
@ -90,7 +88,7 @@ extern keymap_config_t keymap_config;
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_CX] = KEYMAP(
[_CX] = LAYOUT(
// Left Hand
TO(_CX), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
KC_DEL, KC_1, KC_3, KC_5, KC_7, KC_9,
@ -116,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(_KP), KC_ENT, KC_SPC
),
[_QW] = KEYMAP(
[_QW] = LAYOUT(
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
@ -142,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______
),
[_KP] = KEYMAP(
[_KP] = LAYOUT(
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,

View file

@ -1,4 +1,4 @@
#include "kinesis.h"
#include QMK_KEYBOARD_H
#define QWERTY 0 // Base qwerty
@ -30,7 +30,7 @@
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[QWERTY] = KEYMAP(
[QWERTY] = LAYOUT(
KC_ESC, KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8,
KC_EQL, KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,
KC_TAB, KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,

View file

@ -0,0 +1,8 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
#include "../../config.h"
// place overrides here
#endif

View file

@ -0,0 +1,83 @@
#include QMK_KEYBOARD_H
#define QWERTY 0 // Base qwerty
/****************************************************************************************************
*
* Keymap: Default Layer in Qwerty
*
* ,-------------------------------------------------------------------------------------------------------------------.
* | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F8 | F9 | F10 | F12 | PSCR | SLCK | PAUS | FN0 | BOOT |
* |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------|
* | =+ | 1! | 2@ | 3# | 4$ | 5% | | 6^ | 7& | 8* | 9( | 0) | -_ |
* |--------+------+------+------+------+------| +------+------+------+------+------+--------|
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | Caps | A | S | D | F | G | | H | J | K | L | ;: | '" |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | Shift | Z | X | C | V | B | | N | M | ,. | .> | /? | Shift |
* `--------+------+------+------+------+------- `------+------+------+------+------+--------'
* | `~ | INS | Left | Right| | Up | Down | [{ | ]} |
* `---------------------------' `---------------------------'
* ,-------------. ,-------------.
* | Ctrl | Alt | | Gui | Ctrl |
* ,------|------|------| |------+------+------.
* | | | Home | | PgUp | | |
* | BkSp | Del |------| |------|Return| Space|
* | | | End | | PgDn | | |
* `--------------------' `--------------------'
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[QWERTY] = LAYOUT_pretty(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_FN0, KC_1,
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_GRV, KC_INS, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL,
KC_HOME, KC_PGUP,
KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_ENTER, KC_SPC
)
};
const uint16_t PROGMEM fn_actions[] = {
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
switch(id) {
case 0:
if (record->event.pressed) {
register_code(KC_RSFT);
} else {
unregister_code(KC_RSFT);
}
break;
}
return MACRO_NONE;
};
void matrix_init_user(void) {
}
void matrix_scan_user(void) {
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
void led_set_user(uint8_t usb_led) {
}

View file

@ -0,0 +1,5 @@
# The default keymap for kinesis-advantage
This keymap is the same as the one in the `default` directory, but is
formatted to use the `LAYOUT_pretty` matrix, which places the two halves of
the keyboard side-by-side, rather than the left-hand side being on top.

View file

@ -0,0 +1,21 @@
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ifndef QUANTUM_DIR
include ../../../../Makefile
endif

View file

@ -1,10 +1,10 @@
#include "kinesis.h"
#include QMK_KEYBOARD_H
#define _DVORAK 0 // Base Dvorak layer
#define _MEDIA 1 // Media layer
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DVORAK] = KEYMAP(
[_DVORAK] = LAYOUT(
// left hand
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5,
@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TG(_MEDIA), KC_ENT, KC_SPC
),
[_MEDIA] = KEYMAP(
[_MEDIA] = LAYOUT(
// left hand
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,

View file

@ -1,6 +1,4 @@
#include "kinesis.h"
#include "action_layer.h"
#include "eeconfig.h"
#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
@ -66,7 +64,7 @@ void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
}
qk_tap_dance_action_t tap_dance_actions[] = {
[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
@ -106,9 +104,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
* | / | / |-------| |-------| / | / |
* | Fn | Number| Bspc | | Enter |Number2| Fn2 |
* `-----------------------' `-----------------------'
* `-----------------------' `-----------------------'
*/
[_COLEMAK] = KEYMAP(
[_COLEMAK] = LAYOUT(
// Left Hand
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
@ -152,9 +150,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Space | Enter |App/Alt| | RGUI | Delete| Bspc |
* | / | / |-------| |-------| / | / |
* | Fn | Number| Bspc | | Enter |Number2| Fn2 |
* `-----------------------' `-----------------------'
* `-----------------------' `-----------------------'
*/
[_QWERTY] = KEYMAP(
[_QWERTY] = LAYOUT(
// Left Hand
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
@ -162,7 +160,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B,
KC_INS, KC_GRV, KC_LBRC, KC_RBRC,
//Left Thumb
//Left Thumb
CTLESC, ALL_T(KC_NO),
ALTAPP,
SPCFN, ENTNS, KC_BSPC,
@ -199,9 +197,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | |
* | | |-------| |-------| | |
* | | | | | | | |
* `-----------------------' `-----------------------'
* `-----------------------' `-----------------------'
*/
[_NUMBERS] = KEYMAP(
[_NUMBERS] = LAYOUT(
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
@ -216,17 +214,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Right Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
// Right Thumb
_______, _______,
_______,
_______, _______, _______
),
[_NUMBERS2] = KEYMAP(
[_NUMBERS2] = LAYOUT(
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
@ -241,10 +239,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Right Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
// Right Thumb
_______, _______,
_______,
@ -269,13 +267,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | |
* | | |-------| |-------| | |
* | | | | | | | |
* `-----------------------' `-----------------------'
* `-----------------------' `-----------------------'
*/
[_FUNCTION] = KEYMAP(
[_FUNCTION] = LAYOUT(
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
_______, _______, _______, KC_UP, _______, _______,
_______, _______, _______, KC_UP, _______, _______,
_______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB),
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC,
_______, _______, _______, _______,
@ -283,7 +281,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______,
_______,
_______, _______, _______,
// Right Hand
// Right Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
_______, _______, KC_UP, LCTL(KC_Y), _______, _______,
@ -296,11 +294,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______
),
[_FUNCTION2] = KEYMAP(
[_FUNCTION2] = LAYOUT(
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
_______, _______, _______, KC_UP, _______, _______,
_______, _______, _______, KC_UP, _______, _______,
_______, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, LCA(KC_TAB),
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_BSPC,
_______, _______, _______, _______,
@ -308,7 +306,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______,
_______,
_______, _______, _______,
// Right Hand
// Right Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
_______, _______, KC_UP, LCTL(KC_Y), _______, _______,
@ -340,9 +338,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | |
* | | |-------| |-------| | |
* | | | | | KP Ent| | |
* `-----------------------' `-----------------------'
* `-----------------------' `-----------------------'
*/
[_NUMPAD] = KEYMAP(
[_NUMPAD] = LAYOUT(
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_NLCK, _______, _______, _______, _______,
@ -386,9 +384,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | LAlt | | RGUI | | |
* | Space | Enter |-------| |-------| Delete| Bspc |
* | | | Bspc | | Enter | | |
* `-----------------------' `-----------------------'
* `-----------------------' `-----------------------'
*/
[_COLEMAKGM] = KEYMAP(
[_COLEMAKGM] = LAYOUT(
// Left Hand
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
@ -432,9 +430,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | LAlt | | RGUI | | |
* | Space | Enter |-------| |-------| Delete| Bspc |
* | | | Bspc | | Enter | | |
* `-----------------------' `-----------------------'
* `-----------------------' `-----------------------'
*/
[_QWERTYGM] = KEYMAP(
[_QWERTYGM] = LAYOUT(
// Left Hand
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
@ -478,9 +476,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | |
* | | |-------| |-------| | |
* | | | | | | | |
* `-----------------------' `-----------------------'
* `-----------------------' `-----------------------'
*/
[_ADJUST] = KEYMAP(
[_ADJUST] = LAYOUT(
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM,
@ -498,14 +496,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______,
_______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
// Right Thumb
_______, _______,
_______,
_______, _______, _______
),
[_ADJUST2] = KEYMAP(
[_ADJUST2] = LAYOUT(
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, COLEMAK, QWERTY, _______, COLEMAKGM, QWERTYGM,
@ -523,7 +521,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______,
_______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
// Right Thumb
_______, _______,
_______,

View file

@ -1,5 +1,4 @@
#include "kinesis.h"
#include "action_layer.h"
#include QMK_KEYBOARD_H
#include "mousekey.h"
#define _QWERTY 0 // Base qerty
@ -23,7 +22,7 @@ enum {
};
// Train out of using uncomfortable esc and GUI keys.
// Train out of using uncomfortable esc and GUI keys.
/****************************************************************************************************
*
* Keymap: Default Layer in Qwerty
@ -51,7 +50,7 @@ enum {
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = KEYMAP(
[_QWERTY] = LAYOUT(
XXXXXXX, KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8,
KC_GRAVE, KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,
KC_TAB, KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,
@ -66,13 +65,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS,
KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,
KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT,
KC_FN6, KC_FN7, KC_LBRC ,KC_RBRC,
KC_FN6, KC_FN7, KC_LBRC ,KC_RBRC,
KC_RALT,KC_RGUI,
KC_PGUP,
KC_PGDN,KC_ENTER ,KC_SPC
),
/* _SYMB level, more planck like. Much work to make sequences into multi-finger rolls. eg ([1,0]), !=0
* Also sorted by frequency / strength of finger.
*
@ -100,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SYMB] = KEYMAP(
[_SYMB] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, KC_CIRC, KC_LCBR, KC_RCBR, KC_AT, KC_PERC,
@ -120,8 +119,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,
_______, _______, _______
),
/* _SYMB2ol level, more ergodox like
*
* ,-------------------------------------------------------------------------------------------------------------------.
@ -148,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SYMB2] = KEYMAP(
[_SYMB2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, KC_ASTR, KC_HASH, _______, _______,
_______, KC_SLSH, RSFT(KC_COMM), RSFT(KC_DOT), _______, _______,
@ -175,7 +174,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------|
* | =+ | ! | @ | # | $ | % | | ^ | & | * | ( | ) |MS Fast |
* |--------+------+------+------+------+------| +------+------+------+------+------+--------|
* | Tab | | | | |PgUp | | MwU |MS_UL | MS_U |MS_UR | | Ms Norm|
* | Tab | | | | |PgUp | | MwU |MS_UL | MS_U |MS_UR | | Ms Norm|
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* |MouseFN1|GUI_V |GUI X |GUI C |GUI_V | | | | MS_L |Mouse1| MS_R | |MS Slow |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
@ -193,7 +192,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_MOUSE] = KEYMAP(
[_MOUSE] = LAYOUT(
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_EXLM ,KC_AT, KC_HASH, KC_DLR ,KC_PERC ,
_______, KC_NO, KC_NO, KC_UP, KC_NO, KC_PGUP,
@ -203,8 +202,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______,
_______,
_______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_FN0,RESET,
KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_ACL2,
_______, _______, _______, _______, _______, _______, _______, KC_FN0,RESET,
KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_ACL2,
KC_WH_U, M(A_MUL), KC_MS_U, M(A_MUR), KC_NO, KC_ACL1,
KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_ACL0,
KC_WH_D, M(A_MDL), KC_MS_D, M(A_MDR), RSFT(KC_LBRC), RSFT(KC_RBRC),
@ -242,7 +241,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_TRANS] = KEYMAP(
[_TRANS] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
@ -262,22 +261,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,
_______, _______, _______
),
};
const uint16_t PROGMEM fn_actions[] = {
[0] = ACTION_LAYER_TAP_TOGGLE(_MOUSE) ,
[1] = ACTION_LAYER_TOGGLE(_MOUSE) ,
[2] = ACTION_LAYER_TAP_TOGGLE(_SYMB) ,
[5]= ACTION_LAYER_TAP_KEY(_SYMB,KC_RIGHT),
[0] = ACTION_LAYER_TAP_TOGGLE(_MOUSE) ,
[1] = ACTION_LAYER_TOGGLE(_MOUSE) ,
[2] = ACTION_LAYER_TAP_TOGGLE(_SYMB) ,
[5]= ACTION_LAYER_TAP_KEY(_SYMB,KC_RIGHT),
[4]= ACTION_MODS_TAP_KEY(MOD_LGUI,KC_LEFT),
[6]= ACTION_LAYER_TAP_KEY(_SYMB,KC_UP),
[6]= ACTION_LAYER_TAP_KEY(_SYMB,KC_UP),
[7]= ACTION_MODS_TAP_KEY(MOD_LGUI,KC_DOWN),
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
@ -292,7 +291,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}
break;
// from algernon's ErgoDox EZ layout,
// from algernon's ErgoDox EZ layout,
case A_MUL:
if (record->event.pressed) {
mousekey_on(KC_MS_UP);
@ -336,7 +335,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}
mousekey_send();
break;
}
}
return MACRO_NONE;
};
@ -358,7 +357,7 @@ void matrix_scan_user(void) {
caps_lock_led_on();
}
break;
case 2:
if (!(host_keyboard_leds() & (1 << USB_LED_SCROLL_LOCK))) {
all_led_off();

View file

@ -1,6 +1,4 @@
#include QMK_KEYBOARD_H
#include "action_layer.h"
#include "eeconfig.h"
extern keymap_config_t keymap_config;
@ -68,7 +66,7 @@ extern keymap_config_t keymap_config;
| BkSp | / |------||------| / | Space |
| | Media | End || PgDn | KeyPd | |
`---------------------'`----------------------'
Colemak layer:
,-------------------------------------------.,-------------------------------------------.
| = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |

View file

@ -1,7 +1,7 @@
# kinesis_stapelberg keyboard firmware
This folder contains the firmware customization required to run QMK on the custom controller for the Kinesis Advantage created by Michael Stapelberg.
It differs from the `alvicstep keyboard in that the existing QMK Kinesis Advantage project uses the existing controller board provided by Kinesis.
It differs from the `alvicstep` keyboard in that the existing QMK Kinesis Advantage project uses the existing controller board provided by Kinesis.
The controller board hardware is described
[here](http://michael.stapelberg.de/Artikel/kinesis_custom_controller)

View file

@ -3,45 +3,77 @@
#include "quantum.h"
#define ___ KC_NO
// This a shortcut to help you visually see your layout.
// The first section contains all of the arguments as on the physical keyboard
// The second converts the arguments into the 2-D scanned array
#define KEYMAP( \
kC0,kD0,kE0,kC1,kD1,kE1,kC2,kD2,kE2, \
k00,k10,k20,k30,k40,k50, \
k01,k11,k21,k31,k41,k51, \
k02,k12,k22,k32,k42,k52, \
k03,k13,k23,k33,k43,k53, \
k14,k24,k34,k54, \
k56,k55, \
k35, \
k36,k46,k25, \
kC3,kD3,kE3,kC4,kD4,kE4,kC5,kE5,kD5, \
k60,k70,k80,k90,kA0,kB0, \
k61,k71,k81,k91,kA1,kB1, \
k62,k72,k82,k92,kA2,kB2, \
k63,k73,k83,k93,kA3,kB3, \
k64,k84,k94,kA4, \
k96,k85, \
k86, \
k66,k75,k65 \
) { \
{ k00, k01, k02, k03, KC_NO, KC_NO, KC_NO }, \
{ k10, k11, k12, k13, k14, KC_NO, KC_NO }, \
{ k20, k21, k22, k23, k24, k25, KC_NO }, \
{ k30, k31, k32, k33, k34, k35, k36 }, \
{ k40, k41, k42, k43, KC_NO, KC_NO, k46 }, \
{ k50, k51, k52, k53, k54, k55, k56 }, \
{ k60, k61, k62, k63, k64, k65, k66 }, \
{ k70, k71, k72, k73, KC_NO, k75, KC_NO }, \
{ k80, k81, k82, k83, k84, k85, k86 }, \
{ k90, k91, k92, k93, k94, KC_NO, k96 }, \
{ kA0, kA1, kA2, kA3, kA4, KC_NO, KC_NO }, \
{ kB0, kB1, kB2, kB3, KC_NO, KC_NO, KC_NO }, \
{ kC0, kC1, kC2, kC3, kC4, kC5, KC_NO }, \
{ kD0, kD1, kD2, kD3, kD4, kD5, KC_NO }, \
{ kE0, kE1, kE2, kE3, kE4, kE5, KC_NO } \
#define LAYOUT( \
kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, \
k00, k10, k20, k30, k40, k50, \
k01, k11, k21, k31, k41, k51, \
k02, k12, k22, k32, k42, k52, \
k03, k13, k23, k33, k43, k53, \
k14, k24, k34, k54, \
k56, k55, \
k35, \
k36, k46, k25, \
\
kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
k60, k70, k80, k90, kA0, kB0, \
k61, k71, k81, k91, kA1, kB1, \
k62, k72, k82, k92, kA2, kB2, \
k63, k73, k83, k93, kA3, kB3, \
k64, k84, k94, kA4, \
k96, k85, \
k86, \
k66, k75, k65 \
) { \
{ k00, k01, k02, k03, ___, ___, ___ }, \
{ k10, k11, k12, k13, k14, ___, ___ }, \
{ k20, k21, k22, k23, k24, k25, ___ }, \
{ k30, k31, k32, k33, k34, k35, k36 }, \
{ k40, k41, k42, k43, ___, ___, k46 }, \
{ k50, k51, k52, k53, k54, k55, k56 }, \
{ k60, k61, k62, k63, k64, k65, k66 }, \
{ k70, k71, k72, k73, ___, k75, ___ }, \
{ k80, k81, k82, k83, k84, k85, k86 }, \
{ k90, k91, k92, k93, k94, ___, k96 }, \
{ kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
{ kB0, kB1, kB2, kB3, ___, ___, ___ }, \
{ kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
{ kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
{ kE0, kE1, kE2, kE3, kE4, kE5, ___ } \
}
/* ---------------- LEFT HAND ----------------- ---------------- RIGHT HAND ---------------- */
#define LAYOUT_pretty( \
kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
k00, k10, k20, k30, k40, k50, k60, k70, k80, k90, kA0, kB0, \
k01, k11, k21, k31, k41, k51, k61, k71, k81, k91, kA1, kB1, \
k02, k12, k22, k32, k42, k52, k62, k72, k82, k92, kA2, kB2, \
k03, k13, k23, k33, k43, k53, k63, k73, k83, k93, kA3, kB3, \
k14, k24, k34, k54, k64, k84, k94, kA4, \
k56, k55, k96, k85, \
k35, k86, \
k36, k46, k25, k66, k75, k65 \
) { \
{ k00, k01, k02, k03, ___, ___, ___ }, \
{ k10, k11, k12, k13, k14, ___, ___ }, \
{ k20, k21, k22, k23, k24, k25, ___ }, \
{ k30, k31, k32, k33, k34, k35, k36 }, \
{ k40, k41, k42, k43, ___, ___, k46 }, \
{ k50, k51, k52, k53, k54, k55, k56 }, \
{ k60, k61, k62, k63, k64, k65, k66 }, \
{ k70, k71, k72, k73, ___, k75, ___ }, \
{ k80, k81, k82, k83, k84, k85, k86 }, \
{ k90, k91, k92, k93, k94, ___, k96 }, \
{ kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
{ kB0, kB1, kB2, kB3, ___, ___, ___ }, \
{ kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
{ kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
{ kE0, kE1, kE2, kE3, kE4, kE5, ___ } \
}
/*