Various stuff-lost-track

This commit is contained in:
Raphael Mor 2025-06-29 10:58:25 +02:00
commit e484d6ad0e
28 changed files with 705 additions and 93 deletions

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "modules/elpekenin"]
path = modules/elpekenin
url = https://github.com/elpekenin/qmk_modules

View file

@ -20,25 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once #pragma once
//#define USE_MATRIX_I2C
//#define QUICK_TAP_TERM 0
//#define TAPPING_TERM 100
#ifdef RGBLIGHT_ENABLE
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
#endif

View file

@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
#include "raphaelmor.h" #include "raphaelmor.h"
// //
// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@ -56,3 +55,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RAMO_FOR_EACH_LAYER RAMO_FOR_EACH_LAYER
#undef RAMO_DO #undef RAMO_DO
}; };

View file

@ -0,0 +1,6 @@
{
"modules": [
"elpekenin/ledmap",
"elpekenin/generics"
]
}

1
modules/elpekenin Submodule

@ -0,0 +1 @@
Subproject commit 04ec0e413a1dbbe4d07d26437b135d6b4d79c5df

View file

@ -13,5 +13,17 @@
- Combos - Combos
- ~z Combo~ - ~z Combo~
- ~Qu combo + linger~ - ~Qu combo + linger~
- Explore the other combos
- RGB Matrix - RGB Matrix
- ~Basic Alpha Layout coloring~
- Finish all the other layouts (Mouse and FUN)
- Explore Case Mods
- Like capsword, but for camelCase, kebab-case, snake_case, etc...
- Adaptive keys - Adaptive keys
LED color map
BLACK : Inactive
SPRING : Colemak
ORANGE : HD-p or g
CHARTREUSE : Core Keys of the layer (arrows on NAV, numbers on NUM etc...)
WHITE : Other Keys for the layer (home,end, copy cut on NAV, etc..)

View file

@ -1,10 +0,0 @@
enum ramo_combos {
NO_COMBO = 0, // Sentinel value (0) to signify no combo is currently pressed
#ifdef USE_HD_H_DIGRAPH_COMBO
HD_COMBO_Th,
#endif
HD_COMBO_Q,
HD_COMBO_Z,
CMK_COMBO_Th,
};

View file

@ -7,11 +7,6 @@
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. // Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
#define QUICK_TAP_TERM 0 #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. // Mouse key speed and acceleration.
#undef MOUSEKEY_DELAY #undef MOUSEKEY_DELAY
#define MOUSEKEY_DELAY 0 #define MOUSEKEY_DELAY 0
@ -26,9 +21,11 @@
#define SPLIT_LAYER_STATE_ENABLE #define SPLIT_LAYER_STATE_ENABLE
// CUSTOM CONFIG
#define RAMO_COMBO_HOLD (TAPPING_TERM) // time to hold to trigger delayed combo
// RAMO CUSTOM CONFIG
#define RAMO_COMBO_HOLD (TAPPING_TERM) // time to hold to trigger delayed combo
#define RAMO_USE_HD_PROMETHIUM // (Gold is the default)
#define RAMO_ADAPTIVE_TERM (TAPPING_TERM/4) // rolling threshold
// Disable led stuff // Disable led stuff

View file

