summaryrefslogtreecommitdiffstats
path: root/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c')
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c37
1 files changed, 36 insertions, 1 deletions
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c
index 720c7a1d3f..53f605c54d 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c
@@ -10,15 +10,30 @@ enum custom_keycodes {
MCR_REC, // Macro record
MCR_SWT, // Swap active macro
#endif
+ #ifdef MOUSEKEY_ENABLE
+ MS_ACL_U,
+ MS_ACL_D,
+ #endif
};
enum layout_names {
_MAIN = 0, // Keys Layout: The main keyboard layout that has all the characters
_SUB, // Extension to Main
_CTR, // Macros, RGB, Audio controls, layer access. More or less the control center of my keyboard
+ #ifdef MOUSEKEY_ENABLE
+ _MSE,
+ #endif // MOUSEKEY_ENABLE
_END,
};
+#ifdef MOUSEKEY_ENABLE
+#include "action.h"
+#define TOG_MSE TG(_MSE)
+static int current_accel = 0;
+#else
+#define TOG_MSE XXXXXXX
+#endif // MOUSEKEY_ENABLE
+
#ifdef DYNAMIC_MACRO_ENABLE
// Macro 1 is = 1, Macro 2 = -1, No macro = 0
static bool MACRO1 = true;
@@ -57,8 +72,16 @@ const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, XXXXXXX, MCR_REC,
XXXXXXX, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, MCR_PLY,
XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, XXXXXXX, XXXXXXX, MCR_SWT,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TOG_MSE, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ )
+ #ifdef MOUSEKEY_ENABLE
+ ,[_MSE] = LAYOUT_planck_mit(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_WH_D, KC_WH_U, KC_BTN2, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MS_ACL_D, TOG_MSE, MS_ACL_U,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
+ #endif // MOUSEKEY_ENABLE
};
#define LAYER (get_highest_layer(layer_state))
@@ -126,6 +149,18 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
#endif
+ #ifdef MOUSEKEY_ENABLE
+ if (keycode == MS_ACL_U || keycode == MS_ACL_D) {
+ if (record->event.pressed) {
+ if ( (keycode == MS_ACL_U) && (current_accel < 2) ) { current_accel += 1; }
+ if ( (keycode == MS_ACL_D) && (current_accel > 0) ) { current_accel -= 1; }
+ }
+ keycode = KC_ACL0 + current_accel;
+ action_t mousekey_action = action_for_keycode(keycode);
+ process_action(record, mousekey_action);
+ }
+ #endif
+
switch (keycode) {
#ifdef DYNAMIC_MACRO_ENABLE
case MCR_SWT: