Initial import of Miryoku+Colemak+HDGold

This commit is contained in:
Raphael Mor 2025-06-07 17:21:10 +02:00
commit be6518d707
18 changed files with 825 additions and 81 deletions

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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

View file

@ -20,6 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
//#define USE_MATRIX_I2C
//#define QUICK_TAP_TERM 0

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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
};

View file

@ -1,6 +1,9 @@
{
"userspace_version": "1.1",
"build_targets": [
["crkbd/rev4_1/standard", "raphael_mor"]
[
"crkbd/rev4_1/standard",
"raphaelmor"
]
]
}

View file

@ -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

25
users/raphaelmor/config.h Normal file
View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;
};

View file

@ -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
};

View file

@ -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

View file

@ -0,0 +1,8 @@
#pragma once
// Tap Dance definitions
enum {
RAMO_TD_CMK,
RAMO_TD_HDG,
};