@ -67,11 +67,8 @@
// ╰───────────╮ ESC SPC TAB │ │ ENT BSP DEL ╭───────────╯ // ╰───────────╮ ESC SPC TAB │ │ ENT BSP DEL ╭───────────╯
// ╰─────────────╯ ╰─────────────╯ // ╰─────────────╯ ╰─────────────╯
// //
//qwfpg jluy;
//arstd hneio
//zxcvb km,./
#define CMK_LT5 CMK_ESC #define CMK_LT5 KC_NO
#define CMK_LT4 CMK_Q #define CMK_LT4 CMK_Q
#define CMK_LT3 CMK_W #define CMK_LT3 CMK_W
#define CMK_LT2 CMK_F #define CMK_LT2 CMK_F
@ -85,9 +82,9 @@
#define CMK_RT2 CMK_U #define CMK_RT2 CMK_U
#define CMK_RT3 CMK_Y #define CMK_RT3 CMK_Y
#define CMK_RT4 CMK_QUOT #define CMK_RT4 CMK_QUOT
#define CMK_RT5 CMK_HYPR #define CMK_RT5 KC_NO
#define CMK_LM5 CMK_TAB #define CMK_LM5 KC_NO
#define CMK_LM4 CMK_A #define CMK_LM4 CMK_A
#define CMK_LM3 CMK_R #define CMK_LM3 CMK_R
#define CMK_LM2 CMK_S #define CMK_LM2 CMK_S
@ -101,7 +98,7 @@
#define CMK_RM2 CMK_E #define CMK_RM2 CMK_E
#define CMK_RM3 CMK_I #define CMK_RM3 CMK_I
#define CMK_RM4 CMK_O #define CMK_RM4 CMK_O
#define CMK_RM5 CMK_MEH #define CMK_RM5 KC_NO
#define CMK_LB5 KC_NO #define CMK_LB5 KC_NO
#define CMK_LB4 CMK_Z #define CMK_LB4 CMK_Z
@ -115,8 +112,7 @@
#define CMK_RB2 CMK_COMM #define CMK_RB2 CMK_COMM
#define CMK_RB3 CMK_DOT #define CMK_RB3 CMK_DOT
#define CMK_RB4 CMK_SLSH #define CMK_RB4 CMK_SLSH
// TEMPORARY #define CMK_RB5 KC_NO
#define CMK_RB5 DF(L_HANDSDOWN)
//Primary Thumbs 1-3 (others are unique to the board) //Primary Thumbs 1-3 (others are unique to the board)
#define CMK_LH2 CMK_ESC #define CMK_LH2 CMK_ESC
@ -128,6 +124,63 @@
#define CMK_RH2 CMK_DEL #define CMK_RH2 CMK_DEL
// Define layer colors
#define CMK_RGB_LT5 BLACK
#define CMK_RGB_LT4 SPRING
#define CMK_RGB_LT3 SPRING
#define CMK_RGB_LT2 SPRING
#define CMK_RGB_LT1 SPRING
#define CMK_RGB_LT0 SPRING
#define CMK_RGB_LTA BLACK
#define CMK_RGB_RTA BLACK
#define CMK_RGB_RT0 SPRING
#define CMK_RGB_RT1 SPRING
#define CMK_RGB_RT2 SPRING
#define CMK_RGB_RT3 SPRING
#define CMK_RGB_RT4 SPRING
#define CMK_RGB_RT5 BLACK
#define CMK_RGB_LM5 BLACK
#define CMK_RGB_LM4 SPRING
#define CMK_RGB_LM3 SPRING
#define CMK_RGB_LM2 SPRING
#define CMK_RGB_LM1 SPRING
#define CMK_RGB_LM0 SPRING
#define CMK_RGB_LMA BLACK
#define CMK_RGB_RMA BLACK
#define CMK_RGB_RM0 SPRING
#define CMK_RGB_RM1 SPRING
#define CMK_RGB_RM2 SPRING
#define CMK_RGB_RM3 SPRING
#define CMK_RGB_RM4 SPRING
#define CMK_RGB_RM5 BLACK
#define CMK_RGB_LB5 BLACK
#define CMK_RGB_LB4 SPRING
#define CMK_RGB_LB3 SPRING
#define CMK_RGB_LB2 SPRING
#define CMK_RGB_LB1 SPRING
#define CMK_RGB_LB0 SPRING
#define CMK_RGB_RB0 SPRING
#define CMK_RGB_RB1 SPRING
#define CMK_RGB_RB2 SPRING
#define CMK_RGB_RB3 SPRING
#define CMK_RGB_RB4 SPRING
#define CMK_RGB_RB5 BLACK
#define CMK_RGB_LH2 MAGENTA
#define CMK_RGB_LH1 CHARTREUSE
#define CMK_RGB_LH0 CYAN
#define CMK_RGB_RH0 CYAN
#define CMK_RGB_RH1 CHARTREUSE
#define CMK_RGB_RH2 MAGENTA
// H digraph combos // H digraph combos
// try to make these use the lead letter and a neighbor. // try to make these use the lead letter and a neighbor.
// //

View file

@ -70,3 +70,58 @@
#define FUN_RH0 FUN_NO #define FUN_RH0 FUN_NO
#define FUN_RH1 FUN_NO #define FUN_RH1 FUN_NO
#define FUN_RH2 FUN_NO #define FUN_RH2 FUN_NO
#define FUN_RGB_LT5 BLACK
#define FUN_RGB_LT4 BLACK
#define FUN_RGB_LT3 BLACK
#define FUN_RGB_LT2 BLACK
#define FUN_RGB_LT1 BLACK
#define FUN_RGB_LT0 BLACK
#define FUN_RGB_LTA BLACK
#define FUN_RGB_RTA BLACK
#define FUN_RGB_RT0 BLACK
#define FUN_RGB_RT1 BLACK
#define FUN_RGB_RT2 BLACK
#define FUN_RGB_RT3 BLACK
#define FUN_RGB_RT4 BLACK
#define FUN_RGB_RT5 BLACK
#define FUN_RGB_LM5 BLACK
#define FUN_RGB_LM4 BLACK
#define FUN_RGB_LM3 BLACK
#define FUN_RGB_LM2 BLACK
#define FUN_RGB_LM1 BLACK
#define FUN_RGB_LM0 BLACK
#define FUN_RGB_LMA BLACK
#define FUN_RGB_RMA BLACK
#define FUN_RGB_RM0 BLACK
#define FUN_RGB_RM1 BLACK
#define FUN_RGB_RM2 BLACK
#define FUN_RGB_RM3 BLACK
#define FUN_RGB_RM4 BLACK
#define FUN_RGB_RM5 BLACK
#define FUN_RGB_LB5 BLACK
#define FUN_RGB_LB4 BLACK
#define FUN_RGB_LB3 BLACK
#define FUN_RGB_LB2 BLACK
#define FUN_RGB_LB1 BLACK
#define FUN_RGB_LB0 BLACK
#define FUN_RGB_RB0 BLACK
#define FUN_RGB_RB1 BLACK
#define FUN_RGB_RB2 BLACK
#define FUN_RGB_RB3 BLACK
#define FUN_RGB_RB4 BLACK
#define FUN_RGB_RB5 BLACK
#define FUN_RGB_LH2 BLACK
#define FUN_RGB_LH1 BLACK
#define FUN_RGB_LH0 BLACK
#define FUN_RGB_RH0 BLACK
#define FUN_RGB_RH1 BLACK
#define FUN_RGB_RH2 BLACK

View file

