diff --git a/keyboards/crkbd/rev4_1/standard/keymaps/raphael_mor/keymap.c b/keyboards/crkbd/rev4_1/standard/keymaps/raphael_mor/keymap.c deleted file mode 100644 index 6d8d5b7f..00000000 --- a/keyboards/crkbd/rev4_1/standard/keymaps/raphael_mor/keymap.c +++ /dev/null @@ -1,79 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_RALT - //`--------------------------' `--------------------------' - - ), - - [1] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, MO(3), KC_RALT - //`--------------------------' `--------------------------' - ), - - [2] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(3), KC_SPC, KC_ENT, _______, KC_RALT - //`--------------------------' `--------------------------' - ), - - [3] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RM_NEXT, RM_HUED, RM_SATD, RM_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT - //`--------------------------' `--------------------------' - ) -}; - -#ifdef ENCODER_MAP_ENABLE -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(KC_RGHT, KC_LEFT), }, - [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(KC_RGHT, KC_LEFT), }, - [2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(KC_RGHT, KC_LEFT), }, - [3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(RM_VALD, RM_VALU), ENCODER_CCW_CW(KC_RGHT, KC_LEFT), }, -}; -#endif diff --git a/keyboards/crkbd/rev4_1/standard/keymaps/raphael_mor/config.h b/keyboards/crkbd/rev4_1/standard/keymaps/raphaelmor/config.h similarity index 99% rename from keyboards/crkbd/rev4_1/standard/keymaps/raphael_mor/config.h rename to keyboards/crkbd/rev4_1/standard/keymaps/raphaelmor/config.h index aae511b0..332c716a 100644 --- a/keyboards/crkbd/rev4_1/standard/keymaps/raphael_mor/config.h +++ b/keyboards/crkbd/rev4_1/standard/keymaps/raphaelmor/config.h @@ -20,6 +20,7 @@ along with this program. If not, see . #pragma once + //#define USE_MATRIX_I2C //#define QUICK_TAP_TERM 0 diff --git a/keyboards/crkbd/rev4_1/standard/keymaps/raphaelmor/keymap.c b/keyboards/crkbd/rev4_1/standard/keymaps/raphaelmor/keymap.c new file mode 100644 index 00000000..0e0b1d3e --- /dev/null +++ b/keyboards/crkbd/rev4_1/standard/keymaps/raphaelmor/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +#include "raphaelmor.h" +// +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// [L_COLEMAK] = LAYOUT_split_3x6_3( +// //,-------------------------------------------------. ,------------------------------------------------. +// CM_LT5, CM_LT4, CM_LT3, CM_LT2, CM_LT1, CM_LT0, CM_RT0, CM_RT1, CM_RT2, CM_RT3, CM_RT4, CM_RT5, +// //|-------+-------+-------+-------+-------+---------| |-------+-------+-------+-------+-------+--------| +// CM_LM5, CM_LM4, CM_LM3, CM_LM2, CM_LM1, CM_LM0, CM_RM0, CM_RM1, CM_RM2, CM_RM3, CM_RM4, CM_RM5, +// //|-------+-------+-------+-------+-------+---------| |-------+-------+-------+-------+-------+--------| +// CM_LB5, CM_LB4, CM_LB3, CM_LB2, CM_LB1, CM_LB0, CM_RB0, CM_RB1, CM_RB2, CM_RB3, CM_RB4, CM_RB5, +// //|-------+-------+-------+-------+-------+---------| |-------+-------+-------+-------+-------+--------| +// CM_LH2, CM_LH1, CM_LH0, CM_RH0, CM_RH1, CM_RH2 +// //`-----------------------' `-----------------------' +// ), +// [L_HANDSDOWN] = LAYOUT_split_3x6_3( +// //,-------------------------------------------------. ,------------------------------------------------. +// HD_LT5, HD_LT4, HD_LT3, HD_LT2, HD_LT1, HD_LT0, HD_RT0, HD_RT1, HD_RT2, HD_RT3, HD_RT4, HD_RT5, +// //|-------+-------+-------+-------+-------+---------| |-------+-------+-------+-------+-------+--------| +// HD_LM5, HD_LM4, HD_LM3, HD_LM2, HD_LM1, HD_LM0, HD_RM0, HD_RM1, HD_RM2, HD_RM3, HD_RM4, HD_RM5, +// //|-------+-------+-------+-------+-------+---------| |-------+-------+-------+-------+-------+--------| +// HD_LB5, HD_LB4, HD_LB3, HD_LB2, HD_LB1, HD_LB0, HD_RB0, HD_RB1, HD_RB2, HD_RB3, HD_RB4, HD_RB5, +// //|-------+-------+-------+-------+-------+---------| |-------+-------+-------+-------+-------+--------| +// HD_LH2, HD_LH1, HD_LH0, HD_RH0, HD_RH1, HD_RH2 +// //`-----------------------' `-----------------------' +// ), +// +// } +// +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +#define RAMO_DO(LAYER, STR) [L_##LAYER] = LAYOUT_split_3x6_3( \ + STR##_LT5 , STR##_LT4 , STR##_LT3 , STR##_LT2 , STR##_LT1 , STR##_LT0 , STR##_RT0 , STR##_RT1 , STR##_RT2 , STR##_RT3 , STR##_RT4 , STR##_RT5 , \ + STR##_LM5 , STR##_LM4 , STR##_LM3 , STR##_LM2 , STR##_LM1 , STR##_LM0 , STR##_RM0 , STR##_RM1 , STR##_RM2 , STR##_RM3 , STR##_RM4 , STR##_RM5 , \ + STR##_LB5 , STR##_LB4 , STR##_LB3 , STR##_LB2 , STR##_LB1 , STR##_LB0 , STR##_RB0 , STR##_RB1 , STR##_RB2 , STR##_RB3 , STR##_RB4 , STR##_RB5 , \ + STR##_LH2 , STR##_LH1 , STR##_LH0 , STR##_RH0 , STR##_RH1 , STR##_RH2 \ + ), +RAMO_FOR_EACH_LAYER +#undef RAMO_DO +}; diff --git a/qmk.json b/qmk.json index cc63293b..28665896 100644 --- a/qmk.json +++ b/qmk.json @@ -1,6 +1,9 @@ { "userspace_version": "1.1", "build_targets": [ - ["crkbd/rev4_1/standard", "raphael_mor"] + [ + "crkbd/rev4_1/standard", + "raphaelmor" + ] ] -} \ No newline at end of file +} diff --git a/users/raphaelmor/README.md b/users/raphaelmor/README.md new file mode 100644 index 00000000..bfa62a31 --- /dev/null +++ b/users/raphaelmor/README.md @@ -0,0 +1,11 @@ +# HANDS DOWN GOLD and COLEMAK MIRYOKU CUSTOM SETUP FOR CORNE + +## TODO + +- Alpha for Colemak OK +- Alpha for Hands Down Gold OK +- Other Layers OK +- All extra (Boot, base layer, layer lock, etc...) +- Check Miryoku code +- Adaptive keys +- Combo diff --git a/users/raphaelmor/config.h b/users/raphaelmor/config.h new file mode 100644 index 00000000..a084a233 --- /dev/null +++ b/users/raphaelmor/config.h @@ -0,0 +1,25 @@ +#pragma once + +// default but used in macros +#undef TAPPING_TERM +#define TAPPING_TERM 200 + +// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. +#define QUICK_TAP_TERM 0 + +// Auto Shift +#define NO_AUTO_SHIFT_ALPHA +#define AUTO_SHIFT_TIMEOUT TAPPING_TERM +#define AUTO_SHIFT_NO_SETUP + +// Mouse key speed and acceleration. +#undef MOUSEKEY_DELAY +#define MOUSEKEY_DELAY 0 +#undef MOUSEKEY_INTERVAL +#define MOUSEKEY_INTERVAL 16 +#undef MOUSEKEY_WHEEL_DELAY +#define MOUSEKEY_WHEEL_DELAY 0 +#undef MOUSEKEY_MAX_SPEED +#define MOUSEKEY_MAX_SPEED 6 +#undef MOUSEKEY_TIME_TO_MAX +#define MOUSEKEY_TIME_TO_MAX 64 diff --git a/users/raphaelmor/layers/CMK-defs.h b/users/raphaelmor/layers/CMK-defs.h new file mode 100644 index 00000000..d26c7774 --- /dev/null +++ b/users/raphaelmor/layers/CMK-defs.h @@ -0,0 +1,124 @@ +#pragma once + +// Override keys with HRM and Layer keys + +#define CMK_A LCTL_T(KC_A) +#define CMK_B KC_B +#define CMK_C KC_C +#define CMK_D KC_D +#define CMK_E RGUI_T(KC_E) +#define CMK_F KC_F +#define CMK_G KC_G +#define CMK_H KC_H +#define CMK_I RALT_T(KC_I) +#define CMK_J KC_J +#define CMK_K KC_K +#define CMK_L KC_L +#define CMK_M KC_M +#define CMK_N RSFT_T(KC_N) +#define CMK_O RCTL_T(KC_O) +#define CMK_P KC_P +#define CMK_Q KC_Q +#define CMK_R LALT_T(KC_R) +#define CMK_S LGUI_T(KC_S) +#define CMK_T LSFT_T(KC_T) +#define CMK_U KC_U +#define CMK_V KC_V +#define CMK_W KC_W +#define CMK_X KC_X +#define CMK_Y KC_Y +#define CMK_Z KC_Z + + +#define CMK_ESC LT(L_MEDIA, KC_ESC) +#define CMK_SPC LT(L_NAV,KC_SPC) +#define CMK_TAB LT(L_MOUSE,KC_TAB) +#define CMK_ENT LT(L_SYM,KC_ENT) +#define CMK_BSPC LT(L_NUM,KC_BSPC) +#define CMK_DEL LT(L_FUN,KC_DEL) + + +#define CMK_QUOT KC_QUOT +#define CMK_COMM KC_COMM +#define CMK_DOT KC_DOT +#define CMK_SLSH KC_SLSH +#define CMK_HYPR KC_HYPR +#define CMK_MEH KC_MEH + + +// Now let's place these Colemak keycodes on the keymap +// for variation independent spatial referencing by key position +// +// Key Position Names for a 42 key split form factor +// Should cover Corne v4.1 +// ╭─────────────────────────╮ ╭─────────────────────────╮ +// │ LT5 LT4 LT3 LT2 LT1 LT0 │ │ RT0 RT1 RT2 RT3 RT4 RT5 │ +// │ LM5 LM4 LM3 LM2 LM1 LM0 │ │ RM0 RM1 RM2 RM3 RM4 RM5 │ +// │ LB5 LB4 LB3 LB2 LB1 LB0 │ │ RB0 RB1 RB2 RB3 RB4 RB5 │ +// ╰───────────╮ LH2 LH1 LH0 │ │ RH0 RH1 RH2 ╭───────────╯ +// ╰─────────────╯ ╰─────────────╯ +// +// +// Base (alpha) Layer Hands Down Gold (HRMs /+ thumb mods) +// ╭─────────────────────────╮ ╭─────────────────────────╮ +// │ ESC Q W F P G │ │ J L U Y ' HYP │ +// │ TAB A R S T D │ │ H N E I O MEH │ +// │ Z X C V B │ │ K M , . / │ +// ╰───────────╮ ESC SPC TAB │ │ ENT BSP DEL ╭───────────╯ +// ╰─────────────╯ ╰─────────────╯ +// +//qwfpg jluy; +//arstd hneio +//zxcvb km,./ + +#define CMK_LT5 CMK_ESC +#define CMK_LT4 CMK_Q +#define CMK_LT3 CMK_W +#define CMK_LT2 CMK_F +#define CMK_LT1 CMK_P +#define CMK_LT0 CMK_G + +#define CMK_RT0 CMK_J +#define CMK_RT1 CMK_L +#define CMK_RT2 CMK_U +#define CMK_RT3 CMK_Y +#define CMK_RT4 CMK_QUOT +#define CMK_RT5 CMK_HYPR + +#define CMK_LM5 CMK_TAB +#define CMK_LM4 CMK_A +#define CMK_LM3 CMK_R +#define CMK_LM2 CMK_S +#define CMK_LM1 CMK_T +#define CMK_LM0 CMK_D + +#define CMK_RM0 CMK_H +#define CMK_RM1 CMK_N +#define CMK_RM2 CMK_E +#define CMK_RM3 CMK_I +#define CMK_RM4 CMK_O +#define CMK_RM5 CMK_MEH + +#define CMK_LB5 KC_NO +#define CMK_LB4 CMK_Z +#define CMK_LB3 CMK_X +#define CMK_LB2 CMK_C +#define CMK_LB1 CMK_V +#define CMK_LB0 CMK_B + +#define CMK_RB0 CMK_K +#define CMK_RB1 CMK_M +#define CMK_RB2 CMK_COMM +#define CMK_RB3 CMK_DOT +#define CMK_RB4 CMK_SLSH +// TEMPORARY +#define CMK_RB5 DF(L_HANDSDOWN) + +//Primary Thumbs 1-3 (others are unique to the board) +#define CMK_LH2 CMK_ESC +#define CMK_LH1 CMK_SPC +#define CMK_LH0 CMK_TAB + +#define CMK_RH0 CMK_ENT +#define CMK_RH1 CMK_BSPC +#define CMK_RH2 CMK_DEL diff --git a/users/raphaelmor/layers/FUN-defs.h b/users/raphaelmor/layers/FUN-defs.h new file mode 100644 index 00000000..0df1d264 --- /dev/null +++ b/users/raphaelmor/layers/FUN-defs.h @@ -0,0 +1,67 @@ +#pragma once + +// Override keys with HRM and Layer keys + +#define FUN_NO KC_NO + +// Now let's place these Colemak keycodes on the keymap +// for variation independent spatial referencing by key position +// +// Key Position Names for a 42 key split form factor +// Should cover Corne v4.1 +// ╭─────────────────────────╮ ╭─────────────────────────╮ +// │ LT5 LT4 LT3 LT2 LT1 LT0 │ │ RT0 RT1 RT2 RT3 RT4 RT5 │ +// │ LM5 LM4 LM3 LM2 LM1 LM0 │ │ RM0 RM1 RM2 RM3 RM4 RM5 │ +// │ LB5 LB4 LB3 LB2 LB1 LB0 │ │ RB0 RB1 RB2 RB3 RB4 RB5 │ +// ╰───────────╮ LH2 LH1 LH0 │ │ RH0 RH1 RH2 ╭───────────╯ +// ╰─────────────╯ ╰─────────────╯ +// + +#define FUN_LT5 FUN_NO +#define FUN_LT4 KC_F12 +#define FUN_LT3 KC_F7 +#define FUN_LT2 KC_F8 +#define FUN_LT1 KC_F9 +#define FUN_LT0 KC_PSCR + +#define FUN_RT0 FUN_NO +#define FUN_RT1 FUN_NO +#define FUN_RT2 FUN_NO +#define FUN_RT3 FUN_NO +#define FUN_RT4 FUN_NO +#define FUN_RT5 FUN_NO + +#define FUN_LM5 FUN_NO +#define FUN_LM4 KC_F11 +#define FUN_LM3 KC_F4 +#define FUN_LM2 KC_F5 +#define FUN_LM1 KC_F6 +#define FUN_LM0 KC_SCRL +#define FUN_RM0 FUN_NO +#define FUN_RM1 KC_RSFT +#define FUN_RM2 KC_RGUI +#define FUN_RM3 KC_RALT +#define FUN_RM4 KC_RCTL +#define FUN_RM5 FUN_NO + +#define FUN_LB5 FUN_NO +#define FUN_LB4 KC_F10 +#define FUN_LB3 KC_F1 +#define FUN_LB2 KC_F2 +#define FUN_LB1 KC_F3 +#define FUN_LB0 KC_PAUS +#define FUN_RB0 FUN_NO +#define FUN_RB1 FUN_NO +#define FUN_RB2 FUN_NO +#define FUN_RB3 KC_ALGR +#define FUN_RB4 FUN_NO +#define FUN_RB5 FUN_NO + +//Primary Thumbs 1-3 (others are unique to the board) +#define FUN_LH2 KC_APP +#define FUN_LH1 KC_SPC +#define FUN_LH0 KC_TAB + +#define FUN_RH0 FUN_NO +#define FUN_RH1 FUN_NO +#define FUN_RH2 FUN_NO diff --git a/users/raphaelmor/layers/HDG-defs.h b/users/raphaelmor/layers/HDG-defs.h new file mode 100644 index 00000000..6591556a --- /dev/null +++ b/users/raphaelmor/layers/HDG-defs.h @@ -0,0 +1,117 @@ +#pragma once + +// Override keys with HRM and Layer keys + +#define HDG_A RSFT_T(KC_A) +#define HDG_B KC_B +#define HDG_C KC_C +#define HDG_D LSFT_T(KC_D) +#define HDG_E RGUI_T(KC_E) +#define HDG_F KC_F +#define HDG_G KC_G +#define HDG_H RCTL_T(KC_H) +#define HDG_I RALT_T(KC_I) +#define HDG_J KC_J +#define HDG_K KC_K +#define HDG_L KC_L +#define HDG_M HYPR_T(KC_M) +#define HDG_N LGUI_T(KC_N) +#define HDG_O KC_O +#define HDG_P MEH_T(KC_P) +#define HDG_Q KC_Q +#define HDG_R LCTL_T(KC_R) +#define HDG_S LALT_T(KC_S) +#define HDG_T LT(L_MOUSE,KC_T) +#define HDG_U KC_U +#define HDG_V KC_V +#define HDG_W KC_W +#define HDG_X KC_X +#define HDG_Y KC_Y +#define HDG_Z KC_Z + +#define HDG_SCLN KC_SCLN +#define HDG_DOT MEH_T(KC_DOT) +#define HDG_SLSH HYPR_T(KC_SLSH) +#define HDG_DQUO KC_DQUO +#define HDG_HYPR KC_HYPR +#define HDG_QUOT KC_QUOT +#define HDG_COMM KC_COMM +#define HDG_MINS KC_MINS +#define HDG_MEH KC_MEH + +#define HDG_TAB KC_TAB +#define HDG_ESC LT(L_MEDIA, KC_ESC) +#define HDG_SPC LT(L_NAV,KC_SPC) +#define HDG_ENT LT(L_SYM,KC_ENT) +#define HDG_BSPC LT(L_NUM,KC_BSPC) +#define HDG_DEL LT(L_FUN,KC_DEL) + +// Now let's place these HD keycodes on the keymap +// for variation independent spatial referencing by key position +// +// Key Position Names for a 42 key split form factor +// Should cover Corne v4.1 +// ╭─────────────────────────╮ ╭─────────────────────────╮ +// │ LT5 LT4 LT3 LT2 LT1 LT0 │ │ RT0 RT1 RT2 RT3 RT4 RT5 │ +// │ LM5 LM4 LM3 LM2 LM1 LM0 │ │ RM0 RM1 RM2 RM3 RM4 RM5 │ +// │ LB5 LB4 LB3 LB2 LB1 LB0 │ │ RB0 RB1 RB2 RB3 RB4 RB5 │ +// ╰───────────╮ LH2 LH1 LH0 │ │ RH0 RH1 RH2 ╭───────────╯ +// ╰─────────────╯ ╰─────────────╯ +// +// +// Base (alpha) Layer Hands Down Gold (HRMs /+ thumb mods) +// ╭─────────────────────────╮ ╭─────────────────────────╮ +// │ ESC J G M P V │ │ ; . / " ' HYP │ +// │ TAB R S N D B │ │ , A E I H MEH │ +// │ Z X F L C W │ │ - U O Y K Q │ +// ╰───────────╮ ESC SPC T │ │ ENT BSP DEL ╭───────────╯ +// ╰─────────────╯ ╰─────────────╯ +// + +#define HDG_LT5 HDG_ESC +#define HDG_LT4 HDG_J +#define HDG_LT3 HDG_G +#define HDG_LT2 HDG_M +#define HDG_LT1 HDG_P +#define HDG_LT0 HDG_V +#define HDG_RT0 HDG_SCLN +#define HDG_RT1 HDG_DOT +#define HDG_RT2 HDG_SLSH +#define HDG_RT3 HDG_DQUO +#define HDG_RT4 HDG_QUOT +// #define HDG_RT5 HDG_HYPR +#define HDG_RT5 DF(L_COLEMAK) + +#define HDG_LM5 HDG_TAB +#define HDG_LM4 HDG_R +#define HDG_LM3 HDG_S +#define HDG_LM2 HDG_N +#define HDG_LM1 HDG_D +#define HDG_LM0 HDG_B +#define HDG_RM0 HDG_COMM +#define HDG_RM1 HDG_A +#define HDG_RM2 HDG_E +#define HDG_RM3 HDG_I +#define HDG_RM4 HDG_H +#define HDG_RM5 HDG_MEH + +#define HDG_LB5 HDG_Z +#define HDG_LB4 HDG_X +#define HDG_LB3 HDG_F +#define HDG_LB2 HDG_L +#define HDG_LB1 HDG_C +#define HDG_LB0 HDG_W +#define HDG_RB0 HDG_MINS +#define HDG_RB1 HDG_U +#define HDG_RB2 HDG_O +#define HDG_RB3 HDG_Y +#define HDG_RB4 HDG_K +#define HDG_RB5 HDG_Q + +//Primary Thumbs 1-3 (others are unique to the board) +#define HDG_LH2 HDG_ESC +#define HDG_LH1 HDG_SPC +#define HDG_LH0 HDG_T +#define HDG_RH0 HDG_ENT +#define HDG_RH1 HDG_BSPC +#define HDG_RH2 HDG_DEL diff --git a/users/raphaelmor/layers/MED-defs.h b/users/raphaelmor/layers/MED-defs.h new file mode 100644 index 00000000..95e30a6a --- /dev/null +++ b/users/raphaelmor/layers/MED-defs.h @@ -0,0 +1,69 @@ +#pragma once + +// Override keys with HRM and Layer keys + +#define MED_NO KC_NO + +// Now let's place these Colemak keycodes on the keymap +// for variation independent spatial referencing by key position +// +// Key Position Names for a 42 key split form factor +// Should cover Corne v4.1 +// ╭─────────────────────────╮ ╭─────────────────────────╮ +// │ LT5 LT4 LT3 LT2 LT1 LT0 │ │ RT0 RT1 RT2 RT3 RT4 RT5 │ +// │ LM5 LM4 LM3 LM2 LM1 LM0 │ │ RM0 RM1 RM2 RM3 RM4 RM5 │ +// │ LB5 LB4 LB3 LB2 LB1 LB0 │ │ RB0 RB1 RB2 RB3 RB4 RB5 │ +// ╰───────────╮ LH2 LH1 LH0 │ │ RH0 RH1 RH2 ╭───────────╯ +// ╰─────────────╯ ╰─────────────╯ +// + +#define MED_LT5 MED_NO +#define MED_LT4 MED_NO +#define MED_LT3 MED_NO +#define MED_LT2 MED_NO +#define MED_LT1 MED_NO +#define MED_LT0 MED_NO + +#define MED_RT0 RGB_TOG +#define MED_RT1 RGB_MOD +#define MED_RT2 RGB_HUI +#define MED_RT3 RGB_SAI +#define MED_RT4 RGB_VAI +#define MED_RT5 MED_NO + +#define MED_LM5 NAV_NO +#define MED_LM4 KC_LCTL +#define MED_LM3 KC_LALT +#define MED_LM2 KC_LGUI +#define MED_LM1 KC_LSFT +#define MED_LM0 NAV_NO + +#define MED_RM0 MED_NO +#define MED_RM1 MED_NO +#define MED_RM2 KC_MPRV +#define MED_RM3 KC_VOLD +#define MED_RM4 KC_VOLU +#define MED_RM5 KC_MNXT + +#define MED_LB5 MED_NO +#define MED_LB4 MED_NO +#define MED_LB3 MED_NO +#define MED_LB2 KC_ALGR +#define MED_LB1 MED_NO +#define MED_LB0 MED_NO + +#define MED_RB0 MED_NO +#define MED_RB1 MED_NO +#define MED_RB2 MED_NO +#define MED_RB3 MED_NO +#define MED_RB4 MED_NO +#define MED_RB5 MED_NO + +//Primary Thumbs 1-3 (others are unique to the board) +#define MED_LH2 MED_NO +#define MED_LH1 MED_NO +#define MED_LH0 MED_NO + +#define MED_RH0 KC_MSTP +#define MED_RH1 KC_MPLY +#define MED_RH2 KC_MUTE diff --git a/users/raphaelmor/layers/MOS-defs.h b/users/raphaelmor/layers/MOS-defs.h new file mode 100644 index 00000000..8617c024 --- /dev/null +++ b/users/raphaelmor/layers/MOS-defs.h @@ -0,0 +1,68 @@ +#pragma once + +// Override keys with HRM and Layer keys + +#define MOS_NO KC_NO + +// Now let's place these Colemak keycodes on the keymap +// for variation independent spatial referencing by key position +// +// Key Position Names for a 42 key split form factor +// Should cover Corne v4.1 +// ╭─────────────────────────╮ ╭─────────────────────────╮ +// │ LT5 LT4 LT3 LT2 LT1 LT0 │ │ RT0 RT1 RT2 RT3 RT4 RT5 │ +// │ LM5 LM4 LM3 LM2 LM1 LM0 │ │ RM0 RM1 RM2 RM3 RM4 RM5 │ +// │ LB5 LB4 LB3 LB2 LB1 LB0 │ │ RB0 RB1 RB2 RB3 RB4 RB5 │ +// ╰───────────╮ LH2 LH1 LH0 │ │ RH0 RH1 RH2 ╭───────────╯ +// ╰─────────────╯ ╰─────────────╯ +// +#define MOS_LT5 NAV_NO +#define MOS_LT4 NAV_NO +#define MOS_LT3 NAV_NO +#define MOS_LT2 NAV_NO +#define MOS_LT1 NAV_NO +#define MOS_LT0 NAV_NO + +#define MOS_RT0 SCMD(KC_Z) +#define MOS_RT1 LCMD(KC_V) +#define MOS_RT2 LCMD(KC_C) +#define MOS_RT3 LCMD(KC_X) +#define MOS_RT4 LCMD(KC_Z) +#define MOS_RT5 NAV_NO + +#define MOS_LM5 NAV_NO +#define MOS_LM4 KC_LCTL +#define MOS_LM3 KC_LALT +#define MOS_LM2 KC_LGUI +#define MOS_LM1 KC_LSFT +#define MOS_LM0 NAV_NO + +#define MOS_RM0 MOS_NO +#define MOS_RM1 KC_MS_L +#define MOS_RM2 KC_MS_D +#define MOS_RM3 KC_MS_U +#define MOS_RM4 KC_MS_R +#define MOS_RM5 MOS_NO + +#define MOS_LB5 MOS_NO +#define MOS_LB4 MOS_NO +#define MOS_LB3 MOS_NO +#define MOS_LB2 KC_ALGR +#define MOS_LB1 MOS_NO +#define MOS_LB0 MOS_NO + +#define MOS_RB0 MOS_NO +#define MOS_RB1 KC_WH_L +#define MOS_RB2 KC_WH_D +#define MOS_RB3 KC_WH_U +#define MOS_RB4 KC_WH_R +#define MOS_RB5 MOS_NO + +//Primary Thumbs 1-3 (others are unique to the board) +#define MOS_LH2 MOS_NO +#define MOS_LH1 MOS_NO +#define MOS_LH0 MOS_NO + +#define MOS_RH0 KC_BTN2 +#define MOS_RH1 KC_BTN1 +#define MOS_RH2 KC_BTN3 diff --git a/users/raphaelmor/layers/NAV-defs.h b/users/raphaelmor/layers/NAV-defs.h new file mode 100644 index 00000000..6fad346e --- /dev/null +++ b/users/raphaelmor/layers/NAV-defs.h @@ -0,0 +1,69 @@ +#pragma once + +// Override keys with HRM and Layer keys + +#define NAV_NO KC_NO + +// Now let's place these Colemak keycodes on the keymap +// for variation independent spatial referencing by key position +// +// Key Position Names for a 42 key split form factor +// Should cover Corne v4.1 +// ╭─────────────────────────╮ ╭─────────────────────────╮ +// │ LT5 LT4 LT3 LT2 LT1 LT0 │ │ RT0 RT1 RT2 RT3 RT4 RT5 │ +// │ LM5 LM4 LM3 LM2 LM1 LM0 │ │ RM0 RM1 RM2 RM3 RM4 RM5 │ +// │ LB5 LB4 LB3 LB2 LB1 LB0 │ │ RB0 RB1 RB2 RB3 RB4 RB5 │ +// ╰───────────╮ LH2 LH1 LH0 │ │ RH0 RH1 RH2 ╭───────────╯ +// ╰─────────────╯ ╰─────────────╯ +// + +#define NAV_LT5 NAV_NO +#define NAV_LT4 NAV_NO +#define NAV_LT3 NAV_NO +#define NAV_LT2 TD(RAMO_TD_CMK) +#define NAV_LT1 TD(RAMO_TD_HDG) +#define NAV_LT0 NAV_NO + +#define NAV_RT0 SCMD(KC_Z) +#define NAV_RT1 LCMD(KC_V) +#define NAV_RT2 LCMD(KC_C) +#define NAV_RT3 LCMD(KC_X) +#define NAV_RT4 LCMD(KC_Z) +#define NAV_RT5 NAV_NO + +#define NAV_LM5 NAV_NO +#define NAV_LM4 KC_LCTL +#define NAV_LM3 KC_LALT +#define NAV_LM2 KC_LGUI +#define NAV_LM1 KC_LSFT +#define NAV_LM0 NAV_NO + +#define NAV_RM0 CW_TOGG +#define NAV_RM1 KC_LEFT +#define NAV_RM2 KC_DOWN +#define NAV_RM3 KC_UP +#define NAV_RM4 KC_RIGHT +#define NAV_RM5 NAV_NO + +#define NAV_LB5 NAV_NO +#define NAV_LB4 NAV_NO +#define NAV_LB3 NAV_NO +#define NAV_LB2 KC_ALGR +#define NAV_LB1 NAV_NO +#define NAV_LB0 NAV_NO + +#define NAV_RB0 KC_INS +#define NAV_RB1 KC_HOME +#define NAV_RB2 KC_PGDN +#define NAV_RB3 KC_PGUP +#define NAV_RB4 KC_END +#define NAV_RB5 NAV_NO + +//Primary Thumbs 1-3 (others are unique to the board) +#define NAV_LH2 NAV_NO +#define NAV_LH1 NAV_NO +#define NAV_LH0 NAV_NO + +#define NAV_RH0 KC_ENT +#define NAV_RH1 KC_BSPC +#define NAV_RH2 KC_DEL diff --git a/users/raphaelmor/layers/NUM-defs.h b/users/raphaelmor/layers/NUM-defs.h new file mode 100644 index 00000000..0692112d --- /dev/null +++ b/users/raphaelmor/layers/NUM-defs.h @@ -0,0 +1,66 @@ +#pragma once + +// Override keys with HRM and Layer keys + +#define NUM_NO KC_NO + +// Now let's place these Colemak keycodes on the keymap +// for variation independent spatial referencing by key position +// +// Key Position Names for a 42 key split form factor +// Should cover Corne v4.1 +// ╭─────────────────────────╮ ╭─────────────────────────╮ +// │ LT5 LT4 LT3 LT2 LT1 LT0 │ │ RT0 RT1 RT2 RT3 RT4 RT5 │ +// │ LM5 LM4 LM3 LM2 LM1 LM0 │ │ RM0 RM1 RM2 RM3 RM4 RM5 │ +// │ LB5 LB4 LB3 LB2 LB1 LB0 │ │ RB0 RB1 RB2 RB3 RB4 RB5 │ +// ╰───────────╮ LH2 LH1 LH0 │ │ RH0 RH1 RH2 ╭───────────╯ +// ╰─────────────╯ ╰─────────────╯ +// + +#define NUM_LT5 NUM_NO +#define NUM_LT4 KC_LBRC +#define NUM_LT3 KC_7 +#define NUM_LT2 KC_8 +#define NUM_LT1 KC_9 +#define NUM_LT0 KC_RBRC +#define NUM_RT0 NUM_NO +#define NUM_RT1 NUM_NO +#define NUM_RT2 NUM_NO +#define NUM_RT3 NUM_NO +#define NUM_RT4 NUM_NO +#define NUM_RT5 NUM_NO + +#define NUM_LM5 NUM_NO +#define NUM_LM4 KC_SCLN +#define NUM_LM3 KC_4 +#define NUM_LM2 KC_5 +#define NUM_LM1 KC_6 +#define NUM_LM0 KC_EQL +#define NUM_RM0 NUM_NO +#define NUM_RM1 KC_RSFT +#define NUM_RM2 KC_RGUI +#define NUM_RM3 KC_RALT +#define NUM_RM4 KC_RCTL +#define NUM_RM5 NUM_NO + +#define NUM_LB5 KC_GRV +#define NUM_LB4 KC_1 +#define NUM_LB3 KC_2 +#define NUM_LB2 KC_3 +#define NUM_LB1 KC_BSLS +#define NUM_LB0 NUM_NO +#define NUM_RB0 NUM_NO +#define NUM_RB1 NUM_NO +#define NUM_RB2 NUM_NO +#define NUM_RB3 KC_ALGR +#define NUM_RB4 NUM_NO +#define NUM_RB5 NUM_NO + +//Primary Thumbs 1-3 (others are unique to the board) +#define NUM_LH2 KC_DOT +#define NUM_LH1 KC_0 +#define NUM_LH0 KC_MINS + +#define NUM_RH0 NUM_NO +#define NUM_RH1 NUM_NO +#define NUM_RH2 NUM_NO diff --git a/users/raphaelmor/layers/SYM-defs.h b/users/raphaelmor/layers/SYM-defs.h new file mode 100644 index 00000000..db08cb80 --- /dev/null +++ b/users/raphaelmor/layers/SYM-defs.h @@ -0,0 +1,69 @@ +#pragma once + +// Override keys with HRM and Layer keys + +#define SYM_NO KC_NO + +// Now let's place these Colemak keycodes on the keymap +// for variation independent spatial referencing by key position +// +// Key Position Names for a 42 key split form factor +// Should cover Corne v4.1 +// ╭─────────────────────────╮ ╭─────────────────────────╮ +// │ LT5 LT4 LT3 LT2 LT1 LT0 │ │ RT0 RT1 RT2 RT3 RT4 RT5 │ +// │ LM5 LM4 LM3 LM2 LM1 LM0 │ │ RM0 RM1 RM2 RM3 RM4 RM5 │ +// │ LB5 LB4 LB3 LB2 LB1 LB0 │ │ RB0 RB1 RB2 RB3 RB4 RB5 │ +// ╰───────────╮ LH2 LH1 LH0 │ │ RH0 RH1 RH2 ╭───────────╯ +// ╰─────────────╯ ╰─────────────╯ +// + +#define SYM_LT5 SYM_NO +#define SYM_LT4 KC_LCBR +#define SYM_LT3 KC_AMPR +#define SYM_LT2 KC_ASTR +#define SYM_LT1 KC_LPRN +#define SYM_LT0 KC_RCBR + +#define SYM_RT0 SYM_NO +#define SYM_RT1 SYM_NO +#define SYM_RT2 SYM_NO +#define SYM_RT3 SYM_NO +#define SYM_RT4 SYM_NO +#define SYM_RT5 SYM_NO + +#define SYM_LM5 SYM_NO +#define SYM_LM4 KC_COLN +#define SYM_LM3 KC_DLR +#define SYM_LM2 KC_PERC +#define SYM_LM1 KC_CIRC +#define SYM_LM0 KC_PLUS + +#define SYM_RM0 SYM_NO +#define SYM_RM1 KC_RSFT +#define SYM_RM2 KC_RGUI +#define SYM_RM3 KC_RALT +#define SYM_RM4 KC_RCTL +#define SYM_RM5 SYM_NO + +#define SYM_LB5 SYM_NO +#define SYM_LB4 KC_TILD +#define SYM_LB3 KC_EXLM +#define SYM_LB2 KC_AT +#define SYM_LB1 KC_HASH +#define SYM_LB0 KC_PIPE + +#define SYM_RB0 SYM_NO +#define SYM_RB1 SYM_NO +#define SYM_RB2 SYM_NO +#define SYM_RB3 KC_ALGR +#define SYM_RB4 SYM_NO +#define SYM_RB5 SYM_NO + +//Primary Thumbs 1-3 (others are unique to the board) +#define SYM_LH2 KC_LPRN +#define SYM_LH1 KC_RPRN +#define SYM_LH0 KC_UNDS + +#define SYM_RH0 SYM_NO +#define SYM_RH1 SYM_NO +#define SYM_RH2 SYM_NO diff --git a/users/raphaelmor/raphaelmor.c b/users/raphaelmor/raphaelmor.c new file mode 100644 index 00000000..1f13bd64 --- /dev/null +++ b/users/raphaelmor/raphaelmor.c @@ -0,0 +1,30 @@ +#include QMK_KEYBOARD_H +#include "raphaelmor.h" + + +void ramo_TD_make_colemak_default(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + set_single_default_layer(L_COLEMAK); + print("RAMO: switched to Colemak"); + } +}; +void ramo_TD_make_hd_gold_default(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + set_single_default_layer(L_HANDSDOWN); + print("RAMO: switched to Handsdown Gold"); + } +}; + +tap_dance_action_t tap_dance_actions[] = { + [RAMO_TD_CMK] = ACTION_TAP_DANCE_FN(ramo_TD_make_colemak_default), + [RAMO_TD_HDG] = ACTION_TAP_DANCE_FN(ramo_TD_make_hd_gold_default), +}; + + +void keyboard_post_init_user(void) { + // Customise these values to desired behaviour + debug_enable=true; + debug_matrix=true; + debug_keyboard=true; + debug_mouse=true; +}; diff --git a/users/raphaelmor/raphaelmor.h b/users/raphaelmor/raphaelmor.h new file mode 100644 index 00000000..b85c9dc5 --- /dev/null +++ b/users/raphaelmor/raphaelmor.h @@ -0,0 +1,30 @@ +#pragma once + +#include "tap_dance.h" + +#include "layers/CMK-defs.h" +#include "layers/HDG-defs.h" +#include "layers/MED-defs.h" +#include "layers/NAV-defs.h" +#include "layers/MOS-defs.h" +#include "layers/NUM-defs.h" +#include "layers/SYM-defs.h" +#include "layers/FUN-defs.h" + +#define RAMO_FOR_EACH_LAYER \ +RAMO_DO(COLEMAK, CMK) \ +RAMO_DO(HANDSDOWN, HDG) \ +RAMO_DO(NAV, NAV) \ +RAMO_DO(MOUSE, MOS) \ +RAMO_DO(MEDIA, MED) \ +RAMO_DO(NUM, NUM) \ +RAMO_DO(SYM, SYM) \ +RAMO_DO(FUN, FUN) + + +enum ramo_layers { +#define RAMO_DO(LAYER, STRING) L_##LAYER, +RAMO_FOR_EACH_LAYER +#undef RAMO_DO +}; + diff --git a/users/raphaelmor/rules.mk b/users/raphaelmor/rules.mk new file mode 100644 index 00000000..d10b2324 --- /dev/null +++ b/users/raphaelmor/rules.mk @@ -0,0 +1,8 @@ +TAP_DANCE_ENABLE = yes +MOUSEKEY_ENABLE = yes +AUTO_SHIFT_ENABLE = yes +CAPS_WORD_ENABLE = yes +CONSOLE_ENABLE = yes + +INTROSPECTION_KEYMAP_C += raphaelmor.c + diff --git a/users/raphaelmor/tap_dance.h b/users/raphaelmor/tap_dance.h new file mode 100644 index 00000000..42d0b1f0 --- /dev/null +++ b/users/raphaelmor/tap_dance.h @@ -0,0 +1,8 @@ +#pragma once + +// Tap Dance definitions +enum { + RAMO_TD_CMK, + RAMO_TD_HDG, +}; +