summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornoroadsleft <18669334+noroadsleft@users.noreply.github.com>2018-10-03 17:33:14 +0200
committerDrashna Jaelre <drashna@live.com>2018-10-03 17:33:14 +0200
commit404db1d06fa9c0dd25fff3bfa1b2ebed7273a8fc (patch)
tree94aa5e05e3aa44d745c79197280566efe7fb6f81
parent4d1d1b7196e4aec3f91cc17856aa15c9a92d6ace (diff)
downloadqmk_firmware-404db1d06fa9c0dd25fff3bfa1b2ebed7273a8fc.tar.gz
qmk_firmware-404db1d06fa9c0dd25fff3bfa1b2ebed7273a8fc.tar.xz
handwired/ibm122m: refactor and Configurator support (#4054)
* handwired/ibm122m: refactor Refactored layout macro and keymaps to more closely resemble the keyboard's physical layout. * handwired/ibm122m: add Configurator support
-rw-r--r--keyboards/handwired/ibm122m/ibm122m.h15
-rw-r--r--keyboards/handwired/ibm122m/info.json136
-rw-r--r--keyboards/handwired/ibm122m/keymaps/default/keymap.c22
-rw-r--r--keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c309
4 files changed, 308 insertions, 174 deletions
diff --git a/keyboards/handwired/ibm122m/ibm122m.h b/keyboards/handwired/ibm122m/ibm122m.h
index 93e18b4e6..a52bf4bc4 100644
--- a/keyboards/handwired/ibm122m/ibm122m.h
+++ b/keyboards/handwired/ibm122m/ibm122m.h
@@ -21,14 +21,13 @@
// The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array
#define LAYOUT( \
- k09, k19, k1A, k29, k39, k3A, k49, k59, k5A, k69, k79, k7A, k3G, k3H, k2G, \
- k0A, k0B, k1B, k2A, k2B, k3B, k4A, k4B, k5B, k6A, k6B, k7B, k1G, k5G, k4G, \
-k31, k32, k34, k24, k25, k26, k27, k37, k38, k28, k2C, k2D, k2E, k3E, k3C, k3F, k2F, k2H, k2I, k20, \
-k21, k41, k42, k44, k45, k46, k47, k57, k58, k48, k4C, k4D, k4E, k5E, k5C, k6F, k4F, k4H, k4I, k40, \
-k51, k52, k62, k14, k15, k16, k17, k07, k08, k18, k1C, k1D, k1E, k0E, k6E, k1F, k1H, k1I, k10, \
-k11, k12, k73, k74, k64, k65, k66, k67, k77, k78, k68, k6C, k6D, k7E, k63, k0G, k61, k6H, k6I, k7J, \
-k02, k01, k00, k70, k71, k03, k72, k60, k0J, k1J, k7H, k7I, \
- k0F \
+ k09, k19, k1A, k29, k39, k3A, k49, k59, k5A, k69, k79, k7A, \
+ k0A, k0B, k1B, k2A, k2B, k3B, k4A, k4B, k5B, k6A, k6B, k7B, \
+ k31, k32, k34, k24, k25, k26, k27, k37, k38, k28, k2C, k2D, k2E, k3E, k3C, k3F, k3G, k3H, k2G, k2F, k2H, k2I, k20, \
+ k21, k41, k42, k44, k45, k46, k47, k57, k58, k48, k4C, k4D, k4E, k5E, k5C, k6F, k1G, k5G, k4G, k4F, k4H, k4I, k40, \
+ k51, k52, k62, k14, k15, k16, k17, k07, k08, k18, k1C, k1D, k1E, k0E, k6E, k0G, k1F, k1H, k1I, k10, \
+ k11, k12, k73, k74, k64, k65, k66, k67, k77, k78, k68, k6C, k6D, k7E, k63, k60, k0J, k1J, k61, k6H, k6I, k7J, \
+ k02, k01, k00, k70, k71, k03, k72, k0F, k7H, k7I \
) \
{ \
{ k00, k01, k02, k03, KC_NO, KC_NO, KC_NO, k07, k08, k09, k0A, k0B, KC_NO, KC_NO, k0E, k0F, k0G, KC_NO, KC_NO, k0J }, \
diff --git a/keyboards/handwired/ibm122m/info.json b/keyboards/handwired/ibm122m/info.json
index e69de29bb..b9ce9e8f8 100644
--- a/keyboards/handwired/ibm122m/info.json
+++ b/keyboards/handwired/ibm122m/info.json
@@ -0,0 +1,136 @@
+{
+ "keyboard_name": "IBM Model M 122-key",
+ "url": "",
+ "maintainer": "qmk",
+ "bootloader": "",
+ "width": 24.75,
+ "height": 8,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"F13", "x":3.25, "y":0},
+ {"label":"F14", "x":4.25, "y":0},
+ {"label":"F15", "x":5.25, "y":0},
+ {"label":"F16", "x":6.25, "y":0},
+ {"label":"F17", "x":7.25, "y":0},
+ {"label":"F18", "x":8.25, "y":0},
+ {"label":"F19", "x":9.25, "y":0},
+ {"label":"F20", "x":10.25, "y":0},
+ {"label":"F21", "x":11.25, "y":0},
+ {"label":"F22", "x":12.25, "y":0},
+ {"label":"F23", "x":13.25, "y":0},
+ {"label":"F24", "x":14.25, "y":0},
+ {"label":"F1", "x":3.25, "y":1},
+ {"label":"F2", "x":4.25, "y":1},
+ {"label":"F3", "x":5.25, "y":1},
+ {"label":"F4", "x":6.25, "y":1},
+ {"label":"F5", "x":7.25, "y":1},
+ {"label":"F6", "x":8.25, "y":1},
+ {"label":"F7", "x":9.25, "y":1},
+ {"label":"F8", "x":10.25, "y":1},
+ {"label":"F9", "x":11.25, "y":1},
+ {"label":"F10", "x":12.25, "y":1},
+ {"label":"F11", "x":13.25, "y":1},
+ {"label":"F12", "x":14.25, "y":1},
+ {"label":"Esc", "x":0, "y":3},
+ {"x":1, "y":3},
+ {"label":"`", "x":2.25, "y":3},
+ {"label":"1", "x":3.25, "y":3},
+ {"label":"2", "x":4.25, "y":3},
+ {"label":"3", "x":5.25, "y":3},
+ {"label":"4", "x":6.25, "y":3},
+ {"label":"5", "x":7.25, "y":3},
+ {"label":"6", "x":8.25, "y":3},
+ {"label":"7", "x":9.25, "y":3},
+ {"label":"8", "x":10.25, "y":3},
+ {"label":"9", "x":11.25, "y":3},
+ {"label":"0", "x":12.25, "y":3},
+ {"label":"-", "x":13.25, "y":3},
+ {"label":"=", "x":14.25, "y":3},
+ {"label":"Backspace", "x":15.25, "y":3, "w":2},
+ {"label":"Insert", "x":17.5, "y":3},
+ {"label":"Home", "x":18.5, "y":3},
+ {"label":"Page Up", "x":19.5, "y":3},
+ {"label":"Num Lock", "x":20.75, "y":3},
+ {"label":"/", "x":21.75, "y":3},
+ {"label":"*", "x":22.75, "y":3},
+ {"label":"-", "x":23.75, "y":3},
+ {"x":0, "y":4},
+ {"x":1, "y":4},
+ {"label":"Tab", "x":2.25, "y":4, "w":1.5},
+ {"label":"Q", "x":3.75, "y":4},
+ {"label":"W", "x":4.75, "y":4},
+ {"label":"E", "x":5.75, "y":4},
+ {"label":"R", "x":6.75, "y":4},
+ {"label":"T", "x":7.75, "y":4},
+ {"label":"Y", "x":8.75, "y":4},
+ {"label":"U", "x":9.75, "y":4},
+ {"label":"I", "x":10.75, "y":4},
+ {"label":"O", "x":11.75, "y":4},
+ {"label":"P", "x":12.75, "y":4},
+ {"label":"[", "x":13.75, "y":4},
+ {"label":"]", "x":14.75, "y":4},
+ {"label":"Enter", "x":16, "y":4, "w":1.25, "h":2},
+ {"label":"Delete", "x":17.5, "y":4},
+ {"label":"End", "x":18.5, "y":4},
+ {"label":"Page Down", "x":19.5, "y":4},
+ {"label":"7", "x":20.75, "y":4},
+ {"label":"8", "x":21.75, "y":4},
+ {"label":"9", "x":22.75, "y":4},
+ {"label":"+", "x":23.75, "y":4},
+ {"x":0, "y":5},
+ {"x":1, "y":5},
+ {"label":"Caps Lock", "x":2.25, "y":5, "w":1.75},
+ {"label":"A", "x":4, "y":5},
+ {"label":"S", "x":5, "y":5},
+ {"label":"D", "x":6, "y":5},
+ {"label":"F", "x":7, "y":5},
+ {"label":"G", "x":8, "y":5},
+ {"label":"H", "x":9, "y":5},
+ {"label":"J", "x":10, "y":5},
+ {"label":"K", "x":11, "y":5},
+ {"label":"L", "x":12, "y":5},
+ {"label":";", "x":13, "y":5},
+ {"label":"'", "x":14, "y":5},
+ {"label":"#", "x":15, "y":5},
+ {"label":"Up", "x":18.5, "y":5},
+ {"label":"4", "x":20.75, "y":5},
+ {"label":"5", "x":21.75, "y":5},
+ {"label":"6", "x":22.75, "y":5},
+ {"x":23.75, "y":5},
+ {"x":0, "y":6},
+ {"x":1, "y":6},
+ {"label":"Shift", "x":2.25, "y":6, "w":1.25},
+ {"label":"\\", "x":3.5, "y":6},
+ {"label":"Z", "x":4.5, "y":6},
+ {"label":"X", "x":5.5, "y":6},
+ {"label":"C", "x":6.5, "y":6},
+ {"label":"V", "x":7.5, "y":6},
+ {"label":"B", "x":8.5, "y":6},
+ {"label":"N", "x":9.5, "y":6},
+ {"label":"M", "x":10.5, "y":6},
+ {"label":",", "x":11.5, "y":6},
+ {"label":".", "x":12.5, "y":6},
+ {"label":"/", "x":13.5, "y":6},
+ {"label":"Shift", "x":14.5, "y":6, "w":2.75},
+ {"label":"Left", "x":17.5, "y":6},
+ {"x":18.5, "y":6},
+ {"label":"Right", "x":19.5, "y":6},
+ {"label":"1", "x":20.75, "y":6},
+ {"label":"2", "x":21.75, "y":6},
+ {"label":"3", "x":22.75, "y":6},
+ {"label":"Enter", "x":23.75, "y":6, "h":2},
+ {"x":0, "y":7},
+ {"x":1, "y":7},
+ {"label":"Ctrl", "x":2.25, "y":7, "w":1.5},
+ {"label":"Alt", "x":4.75, "y":7, "w":1.5},
+ {"x":6.25, "y":7, "w":7},
+ {"label":"AltGr", "x":13.25, "y":7, "w":1.5},
+ {"label":"Ctrl", "x":15.75, "y":7, "w":1.5},
+ {"label":"Down", "x":18.5, "y":7},
+ {"label":"0", "x":20.75, "y":7, "w":2},
+ {"label":".", "x":22.75, "y":7}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/ibm122m/keymaps/default/keymap.c b/keyboards/handwired/ibm122m/keymaps/default/keymap.c
index 633df106e..fc383498a 100644
--- a/keyboards/handwired/ibm122m/keymaps/default/keymap.c
+++ b/keyboards/handwired/ibm122m/keymaps/default/keymap.c
@@ -16,16 +16,16 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// Original Layer
-[0] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_INS, KC_HOME, KC_PGUP,
- 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_DEL, KC_END, KC_PGDN,
-KC_ESC, KC_NO, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-KC_NO, KC_NO, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_ENTER, KC_P7, KC_P8, KC_P9, KC_PPLS,
-KC_NO, KC_NO, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOT, KC_BSLS, KC_P4, KC_P5, KC_P6, KC_BSPC,
-KC_NO, KC_NO, KC_LSHIFT,KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
-KC_NO, KC_NO, KC_LCTRL, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_NO, KC_RIGHT,KC_P0, KC_PDOT,
- KC_DOWN),
+ // Original Layer
+ [0] = LAYOUT(
+ KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
+ 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_ESC, KC_NO, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_NO, KC_NO, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_NO, KC_NO, 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_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_BSPC,
+ KC_NO, KC_NO, KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_NO, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_NO, KC_NO, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_P0, KC_PDOT
+ ),
};
void matrix_init_user(void) {
@@ -37,7 +37,7 @@ void matrix_scan_user(void) {
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
+
return true;
}
diff --git a/keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c b/keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c
index 02b69bacf..9cd58c0ec 100644
--- a/keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c
+++ b/keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c
@@ -16,7 +16,7 @@
#include QMK_KEYBOARD_H
enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE,
+ PLACEHOLDER = SAFE_RANGE,
DVP_ESC, // Grave escape basically i think
DVP_AMPR,
@@ -37,105 +37,104 @@ enum custom_keycodes {
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// Programmer's Dvorak
-[0] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_INS, KC_HOME, KC_PGUP,
- 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_DEL, KC_END, KC_PGDN,
-KC_ESC, TO(1), DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_EQUAL,DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-KC_NO, TO(2), KC_TAB, KC_SCOLON,KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, DVP_AT, KC_ENTER, KC_P7, KC_P8, KC_P9, KC_PPLS,
-KC_NO, KC_NO, MO(3), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, KC_BSLS, KC_P4, KC_P5, KC_P6, MO(4),
-LCTL(KC_F), KC_LALT, KC_LSHIFT,KC_ESC, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
-LCTL(KC_C), LCTL(KC_V), KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_BTN3, KC_RIGHT, KC_P0, KC_PDOT,
- KC_DOWN
-),
-
-// Qwerty layer + function
-[1] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_INS, KC_HOME, KC_PGUP,
- 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_DEL, KC_END, KC_PGDN,
-KC_ESC, TO(0), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-KC_NO, KC_NO, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_ENTER, KC_P7, KC_P8, KC_P9, KC_PPLS,
-KC_NO, KC_NO, MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOT, KC_BSLS, KC_P4, KC_P5, KC_P6, KC_BSPC,
-KC_NO, KC_NO, KC_LSHIFT,KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
-KC_NO, KC_LALT,KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_WH_D, KC_RIGHT,KC_P0, KC_PDOT,
- KC_DOWN
-),
-// Orirginal Layer
-[2] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_INS, KC_HOME, KC_PGUP,
- 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_DEL, KC_END, KC_PGDN,
-KC_ESC, TO(1), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-KC_NO, TO(0), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_ENTER, KC_P7, KC_P8, KC_P9, KC_PPLS,
-KC_NO, KC_NO, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOT, KC_BSLS, KC_P4, KC_P5, KC_P6, KC_BSPC,
-KC_NO, KC_NO, KC_LSHIFT,KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
-KC_NO, KC_LALT,KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_WH_D, KC_RIGHT,KC_P0, KC_PDOT,
- KC_DOWN
-),
-
-// Function Layer
-[3] = LAYOUT(
- 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_INS, KC_HOME, KC_PGUP,
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_DEL, KC_END, KC_PGDN,
-MU_TOG, KC_NO, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-MU_MOD, KC_NO, KC_TAB, KC_NO, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_NO, KC_NO, KC_PGUP, KC_DEL, KC_NO, KC_NO, KC_LBRC, KC_RBRC,KC_ENTER, KC_NO, KC_NO, KC_NO, KC_PPLS,
-KC_NO, KC_NO, KC_TRNS, KC_NO, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_SCOLON, KC_QUOT, KC_BSLS, LSFT(KC_E), LSFT(KC_F), KC_NO, KC_BSPC,
-KC_NO, KC_LALT, KC_LSHIFT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, LSFT(KC_B), LSFT(KC_C), LSFT(KC_D), KC_PENT,
-KC_NO, KC_NO, KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_CAPS, KC_LEFT, KC_WH_D, KC_RIGHT,LSFT(KC_A), KC_PDOT,
- KC_DOWN
-),
-// Literally just the numpad is different
-[4] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_INS, KC_HOME, KC_PGUP,
- 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_DEL, KC_END, KC_PGDN,
-KC_ESC, TO(1), DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_EQUAL,DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH, KC_BSPC, KC_NO, KC_NO, KC_NO, KC_NO,
-KC_NO, TO(2), KC_TAB, KC_SCOLON,KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, DVP_AT, KC_ENTER, KC_BTN1, KC_MS_U, KC_BTN2, KC_NO,
-KC_NO, KC_NO, TO(0), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, KC_BSLS, KC_MS_L, KC_NO, KC_MS_R, KC_TRNS,
-LCTL(KC_F), KC_LALT, KC_LSHIFT,KC_NO, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_GT, KC_MS_D, KC_GT, KC_PENT,
-LCTL(KC_C), LCTL(KC_V), KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_BTN3, KC_RIGHT, KC_BTN1, KC_PDOT,
- KC_DOWN
-),
-/*
-[4] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_INS, KC_HOME, KC_PGUP,
- 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_DEL, KC_END, KC_PGDN,
-MU_TOG, TO(0), KC_DLR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
-MU_MOD, KC_NO, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LBRC, KC_RBRC,KC_ENTER, KC_NO, KC_NO, KC_NO, KC_PPLS,
-KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_QUOT, KC_BSLS, LSFT(KC_E), LSFT(KC_F), KC_NO, KC_BSPC,
-KC_NO, KC_LALT, KC_LSHIFT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, LSFT(KC_B), LSFT(KC_C), LSFT(KC_D), KC_PENT,
-KC_NO, KC_LGUI, KC_LCTRL, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_WH_D, KC_RIGHT, LSFT(KC_A), KC_PDOT,
- KC_DOWN
-),*/
-/*[0] = LAYOUT(
- KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_NO,TO(1),KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1,
- KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, TO(2),KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2,
- KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3,
- KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_BSPC,KC_4,KC_4,KC_4, KC_4,
- KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5,
- KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6,
- KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7,
- KC_8, KC_SPC,KC_8,KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, TO(1)
-
-),
-[1] = LAYOUT(
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, TO(0),KC_NO,KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, TO(2),KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_BSPC,KC_Q,KC_R,KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_SPC,KC_C,KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, TO(0)
-),
-[2] = LAYOUT(
- KC_LCTRL, KC_LALT, KC_C, KC_RALT, KC_E, KC_F, KC_G, KC_G, KC_H, KC_J, TO(0), TO(1), KC_M, KC_N, KC_QUOT, KC_DOWN, KC_UP, KC_R, KC_S, KC_ENTER,
- KC_PPLS, KC_B, KC_C, KC_D, KC_A, KC_S, KC_D, KC_F, KC_J, KC_J, KC_K, KC_NO, KC_K, KC_L, KC_SCOLON, KC_P4, KC_DEL, KC_P5, KC_P6, KC_RIGHT,
- KC_PMNS, KC_1, KC_C, KC_D, KC_1, KC_2, KC_3, KC_4, KC_7, KC_J, KC_K, KC_L, KC_8, KC_9, KC_0, KC_NLCK, KC_PGUP,KC_PSLS, KC_PAST, KC_T,
- KC_A, KC_ESC, TO(0),KC_D, KC_GRV, KC_F, KC_G, KC_5, KC_6, KC_J, KC_K, KC_L, KC_EQL, KC_N, KC_MINUS, KC_BSPC, KC_INS, KC_HOME, KC_S, KC_T,
- KC_PPLS, KC_NO, KC_TAB, KC_D, KC_Q, KC_W, KC_E, KC_R, KC_U, KC_J, KC_K, KC_L, KC_I, KC_O, KC_P, KC_P7, KC_PGDN,KC_P8, KC_P9, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_T, KC_Y, KC_J, KC_K, KC_L, KC_RBRC, KC_N, KC_LBRC, KC_P, KC_END, KC_R, KC_S, KC_T,
- KC_LEFT, KC_P1, KC_CAPS, KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_M, KC_J, KC_K, KC_L, KC_COMMA, KC_DOT, KC_BSLS, KC_PENT, KC_Q, KC_P2, KC_P3, KC_T,
- KC_LGUI, KC_SPACE, KC_RCTRL, KC_LSHIFT, KC_E, KC_F, KC_G, KC_B, KC_N, KC_J, KC_K, KC_L, KC_M, KC_N, KC_SLSH, KC_P, KC_Q, KC_P0, KC_PDOT, KC_KP_ENTER
+ // Programmer's Dvorak
+ [0] = LAYOUT(
+ KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
+ 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_ESC, TO(1), DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_EQUAL,DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_NO, TO(2), KC_TAB, KC_SCOLON,KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, DVP_AT, KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_NO, KC_NO, MO(3), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, KC_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, MO(4),
+ LCTL(KC_F), KC_LALT, KC_LSHIFT,KC_ESC, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_LEFT, KC_BTN3, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
+ LCTL(KC_C), LCTL(KC_V), KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_DOWN, KC_P0, KC_PDOT
+ ),
+
+ // Qwerty layer + function
+ [1] = LAYOUT(
+ KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
+ 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_ESC, TO(0), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_NO, KC_NO, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_NO, KC_NO, MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOT, KC_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_BSPC,
+ KC_NO, KC_NO, KC_LSHIFT,KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_NO, KC_LALT,KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_DOWN, KC_P0, KC_PDOT
+ ),
+
+ // Orirginal Layer
+ [2] = LAYOUT(
+ KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
+ 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_ESC, TO(1), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_NO, TO(0), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_NO, KC_NO, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOT, KC_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_BSPC,
+ KC_NO, KC_NO, KC_LSHIFT,KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_NO, KC_LALT,KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_DOWN, KC_P0, KC_PDOT
+ ),
+
+ // Function Layer
+ [3] = LAYOUT(
+ 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_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
+ MU_TOG, KC_NO, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ MU_MOD, KC_NO, KC_TAB, KC_NO, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_NO, KC_NO, KC_PGUP, KC_DEL, KC_NO, KC_NO, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_PPLS,
+ KC_NO, KC_NO, KC_TRNS, KC_NO, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_SCOLON, KC_QUOT, KC_BSLS, KC_UP, LSFT(KC_E), LSFT(KC_F), KC_NO, KC_BSPC,
+ KC_NO, KC_LALT, KC_LSHIFT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, LSFT(KC_B), LSFT(KC_C), LSFT(KC_D), KC_PENT,
+ KC_NO, KC_NO, KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_CAPS, KC_DOWN, LSFT(KC_A), KC_PDOT
+ ),
+
+ // Literally just the numpad is different
+ [4] = LAYOUT(
+ KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
+ 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_ESC, TO(1), DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_EQUAL,DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, TO(2), KC_TAB, KC_SCOLON,KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, DVP_AT, KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_BTN1, KC_MS_U, KC_BTN2, KC_NO,
+ KC_NO, KC_NO, TO(0), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, KC_BSLS, KC_UP, KC_MS_L, KC_NO, KC_MS_R, KC_TRNS,
+ LCTL(KC_F), KC_LALT, KC_LSHIFT,KC_NO, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_LEFT, KC_BTN3, KC_RIGHT, KC_GT, KC_MS_D, KC_GT, KC_PENT,
+ LCTL(KC_C), LCTL(KC_V), KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_DOWN, KC_BTN1, KC_PDOT
+
+ ),
+
+ /*
+ [4] = LAYOUT(
+ KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ MU_TOG, TO(0), KC_DLR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ MU_MOD, KC_NO, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_PPLS,
+ KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_QUOT, KC_BSLS, KC_UP, LSFT(KC_E), LSFT(KC_F), KC_NO, KC_BSPC,
+ KC_NO, KC_LALT, KC_LSHIFT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, LSFT(KC_B), LSFT(KC_C), LSFT(KC_D), KC_PENT,
+ KC_NO, KC_LGUI, KC_LCTRL, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_DOWN, LSFT(KC_A), KC_PDOT
+
),*/
+ /*[0] = LAYOUT(
+ KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_NO,TO(1),KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1,
+ KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, TO(2),KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2,
+ KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3,
+ KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_BSPC,KC_4,KC_4,KC_4, KC_4,
+ KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5,
+ KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6,
+ KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7,
+ KC_8, KC_SPC,KC_8,KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, TO(1)
+
+ ),
+ [1] = LAYOUT(
+ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, TO(0),KC_NO,KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
+ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, TO(2),KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
+ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
+ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_BSPC,KC_Q,KC_R,KC_S, KC_T,
+ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
+ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
+ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
+ KC_A, KC_SPC,KC_C,KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, TO(0)
+ ),
+ [2] = LAYOUT(
+ KC_LCTRL, KC_LALT, KC_C, KC_RALT, KC_E, KC_F, KC_G, KC_G, KC_H, KC_J, TO(0), TO(1), KC_M, KC_N, KC_QUOT, KC_DOWN, KC_UP, KC_R, KC_S, KC_ENTER,
+ KC_PPLS, KC_B, KC_C, KC_D, KC_A, KC_S, KC_D, KC_F, KC_J, KC_J, KC_K, KC_NO, KC_K, KC_L, KC_SCOLON, KC_P4, KC_DEL, KC_P5, KC_P6, KC_RIGHT,
+ KC_PMNS, KC_1, KC_C, KC_D, KC_1, KC_2, KC_3, KC_4, KC_7, KC_J, KC_K, KC_L, KC_8, KC_9, KC_0, KC_NLCK, KC_PGUP,KC_PSLS, KC_PAST, KC_T,
+ KC_A, KC_ESC, TO(0),KC_D, KC_GRV, KC_F, KC_G, KC_5, KC_6, KC_J, KC_K, KC_L, KC_EQL, KC_N, KC_MINUS, KC_BSPC, KC_INS, KC_HOME, KC_S, KC_T,
+ KC_PPLS, KC_NO, KC_TAB, KC_D, KC_Q, KC_W, KC_E, KC_R, KC_U, KC_J, KC_K, KC_L, KC_I, KC_O, KC_P, KC_P7, KC_PGDN,KC_P8, KC_P9, KC_T,
+ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_T, KC_Y, KC_J, KC_K, KC_L, KC_RBRC, KC_N, KC_LBRC, KC_P, KC_END, KC_R, KC_S, KC_T,
+ KC_LEFT, KC_P1, KC_CAPS, KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_M, KC_J, KC_K, KC_L, KC_COMMA, KC_DOT, KC_BSLS, KC_PENT, KC_Q, KC_P2, KC_P3, KC_T,
+ KC_LGUI, KC_SPACE, KC_RCTRL, KC_LSHIFT, KC_E, KC_F, KC_G, KC_B, KC_N, KC_J, KC_K, KC_L, KC_M, KC_N, KC_SLSH, KC_P, KC_Q, KC_P0, KC_PDOT, KC_KP_ENTER
+ ),*/
};
const uint16_t PROGMEM fn_actions[] = {
@@ -166,7 +165,7 @@ void matrix_scan_user(void) {
}
-bool left_shift_down = false;
+bool left_shift_down = false;
bool right_shift_down = false;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
@@ -196,11 +195,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
break;
-
-
+
+
case DVP_ESC:
if (left_shift_down || right_shift_down)
- {
+ {
if(record->event.pressed)
SEND_STRING("~");
return false;
@@ -214,7 +213,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case DVP_AMPR:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -228,10 +227,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("&");
return false;
}
- break;
-
+ break;
+
case DVP_LBRACKET:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -256,13 +255,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("[");
return false;
}
- break;
-
+ break;
+
case DVP_LCBR:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
- {
+ {
if(left_shift_down)
unregister_code(KC_LSHIFT);
if(right_shift_down)
@@ -270,7 +269,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_5);
unregister_code(KC_5);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -284,10 +283,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("{");
return false;
}
- break;
-
+ break;
+
case DVP_RCBR:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -298,7 +297,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_3);
unregister_code(KC_3);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -312,11 +311,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("}");
return false;
}
- break;
+ break;
case DVP_LPRN:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -327,7 +326,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_1);
unregister_code(KC_1);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -341,10 +340,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("(");
return false;
}
- break;
-//
+ break;
+//
case DVP_AT:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -357,7 +356,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_6);
unregister_code(KC_6);
unregister_code(KC_LSHIFT);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -371,11 +370,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("@");
return false;
}
- break;
+ break;
+
-
case DVP_EQUAL:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -386,7 +385,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_9);
unregister_code(KC_9);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -400,10 +399,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("=");
return false;
}
- break;
-
+ break;
+
case DVP_ASTERISK:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -414,7 +413,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_0);
unregister_code(KC_0);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -428,10 +427,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("*");
return false;
}
- break;
-
+ break;
+
case DVP_RPRN:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -442,7 +441,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_2);
unregister_code(KC_2);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -456,10 +455,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING(")");
return false;
}
- break;
+ break;
case DVP_PLUS:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -470,7 +469,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_4);
unregister_code(KC_4);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -483,10 +482,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("+");
}
return false;
- break;
-
+ break;
+
case DVP_RBRACKET:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -497,7 +496,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_6);
unregister_code(KC_6);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -510,10 +509,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("]");
}
return false;
- break;
-
+ break;
+
case DVP_EXLM:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -524,7 +523,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_8);
unregister_code(KC_8);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -537,10 +536,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("!");
}
return false;
- break;
-
+ break;
+
case DVP_HASH:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -551,7 +550,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_GRAVE);
unregister_code(KC_GRAVE);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -564,7 +563,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("#");
}
return false;
- break;
+ break;
case SHFT_DOT:
if(record->event.pressed)
SEND_STRING(">");
@@ -575,10 +574,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("<");
break;
- }
-
-
-
+ }
+
+
+
return true;
}