@ -123,6 +123,60 @@
#define HDG_RH2 HDG_BSPC #define HDG_RH2 HDG_BSPC
#define HDG_RGB_LT5 BLACK
#define HDG_RGB_LT4 ORANGE
#define HDG_RGB_LT3 ORANGE
#define HDG_RGB_LT2 ORANGE
#define HDG_RGB_LT1 ORANGE
#define HDG_RGB_LT0 ORANGE
#define HDG_RGB_LTA BLACK
#define HDG_RGB_RTA BLACK
#define HDG_RGB_RT0 ORANGE
#define HDG_RGB_RT1 ORANGE
#define HDG_RGB_RT2 ORANGE
#define HDG_RGB_RT3 ORANGE
#define HDG_RGB_RT4 ORANGE
#define HDG_RGB_RT5 BLACK
#define HDG_RGB_LM5 BLACK
#define HDG_RGB_LM4 ORANGE
#define HDG_RGB_LM3 ORANGE
#define HDG_RGB_LM2 ORANGE
#define HDG_RGB_LM1 ORANGE
#define HDG_RGB_LM0 ORANGE
#define HDG_RGB_LMA BLACK
#define HDG_RGB_RMA BLACK
#define HDG_RGB_RM0 ORANGE
#define HDG_RGB_RM1 ORANGE
#define HDG_RGB_RM2 ORANGE
#define HDG_RGB_RM3 ORANGE
#define HDG_RGB_RM4 ORANGE
#define HDG_RGB_RM5 BLACK
#define HDG_RGB_LB5 BLACK
#define HDG_RGB_LB4 ORANGE
#define HDG_RGB_LB3 ORANGE
#define HDG_RGB_LB2 ORANGE
#define HDG_RGB_LB1 ORANGE
#define HDG_RGB_LB0 ORANGE
#define HDG_RGB_RB0 ORANGE
#define HDG_RGB_RB1 ORANGE
#define HDG_RGB_RB2 ORANGE
#define HDG_RGB_RB3 ORANGE
#define HDG_RGB_RB4 ORANGE
#define HDG_RGB_RB5 BLACK
#define HDG_RGB_LH2 MAGENTA
#define HDG_RGB_LH1 CHARTREUSE
#define HDG_RGB_LH0 CYAN
#define HDG_RGB_RH0 CYAN
#define HDG_RGB_RH1 CHARTREUSE
#define HDG_RGB_RH2 MAGENTA
// H digraph combos // H digraph combos
// try to make these use the lead letter and a neighbor. // try to make these use the lead letter and a neighbor.
#define USE_HD_H_DIGRAPH_COMBO #define USE_HD_H_DIGRAPH_COMBO

View file

@ -76,6 +76,61 @@
#define HDP_RH1 LT(L_NUM, KC_ENT) #define HDP_RH1 LT(L_NUM, KC_ENT)
#define HDP_RH2 LT(L_FUN, KC_BSPC) #define HDP_RH2 LT(L_FUN, KC_BSPC)
#define HDP_RGB_LT5 BLACK
#define HDP_RGB_LT4 ORANGE
#define HDP_RGB_LT3 ORANGE
#define HDP_RGB_LT2 ORANGE
#define HDP_RGB_LT1 ORANGE
#define HDP_RGB_LT0 ORANGE
#define HDP_RGB_LTA BLACK
#define HDP_RGB_RTA BLACK
#define HDP_RGB_RT0 ORANGE
#define HDP_RGB_RT1 ORANGE
#define HDP_RGB_RT2 ORANGE
#define HDP_RGB_RT3 ORANGE
#define HDP_RGB_RT4 ORANGE
#define HDP_RGB_RT5 BLACK
#define HDP_RGB_LM5 BLACK
#define HDP_RGB_LM4 ORANGE
#define HDP_RGB_LM3 ORANGE
#define HDP_RGB_LM2 ORANGE
#define HDP_RGB_LM1 ORANGE
#define HDP_RGB_LM0 ORANGE
#define HDP_RGB_LMA BLACK
#define HDP_RGB_RMA BLACK
#define HDP_RGB_RM0 ORANGE
#define HDP_RGB_RM1 ORANGE
#define HDP_RGB_RM2 ORANGE
#define HDP_RGB_RM3 ORANGE
#define HDP_RGB_RM4 ORANGE
#define HDP_RGB_RM5 BLACK
#define HDP_RGB_LB5 BLACK
#define HDP_RGB_LB4 ORANGE
#define HDP_RGB_LB3 ORANGE
#define HDP_RGB_LB2 ORANGE
#define HDP_RGB_LB1 ORANGE
#define HDP_RGB_LB0 ORANGE
#define HDP_RGB_RB0 ORANGE
#define HDP_RGB_RB1 ORANGE
#define HDP_RGB_RB2 ORANGE
#define HDP_RGB_RB3 ORANGE
#define HDP_RGB_RB4 ORANGE
#define HDP_RGB_RB5 BLACK
#define HDP_RGB_LH2 MAGENTA
#define HDP_RGB_LH1 CHARTREUSE
#define HDP_RGB_LH0 CYAN
#define HDP_RGB_RH0 CYAN
#define HDP_RGB_RH1 CHARTREUSE
#define HDP_RGB_RH2 MAGENTA
// type p + l to type q // type p + l to type q
#define HD_Q_keys HDP_LT3, HDP_LT1 #define HD_Q_keys HDP_LT3, HDP_LT1

View file

