From ae91af95e24299384217b47bfc1a40f6d91cebdd Mon Sep 17 00:00:00 2001 From: Joe Wasson Date: Thu, 24 Aug 2017 12:05:44 -0700 Subject: [PATCH] Add split ansi layout and talljoe's keymap. --- keyboards/infinity60/infinity60.h | 3 +- keyboards/infinity60/rules.mk | 2 + .../60_ansi_split_bs_rshift/layout.json | 5 + .../60_ansi_split_bs_rshift/readme.md | 3 + .../60_ansi_split_bs_rshift/talljoe/config.h | 10 ++ .../60_ansi_split_bs_rshift/talljoe/keymap.c | 97 +++++++++++++++++++ .../default_60_ansi_split_bs_rshift/keymap.c | 21 ++++ .../60_ansi_split_bs_rshift/layout.json | 5 + .../default/60_ansi_split_bs_rshift/readme.md | 3 + 9 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 layouts/community/60_ansi_split_bs_rshift/layout.json create mode 100644 layouts/community/60_ansi_split_bs_rshift/readme.md create mode 100644 layouts/community/60_ansi_split_bs_rshift/talljoe/config.h create mode 100644 layouts/community/60_ansi_split_bs_rshift/talljoe/keymap.c create mode 100644 layouts/default/60_ansi_split_bs_rshift/default_60_ansi_split_bs_rshift/keymap.c create mode 100644 layouts/default/60_ansi_split_bs_rshift/layout.json create mode 100644 layouts/default/60_ansi_split_bs_rshift/readme.md diff --git a/keyboards/infinity60/infinity60.h b/keyboards/infinity60/infinity60.h index f1ba15e4890..21b8eeba2da 100644 --- a/keyboards/infinity60/infinity60.h +++ b/keyboards/infinity60/infinity60.h @@ -19,8 +19,9 @@ along with this program. If not, see . #include "quantum.h" -#ifdef INFINITY_PROTOTYPE +#define LAYOUT_60_ansi_split_bs_rshift KEYMAP +#ifdef INFINITY_PROTOTYPE /* Infinity prototype */ #define KEYMAP( \ K00, K10, K20, K30, K40, K50, K60, K70, K80, K01, K11, K21, K31, K41, K86, \ diff --git a/keyboards/infinity60/rules.mk b/keyboards/infinity60/rules.mk index a3ddd55c6c5..f689b547515 100644 --- a/keyboards/infinity60/rules.mk +++ b/keyboards/infinity60/rules.mk @@ -65,3 +65,5 @@ COMMAND_ENABLE = yes # Commands for debug and configuration SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover CUSTOM_MATRIX = yes # Custom matrix file + +LAYOUTS = 60_ansi_split_bs_rshift \ No newline at end of file diff --git a/layouts/community/60_ansi_split_bs_rshift/layout.json b/layouts/community/60_ansi_split_bs_rshift/layout.json new file mode 100644 index 00000000000..ebad5d89dcc --- /dev/null +++ b/layouts/community/60_ansi_split_bs_rshift/layout.json @@ -0,0 +1,5 @@ +[{a:7},"","","","","","","","","","","","","","",""], +[{w:1.5},"","","","","","","","","","","","","",{w:1.5},""], +[{w:1.75},"","","","","","","","","","","","",{w:2.25},""], +[{w:2.25},"","","","","","","","","","","",{w:1.75},"",{w:1},""], +[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},""] diff --git a/layouts/community/60_ansi_split_bs_rshift/readme.md b/layouts/community/60_ansi_split_bs_rshift/readme.md new file mode 100644 index 00000000000..479463f9a35 --- /dev/null +++ b/layouts/community/60_ansi_split_bs_rshift/readme.md @@ -0,0 +1,3 @@ +# 60_ansi_split_bs_rshift + + LAYOUT_60_ansi_split_bs_rshift \ No newline at end of file diff --git a/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h b/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h new file mode 100644 index 00000000000..f5ab0c8dc67 --- /dev/null +++ b/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h @@ -0,0 +1,10 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include QMK_KEYBOARD_CONFIG_H + +#define PREVENT_STUCK_MODIFIERS + +#define KM LAYOUT_60_ansi_split_bs_rshift + +#endif //CONFIG_USER_H \ No newline at end of file diff --git a/layouts/community/60_ansi_split_bs_rshift/talljoe/keymap.c b/layouts/community/60_ansi_split_bs_rshift/talljoe/keymap.c new file mode 100644 index 00000000000..9f8c3e44862 --- /dev/null +++ b/layouts/community/60_ansi_split_bs_rshift/talljoe/keymap.c @@ -0,0 +1,97 @@ +#include QMK_KEYBOARD_H + +enum layers { + _BASE = 0, + _WORKMAN, + _NORMAN, + _DVORAK, + _COLMAK, + _NAV, + _ADJUST, + _RESET, +}; + +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +#define NV_SPC LT(_NAV, KC_SPC) + +#define MO_NAV MO(_NAV) +#define MO_ADJ MO(_ADJUST) +#define MO_ADJ MO(_ADJUST) +#define MO_RST MO(_RESET) +#define TG_ADJ TG(_ADJUST) +#define LY_QWER DF(_BASE) +#define LY_WORK DF(_WORKMAN) +#define LY_NRMN DF(_NORMAN) +#define LY_DVRK DF(_DVORAK) +#define LY_CLMK DF(_COLMAK) +#define TG_NKRO MAGIC_TOGGLE_NKRO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = KM( + KC_ESC , 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_BSLS, KC_GRV, + 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_BSPC, + KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO_ADJ , + KC_LCTL, KC_LGUI, KC_LALT, NV_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_F24 ), + [_WORKMAN] = KM( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN, _______, _______, _______, + _______, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , _______, _______, + _______, KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM, KC_DOT , KC_SLSH, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), + [_NORMAN] = KM( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_Q , KC_W , KC_D , KC_F , KC_K , KC_J , KC_U , KC_R , KC_L , KC_SCLN, _______, _______, _______, + _______, KC_A , KC_S , KC_E , KC_T , KC_G , KC_Y , KC_N , KC_I , KC_O , KC_H , _______, _______, + _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_P , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), + [_DVORAK] = KM( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, + _______, KC_QUOT, KC_COMM, KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_SLSH, KC_EQL , _______, + _______, KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS, _______, + _______, KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), + [_COLMAK] = KM( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, _______, _______, _______, + _______, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , _______, _______, + _______, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), + [_NAV] = KM( + KC_GRV , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_VOLU, KC_INS , KC_PGUP, KC_UP , KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL , + XXXXXXX, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_MUTE, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END , XXXXXXX, XXXXXXX, + XXXXXXX, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_VOLD, KC_END , KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, XXXXXXX), + [_ADJUST] = KM( + MO_RST , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO_RST , + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + TG_NKRO, LY_QWER, LY_WORK, LY_NRMN, LY_DVRK, LY_CLMK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG_ADJ , + XXXXXXX, AG_NORM, AG_SWAP, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS), + // To Reset hit FN + ` + Esc + [_RESET] = KM( + RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX), +}; + +void matrix_init_user(void) { + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } +} + +void matrix_scan_user(void) { + +} + +uint32_t default_layer_state_set_kb(uint32_t state) { + // persist changes to default layers + eeconfig_update_default_layer(state); + return state; +} \ No newline at end of file diff --git a/layouts/default/60_ansi_split_bs_rshift/default_60_ansi_split_bs_rshift/keymap.c b/layouts/default/60_ansi_split_bs_rshift/default_60_ansi_split_bs_rshift/keymap.c new file mode 100644 index 00000000000..8cddf696d1e --- /dev/null +++ b/layouts/default/60_ansi_split_bs_rshift/default_60_ansi_split_bs_rshift/keymap.c @@ -0,0 +1,21 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_60_ansi_split_bs_rshift( + 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, + 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, 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, 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, KC_NO, KC_NO, KC_NO + ) +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + +}; diff --git a/layouts/default/60_ansi_split_bs_rshift/layout.json b/layouts/default/60_ansi_split_bs_rshift/layout.json new file mode 100644 index 00000000000..ebad5d89dcc --- /dev/null +++ b/layouts/default/60_ansi_split_bs_rshift/layout.json @@ -0,0 +1,5 @@ +[{a:7},"","","","","","","","","","","","","","",""], +[{w:1.5},"","","","","","","","","","","","","",{w:1.5},""], +[{w:1.75},"","","","","","","","","","","","",{w:2.25},""], +[{w:2.25},"","","","","","","","","","","",{w:1.75},"",{w:1},""], +[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:1.25},""] diff --git a/layouts/default/60_ansi_split_bs_rshift/readme.md b/layouts/default/60_ansi_split_bs_rshift/readme.md new file mode 100644 index 00000000000..479463f9a35 --- /dev/null +++ b/layouts/default/60_ansi_split_bs_rshift/readme.md @@ -0,0 +1,3 @@ +# 60_ansi_split_bs_rshift + + LAYOUT_60_ansi_split_bs_rshift \ No newline at end of file