@ -43,11 +43,11 @@
#define MED_RMA KC_NO // TODO: should be a real key once a use is found #define MED_RMA KC_NO // TODO: should be a real key once a use is found
#define MED_RM0 MED_NO #define MED_RM0 MED_NO
#define MED_RM1 MED_NO #define MED_RM1 KC_MPRV
#define MED_RM2 KC_MPRV #define MED_RM2 KC_VOLD
#define MED_RM3 KC_VOLD #define MED_RM3 KC_VOLU
#define MED_RM4 KC_VOLU #define MED_RM4 KC_MNXT
#define MED_RM5 KC_MNXT #define MED_RM5 MED_NO
#define MED_LB5 MED_NO #define MED_LB5 MED_NO
#define MED_LB4 MED_NO #define MED_LB4 MED_NO
@ -71,3 +71,59 @@
#define MED_RH0 KC_MSTP #define MED_RH0 KC_MSTP
#define MED_RH1 KC_MPLY #define MED_RH1 KC_MPLY
#define MED_RH2 KC_MUTE #define MED_RH2 KC_MUTE
#define MED_RGB_LT5 BLACK
#define MED_RGB_LT4 BLACK
#define MED_RGB_LT3 BLUE
#define MED_RGB_LT2 BLACK
#define MED_RGB_LT1 BLACK
#define MED_RGB_LT0 BLACK
#define MED_RGB_LTA BLACK
#define MED_RGB_RTA BLACK
#define MED_RGB_RT0 MAGENTA
#define MED_RGB_RT1 WHITE
#define MED_RGB_RT2 WHITE
#define MED_RGB_RT3 WHITE
#define MED_RGB_RT4 WHITE
#define MED_RGB_RT5 BLACK
#define MED_RGB_LM5 BLACK
#define MED_RGB_LM4 WHITE
#define MED_RGB_LM3 WHITE
#define MED_RGB_LM2 WHITE
#define MED_RGB_LM1 WHITE
#define MED_RGB_LM0 WHITE
#define MED_RGB_LMA BLACK
#define MED_RGB_RMA BLACK
#define MED_RGB_RM0 BLACK
#define MED_RGB_RM1 MAGENTA
#define MED_RGB_RM2 ROSE
#define MED_RGB_RM3 ROSE
#define MED_RGB_RM4 MAGENTA
#define MED_RGB_RM5 BLACK
#define MED_RGB_LB5 BLACK
#define MED_RGB_LB4 BLACK
#define MED_RGB_LB3 BLACK
#define MED_RGB_LB2 WHITE
#define MED_RGB_LB1 BLACK
#define MED_RGB_LB0 BLACK
#define MED_RGB_RB0 BLACK
#define MED_RGB_RB1 BLACK
#define MED_RGB_RB2 BLACK
#define MED_RGB_RB3 BLACK
#define MED_RGB_RB4 BLACK
#define MED_RGB_RB5 BLACK
#define MED_RGB_LH2 BLACK
#define MED_RGB_LH1 BLACK
#define MED_RGB_LH0 BLACK
#define MED_RGB_RH0 MAGENTA
#define MED_RGB_RH1 MAGENTA
#define MED_RGB_RH2 ROSE

View file

@ -70,3 +70,60 @@
#define MOS_RH0 KC_BTN2 #define MOS_RH0 KC_BTN2
#define MOS_RH1 KC_BTN1 #define MOS_RH1 KC_BTN1
#define MOS_RH2 KC_BTN3 #define MOS_RH2 KC_BTN3
#define MOS_RGB_LT5 BLACK
#define MOS_RGB_LT4 BLACK
#define MOS_RGB_LT3 BLACK
#define MOS_RGB_LT2 BLACK
#define MOS_RGB_LT1 BLACK
#define MOS_RGB_LT0 BLACK
#define MOS_RGB_LTA BLACK
#define MOS_RGB_RTA BLACK
#define MOS_RGB_RT0 BLACK
#define MOS_RGB_RT1 BLACK
#define MOS_RGB_RT2 BLACK
#define MOS_RGB_RT3 BLACK
#define MOS_RGB_RT4 BLACK
#define MOS_RGB_RT5 BLACK
#define MOS_RGB_LM5 BLACK
#define MOS_RGB_LM4 BLACK
#define MOS_RGB_LM3 BLACK
#define MOS_RGB_LM2 BLACK
#define MOS_RGB_LM1 BLACK
#define MOS_RGB_LM0 BLACK
#define MOS_RGB_LMA BLACK
#define MOS_RGB_RMA BLACK
#define MOS_RGB_RM0 BLACK
#define MOS_RGB_RM1 BLACK
#define MOS_RGB_RM2 BLACK
#define MOS_RGB_RM3 BLACK
#define MOS_RGB_RM4 BLACK
#define MOS_RGB_RM5 BLACK
#define MOS_RGB_LB5 BLACK
#define MOS_RGB_LB4 BLACK
#define MOS_RGB_LB3 BLACK
#define MOS_RGB_LB2 BLACK
#define MOS_RGB_LB1 BLACK
#define MOS_RGB_LB0 BLACK
#define MOS_RGB_RB0 BLACK
#define MOS_RGB_RB1 BLACK
#define MOS_RGB_RB2 BLACK
#define MOS_RGB_RB3 BLACK
#define MOS_RGB_RB4 BLACK
#define MOS_RGB_RB5 BLACK
#define MOS_RGB_LH2 BLACK
#define MOS_RGB_LH1 BLACK
#define MOS_RGB_LH0 BLACK
#define MOS_RGB_RH0 BLACK
#define MOS_RGB_RH1 BLACK
#define MOS_RGB_RH2 BLACK

View file

@ -26,11 +26,11 @@
#define NAV_LTA KC_NO // TODO: should be a real key once a use is found #define NAV_LTA KC_NO // TODO: should be a real key once a use is found
#define NAV_RTA KC_NO // TODO: should be a real key once a use is found #define NAV_RTA KC_NO // TODO: should be a real key once a use is found
#define NAV_RT0 SCMD(KC_Z) #define NAV_RT0 LCMD(KC_Z)
#define NAV_RT1 LCMD(KC_V) #define NAV_RT1 LCMD(KC_V)
#define NAV_RT2 LCMD(KC_C) #define NAV_RT2 LCMD(KC_C)
#define NAV_RT3 LCMD(KC_X) #define NAV_RT3 LCMD(KC_X)
#define NAV_RT4 LCMD(KC_Z) #define NAV_RT4 SCMD(KC_Z)
#define NAV_RT5 NAV_NO #define NAV_RT5 NAV_NO
#define NAV_LM5 NAV_NO #define NAV_LM5 NAV_NO
@ -71,3 +71,59 @@
#define NAV_RH0 KC_ENT #define NAV_RH0 KC_ENT
#define NAV_RH1 KC_BSPC #define NAV_RH1 KC_BSPC
#define NAV_RH2 KC_DEL #define NAV_RH2 KC_DEL
#define NAV_RGB_LT5 BLACK
#define NAV_RGB_LT4 BLACK
#define NAV_RGB_LT3 BLACK
#define NAV_RGB_LT2 SPRING
#define NAV_RGB_LT1 ORANGE
#define NAV_RGB_LT0 BLACK
#define NAV_RGB_LTA BLACK
#define NAV_RGB_RTA BLACK
#define NAV_RGB_RT0 CHARTREUSE
#define NAV_RGB_RT1 CHARTREUSE
#define NAV_RGB_RT2 CHARTREUSE
#define NAV_RGB_RT3 CHARTREUSE
#define NAV_RGB_RT4 CHARTREUSE
#define NAV_RGB_RT5 BLACK
#define NAV_RGB_LM5 BLACK
#define NAV_RGB_LM4 WHITE
#define NAV_RGB_LM3 WHITE
#define NAV_RGB_LM2 WHITE
#define NAV_RGB_LM1 WHITE
#define NAV_RGB_LM0 BLACK
#define NAV_RGB_LMA BLACK
#define NAV_RGB_RMA BLACK
#define NAV_RGB_RM0 WHITE
#define NAV_RGB_RM1 CHARTREUSE
#define NAV_RGB_RM2 CHARTREUSE
#define NAV_RGB_RM3 CHARTREUSE
#define NAV_RGB_RM4 CHARTREUSE
#define NAV_RGB_RM5 BLACK
#define NAV_RGB_LB5 BLACK
#define NAV_RGB_LB4 BLACK
#define NAV_RGB_LB3 BLACK
#define NAV_RGB_LB2 WHITE
#define NAV_RGB_LB1 BLACK
#define NAV_RGB_LB0 BLACK
#define NAV_RGB_RB0 CHARTREUSE
#define NAV_RGB_RB1 CHARTREUSE
#define NAV_RGB_RB2 CHARTREUSE
#define NAV_RGB_RB3 CHARTREUSE
#define NAV_RGB_RB4 CHARTREUSE
#define NAV_RGB_RB5 BLACK
#define NAV_RGB_LH2 BLACK
#define NAV_RGB_LH1 BLACK
#define NAV_RGB_LH0 BLACK
#define NAV_RGB_RH0 WHITE
#define NAV_RGB_RH1 WHITE
#define NAV_RGB_RH2 WHITE

View file

@ -55,6 +55,7 @@
#define NUM_LB2 KC_2 #define NUM_LB2 KC_2
#define NUM_LB1 KC_3 #define NUM_LB1 KC_3
#define NUM_LB0 KC_BSLS #define NUM_LB0 KC_BSLS
#define NUM_RB0 NUM_NO #define NUM_RB0 NUM_NO
#define NUM_RB1 NUM_NO #define NUM_RB1 NUM_NO
#define NUM_RB2 NUM_NO #define NUM_RB2 NUM_NO
@ -70,3 +71,57 @@
#define NUM_RH0 NUM_NO #define NUM_RH0 NUM_NO
#define NUM_RH1 NUM_NO #define NUM_RH1 NUM_NO
#define NUM_RH2 NUM_NO #define NUM_RH2 NUM_NO
#define NUM_RGB_LT5 BLACK
#define NUM_RGB_LT4 WHITE
#define NUM_RGB_LT3 CHARTREUSE
#define NUM_RGB_LT2 CHARTREUSE
#define NUM_RGB_LT1 CHARTREUSE
#define NUM_RGB_LT0 WHITE
#define NUM_RGB_LTA BLACK
#define NUM_RGB_RTA BLACK
#define NUM_RGB_RT0 BLACK
#define NUM_RGB_RT1 BLACK
#define NUM_RGB_RT2 BLACK
#define NUM_RGB_RT3 BLACK
#define NUM_RGB_RT4 BLACK
#define NUM_RGB_RT5 BLACK
#define NUM_RGB_LM5 BLACK
#define NUM_RGB_LM4 WHITE
#define NUM_RGB_LM3 CHARTREUSE
#define NUM_RGB_LM2 CHARTREUSE
#define NUM_RGB_LM1 CHARTREUSE
#define NUM_RGB_LM0 WHITE
#define NUM_RGB_LMA BLACK
#define NUM_RGB_RMA BLACK
#define NUM_RGB_RM0 BLACK
#define NUM_RGB_RM1 WHITE
#define NUM_RGB_RM2 WHITE
#define NUM_RGB_RM3 WHITE
#define NUM_RGB_RM4 WHITE
#define NUM_RGB_RM5 BLACK
#define NUM_RGB_LB5 BLACK
#define NUM_RGB_LB4 WHITE
#define NUM_RGB_LB3 CHARTREUSE
#define NUM_RGB_LB2 CHARTREUSE
#define NUM_RGB_LB1 CHARTREUSE
#define NUM_RGB_LB0 WHITE
#define NUM_RGB_RB0 BLACK
#define NUM_RGB_RB1 BLACK
#define NUM_RGB_RB2 BLACK
#define NUM_RGB_RB3 WHITE
#define NUM_RGB_RB4 BLACK
#define NUM_RGB_RB5 BLACK
#define NUM_RGB_LH2 WHITE
#define NUM_RGB_LH1 CHARTREUSE
#define NUM_RGB_LH0 WHITE
#define NUM_RGB_RH0 BLACK
#define NUM_RGB_RH1 BLACK
#define NUM_RGB_RH2 BLACK

View file

@ -71,3 +71,59 @@
#define SYM_RH0 SYM_NO #define SYM_RH0 SYM_NO
#define SYM_RH1 SYM_NO #define SYM_RH1 SYM_NO
#define SYM_RH2 SYM_NO #define SYM_RH2 SYM_NO
#define SYM_RGB_LT5 BLACK
#define SYM_RGB_LT4 CYAN
#define SYM_RGB_LT3 CYAN
#define SYM_RGB_LT2 CYAN
#define SYM_RGB_LT1 CYAN
#define SYM_RGB_LT0 CYAN
#define SYM_RGB_LTA BLACK
#define SYM_RGB_RTA BLACK
#define SYM_RGB_RT0 BLACK
#define SYM_RGB_RT1 BLACK
#define SYM_RGB_RT2 BLACK
#define SYM_RGB_RT3 BLACK
#define SYM_RGB_RT4 BLACK
#define SYM_RGB_RT5 BLACK
#define SYM_RGB_LM5 BLACK
#define SYM_RGB_LM4 CYAN
#define SYM_RGB_LM3 CYAN
#define SYM_RGB_LM2 CYAN
#define SYM_RGB_LM1 CYAN
#define SYM_RGB_LM0 CYAN
#define SYM_RGB_LMA BLACK
#define SYM_RGB_RMA BLACK
#define SYM_RGB_RM0 BLACK
#define SYM_RGB_RM1 WHITE
#define SYM_RGB_RM2 WHITE
#define SYM_RGB_RM3 WHITE
#define SYM_RGB_RM4 WHITE
#define SYM_RGB_RM5 BLACK
#define SYM_RGB_LB5 BLACK
#define SYM_RGB_LB4 CYAN
#define SYM_RGB_LB3 CYAN
#define SYM_RGB_LB2 CYAN
#define SYM_RGB_LB1 CYAN
#define SYM_RGB_LB0 CYAN
#define SYM_RGB_RB0 BLACK
#define SYM_RGB_RB1 BLACK
#define SYM_RGB_RB2 BLACK
#define SYM_RGB_RB3 WHITE
#define SYM_RGB_RB4 BLACK
#define SYM_RGB_RB5 BLACK
#define SYM_RGB_LH2 CYAN
#define SYM_RGB_LH1 CYAN
#define SYM_RGB_LH0 CYAN
#define SYM_RGB_RH0 BLACK
#define SYM_RGB_RH1 BLACK
#define SYM_RGB_RH2 BLACK

View file

@ -0,0 +1,61 @@
bool process_adaptive_key(uint16_t keycode, const keyrecord_t *record) {
bool result = true;
if (timer_elapsed(prior_keydown_timer) > RAMO_ADAPTIVE_TERM) { // outside adaptive threshhold
prior_keycode = prior_keydown_timer = 0; // turn off Adaptives.
return true; // no adaptive conditions, so return.
}
// We're within Adaptive time window
switch (keycode) {
case KC_E:
switch (prior_keycode) {
case KC_A: // "AE" yields "AU" (8x more common) keeping it on home row
tap_code(KC_U);
result = false; // done.
break;
}
break;
}
// true: did not trigger adaptive. Continue processing.
// false: did trigger adaptive. Do not continue.
return result;
}
/*
PBD -> PWD
PF -> PS
KG -> KL
WMG -> WML
MG -> LG
JG -> JPG
WG -> WD
KH -> KN
GJ -> GTH
VJ -> VL
WJ -> WL
MK -> LK
HK -> NK
GM -> GL
VM -> VL
MWM -> MWL
(.)WM -> (.)LM
FP -> SP
GV -> GT
MV -> LV
GW -> GD
MW -> MP
YB -> IB
AE -> AU
*/

View file

@ -2,16 +2,26 @@
#ifdef USE_HD_H_DIGRAPH_COMBO #ifdef USE_HD_H_DIGRAPH_COMBO
const uint16_t PROGMEM HD_Th_combo[] = {HD_Th_keys, COMBO_END}; // TYPE "th" in hands down const uint16_t PROGMEM HD_Th_combo[] = {HD_Th_keys, COMBO_END}; // TYPE "th" in hands down
#endif #endif
const uint16_t PROGMEM HD_Q_combo[] = {HD_Q_keys, COMBO_END}; // TYPE "q" (Qu & Linger deletes u) const uint16_t PROGMEM HD_Qu_combo[] = {HD_Q_keys, COMBO_END}; // TYPE "qu" (Linger deletes u)
const uint16_t PROGMEM HD_Z_combo[] = {HD_Z_keys, COMBO_END}; // TYPE "z" const uint16_t PROGMEM HD_Z_combo[] = {HD_Z_keys, COMBO_END}; // TYPE "z"
const uint16_t PROGMEM CMK_Th_combo[] = {CMK_Th_keys, COMBO_END}; // TYPE "th" in colemak const uint16_t PROGMEM CMK_Th_combo[] = {CMK_Th_keys, COMBO_END}; // TYPE "th" in colemak
enum ramo_combos {
NO_COMBO = 0, // Sentinel value (0) to signify no combo is currently pressed
#ifdef USE_HD_H_DIGRAPH_COMBO
HD_COMBO_Th,
#endif
HD_COMBO_QU,
HD_COMBO_Z,
CMK_COMBO_Th,
};
combo_t key_combos[] = { combo_t key_combos[] = {
// Hands Down (Gold and Promethium) combos // Hands Down (Gold and Promethium) combos
#ifdef USE_HD_H_DIGRAPH_COMBO #ifdef USE_HD_H_DIGRAPH_COMBO
[HD_COMBO_Th] = COMBO_ACTION(HD_Th_combo), [HD_COMBO_Th] = COMBO_ACTION(HD_Th_combo),
#endif #endif
[HD_COMBO_Q] = COMBO_ACTION(HD_Q_combo), [HD_COMBO_QU] = COMBO_ACTION(HD_Qu_combo),
[HD_COMBO_Z] = COMBO(HD_Z_combo, KC_Z), [HD_COMBO_Z] = COMBO(HD_Z_combo, KC_Z),
// Colemak combos // Colemak combos
[CMK_COMBO_Th] = COMBO_ACTION(CMK_Th_combo), [CMK_COMBO_Th] = COMBO_ACTION(CMK_Th_combo),
@ -55,7 +65,7 @@ uint8_t ramo_process_combo_pressed(uint16_t combo_index) {
tap_code(KC_H); // send "h" honoring CAPSLK state tap_code(KC_H); // send "h" honoring CAPSLK state
} }
break; break;
case HD_COMBO_Q: case HD_COMBO_QU:
println("RAMO: Pressed N + H to type qu"); println("RAMO: Pressed N + H to type qu");
if (is_caps_word_on()) { if (is_caps_word_on()) {
tap_code16(S(KC_Q)); tap_code16(S(KC_Q));
@ -77,18 +87,18 @@ void ramo_process_combo_released(uint16_t combo_index) {
#endif #endif
case CMK_COMBO_Th: case CMK_COMBO_Th:
break; break;
case HD_COMBO_Q: case HD_COMBO_QU:
println("RAMO: Released N + H to type qu"); println("RAMO: Released P + L to type qu");
} }
} }
void matrix_scan_user(void) { void combo_check_for_linger(void) {
if ((timer_elapsed(linger_timer) > RAMO_COMBO_HOLD) && current_combo) { if ((timer_elapsed(linger_timer) > RAMO_COMBO_HOLD) && current_combo) {
println("RAMO: TRIGGERING COMBO_HOLD"); println("RAMO: TRIGGERING COMBO_HOLD");
uint16_t saved_mods = get_mods(); uint16_t saved_mods = get_mods();
clear_mods(); clear_mods();
switch (current_combo) { switch (current_combo) {
case HD_COMBO_Q: case HD_COMBO_QU:
tap_code16(KC_BSPC); // held, so delete u tap_code16(KC_BSPC); // held, so delete u
break; break;
} }

View file

@ -1,5 +1,5 @@
#include "layers/CMK-defs.h" #include "layers/CMK-defs.h"
#ifdef USE_HD_PROMETHIUM #ifdef RAMO_USE_HD_PROMETHIUM
#include "layers/HDP-defs.h" #include "layers/HDP-defs.h"
#else #else
#include "layers/HDG-defs.h" #include "layers/HDG-defs.h"
@ -12,25 +12,25 @@
#include "layers/FUN-defs.h" #include "layers/FUN-defs.h"
#ifdef USE_HD_PROMETHIUM #ifdef RAMO_USE_HD_PROMETHIUM
#define RAMO_FOR_EACH_LAYER \ #define RAMO_FOR_EACH_LAYER \
RAMO_DO(COLEMAK, CMK) \ RAMO_DO(COLEMAK, CMK) \
RAMO_DO(HANDSDOWN, HDP) \ RAMO_DO(HANDSDOWN, HDP) \
RAMO_DO(MEDIA, MED) \
RAMO_DO(NAV, NAV) \ RAMO_DO(NAV, NAV) \
RAMO_DO(MOUSE, MOS) \ RAMO_DO(MOUSE, MOS) \
RAMO_DO(MEDIA, MED) \
RAMO_DO(NUM, NUM) \
RAMO_DO(SYM, SYM) \ RAMO_DO(SYM, SYM) \
RAMO_DO(NUM, NUM) \
RAMO_DO(FUN, FUN) RAMO_DO(FUN, FUN)
#else // use HD_GOLD #else // use HD_GOLD
#define RAMO_FOR_EACH_LAYER \ #define RAMO_FOR_EACH_LAYER \
RAMO_DO(COLEMAK, CMK) \ RAMO_DO(COLEMAK, CMK) \
RAMO_DO(HANDSDOWN, HDG) \ RAMO_DO(HANDSDOWN, HDG) \
RAMO_DO(MEDIA, MED) \
RAMO_DO(NAV, NAV) \ RAMO_DO(NAV, NAV) \
RAMO_DO(MOUSE, MOS) \ RAMO_DO(MOUSE, MOS) \
RAMO_DO(MEDIA, MED) \
RAMO_DO(NUM, NUM) \
RAMO_DO(SYM, SYM) \ RAMO_DO(SYM, SYM) \
RAMO_DO(NUM, NUM) \
RAMO_DO(FUN, FUN) RAMO_DO(FUN, FUN)
#endif #endif

View file

@ -0,0 +1,14 @@
// Macro that defines a ledmap per layer (e.g. CMK_RGB_LT5, NAV_RGB_LB1)
// Then each layer simply has to define the derired color per key
// e.g. #define CMK_RGB_LT5 RED
const ledmap_color_t PROGMEM ledmap[][MATRIX_ROWS][MATRIX_COLS] = {
#define RAMO_DO(LAYER, STR) [L_##LAYER] = LAYOUT_split_3x6_3_ex2( \
STR##_RGB_LT5 , STR##_RGB_LT4 , STR##_RGB_LT3 , STR##_RGB_LT2 , STR##_RGB_LT1 , STR##_RGB_LT0 , STR##_RGB_LTA , STR##_RGB_RTA , STR##_RGB_RT0 , STR##_RGB_RT1 , STR##_RGB_RT2 , STR##_RGB_RT3 , STR##_RGB_RT4 , STR##_RGB_RT5 , \
STR##_RGB_LM5 , STR##_RGB_LM4 , STR##_RGB_LM3 , STR##_RGB_LM2 , STR##_RGB_LM1 , STR##_RGB_LM0 , STR##_RGB_LMA , STR##_RGB_RMA , STR##_RGB_RM0 , STR##_RGB_RM1 , STR##_RGB_RM2 , STR##_RGB_RM3 , STR##_RGB_RM4 , STR##_RGB_RM5 , \
STR##_RGB_LB5 , STR##_RGB_LB4 , STR##_RGB_LB3 , STR##_RGB_LB2 , STR##_RGB_LB1 , STR##_RGB_LB0 , STR##_RGB_RB0 , STR##_RGB_RB1 , STR##_RGB_RB2 , STR##_RGB_RB3 , STR##_RGB_RB4 , STR##_RGB_RB5 , \
STR##_RGB_LH2 , STR##_RGB_LH1 , STR##_RGB_LH0 , STR##_RGB_RH0 , STR##_RGB_RH1 , STR##_RGB_RH2 \
),
RAMO_FOR_EACH_LAYER
#undef RAMO_DO
};

View file

@ -0,0 +1,4 @@
void matrix_scan_user(void) {
combo_check_for_linger();
}

View file

@ -0,0 +1,31 @@
// This is called everytime a key is pressed or released
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
bool result = true;
// uint8_t saved_modifiers;
// saved_modifiers = get_mods(); // share modifiers
// Do we need to filter multi-function keys?
switch (keycode) {
case QK_MOD_TAP ... QK_MOD_TAP_MAX:
case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
case QK_TAP_DANCE ... QK_TAP_DANCE_MAX:
if (!record->tap.count) // if not tapped yet…
return true; // let QMK do that first
keycode &= QK_BASIC_MAX; // mods & taps have been handled.
}
if (record->event.pressed) {
if (!process_adaptive_key(keycode, record)) { // false means we handled the key press
prior_keycode = keycode &= QK_BASIC_MAX; // this keycode is stripped of mods+taps
prior_keydown_timer = timer_read(); // reset the adaptive timer
return false; // took care of that key
}
// RAMO: is this needed ?
// prior_keycode = keycode &= QK_BASIC_MAX; // this keycode is stripped of mods+taps
// prior_keydown_timer = timer_read(); // reset the adaptive timer
} else {
}
return result;
}

View file

@ -1,12 +1,16 @@
void ramo_TD_make_colemak_default(tap_dance_state_t *state, void *user_data) { void ramo_TD_make_colemak_default(tap_dance_state_t *state, void *user_data) {
if (state->count == 2) { if (state->count == 2) {
set_single_default_layer(L_COLEMAK); set_single_default_layer(L_COLEMAK);
layer_off(L_HANDSDOWN);
layer_on(L_COLEMAK);
} }
}; };
void ramo_TD_make_handsdown_default(tap_dance_state_t *state, void *user_data) { void ramo_TD_make_handsdown_default(tap_dance_state_t *state, void *user_data) {
if (state->count == 2) { if (state->count == 2) {
set_single_default_layer(L_HANDSDOWN); set_single_default_layer(L_HANDSDOWN);
layer_off(L_COLEMAK);
layer_on(L_HANDSDOWN);
} }
}; };

View file

@ -1,27 +1,39 @@
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
#include "raphaelmor.h"
void keyboard_post_init_user(void) { #include "raphaelmor.h"
// Customise these values to desired behaviour #include "elpekenin/ledmap.h"
debug_enable=true;
// rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); // Include the ledmap definitions
// rgb_matrix_sethsv_noeeprom(HSV_OFF); #include "ramo_ledmap.c"
};
// Info shared by subroutines (tap_dance, combos, etc..) // Info shared by subroutines (tap_dance, combos, etc..)
uint8_t saved_modifiers; uint8_t saved_modifiers;
uint32_t linger_timer = 0; // time elapsed since combo was pressed uint32_t linger_timer = 0; // time elapsed since combo was pressed
// Adaptive
uint16_t prior_keycode = KC_NO;
uint16_t prior_keydown_timer = 0; // timer of keydown for adaptive threshhold.
void keyboard_post_init_user(void) {
// Customise these values to desired behaviour
debug_enable=true;
debug_keyboard=true;
layer_state_set(default_layer_state);
};
// process
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
saved_modifiers = get_mods(); // share modifiers
return true;
}
// Include tap_dance processing code // Include tap_dance processing code
#include "tap_dance.c" #include "ramo_tap_dance.c"
// Include combo processing code // Include combo processing code
#include "combos.c" #include "ramo_combos.c"
// Include matrix processing code
#include "ramo_matrix.c"
// Include adaptive processing code
#include "ramo_adaptive.c"
// Include process_record code
#include "ramo_process_record.c"

View file

@ -1,7 +1,5 @@
#pragma once #pragma once
#include "tap_dance.h" #include "ramo_tap_dance.h"
#include "combos.h"
#define USE_HD_PROMETHIUM // (Gold is the default) #include "ramo_layers.h"
#include "layers.h"

View file

@ -1,13 +1,7 @@
TAP_DANCE_ENABLE = yes
MOUSEKEY_ENABLE = yes
AUTO_SHIFT_ENABLE = no
CAPS_WORD_ENABLE = yes CAPS_WORD_ENABLE = yes
CONSOLE_ENABLE = yes
COMBO_ENABLE = yes COMBO_ENABLE = yes
TAP_DANCE_ENABLE = yes
INTROSPECTION_KEYMAP_C += raphaelmor.c INTROSPECTION_KEYMAP_C += raphaelmor.c
RGBLIGHT_ENABLE = no
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_CUSTOM_USER = yes