summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFearlessSpiff <fearless.spiff@me.com>2022-03-08 03:17:30 +0100
committerGitHub <noreply@github.com>2022-03-07 18:17:30 -0800
commit59954322025b7f7bea4b7dc08148b5702f08e030 (patch)
tree4a868e790579a043b5d20db6708c1c29f2a46402
parent893d86cb896d82eb8c9d16251062dd6afa802533 (diff)
downloadqmk_firmware-59954322025b7f7bea4b7dc08148b5702f08e030.tar.gz
qmk_firmware-59954322025b7f7bea4b7dc08148b5702f08e030.zip
[Keymap] add mouse controls to Mechwilds Mercutio FearlessSpiff (#16566)
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h9
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c22
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md7
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk2
4 files changed, 31 insertions, 9 deletions
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h
index 9d588ed8c0..f29c91f9e0 100644
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h
+++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h
@@ -17,3 +17,12 @@
#pragma once
#define TAPPING_TERM 180
+
+#define MK_KINETIC_SPEED
+#define MOUSEKEY_DELAY 8
+#define MOUSEKEY_INTERVAL 5
+#define MOUSEKEY_MOVE_DELTA 1
+#define MOUSEKEY_INITIAL_SPEED 3
+#define MOUSEKEY_BASE_SPEED 120
+#define MOUSEKEY_DECELERATED_SPEED 100
+#define MOUSEKEY_ACCELERATED_SPEED 1000
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
index ada92103c3..36dcd4816f 100644
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
+++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
@@ -36,7 +36,8 @@
enum layers {
QWERT,
FN_1,
- FN_2
+ FN_2,
+ FN_MOUSE
};
enum custom_user_keycodes {
@@ -105,26 +106,33 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [QWERT] = LAYOUT_all(
+ [QWERT] = LAYOUT_all(
KC_ENC,
TD(TD_TAB_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT,
+ MO(FN_1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT,
KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, LT(2,KC_SPC), LT(2,KC_SPC), LT(2,KC_SPC), KC_RALT, DE_MINS, KC_RCTL ),
+ KC_LCTL, KC_LGUI, KC_LALT, LT(FN_2,KC_SPC), LT(FN_2,KC_SPC), LT(FN_2,KC_SPC), KC_RALT, DE_MINS, KC_RCTL ),
[FN_1] = LAYOUT_all(
KC_MUTE,
KC_GESC, _______, _______, _______, DE_LCBR, DE_RCBR, _______, DE_UDIA, KC_UP, DE_ODIA, DE_QUES, KC_DEL,
_______, DE_ADIA, DE_SS, _______, DE_LPRN, DE_RPRN, _______, KC_LEFT, KC_DOWN, KC_RIGHT, DE_HASH, _______,
- _______, DE_CIRC, DE_ACUT, _______, _______, DE_LBRC, DE_RBRC, KC_HOME, KC_END, DE_QUOT, DE_DQUO, DE_EQL,
- _______, _______, _______, _______, _______, _______, DE_BSLS, DE_SLSH, DE_TILD ),
+ _______, _______, DE_CIRC, DE_ACUT, _______, DE_LBRC, DE_RBRC, KC_HOME, KC_END, DE_QUOT, DE_DQUO, DE_EQL,
+ _______, _______, _______, MO(FN_MOUSE), MO(FN_MOUSE), MO(FN_MOUSE), DE_BSLS, DE_SLSH, DE_TILD ),
[FN_2] = LAYOUT_all(
_______,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_BSPC,
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______ )
+ _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
+
+ [FN_MOUSE] = LAYOUT_all(
+ _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, _______,
+ _______, _______, _______, _______, KC_ACL0, _______, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______ )
};
#ifdef ENCODER_ENABLE
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md
index 33240ffbcd..85b3490608 100644
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md
+++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md
@@ -9,16 +9,21 @@ Features
- Additional encoder functionality
- While holding FN_1, page up and down
- While holding FN_2, volume up and down
+ - Mouse controls by holding Caps-Space
- Use my templates for your own layout overview at [Keyboard Layout Editor](http://www.keyboard-layout-editor.com) using my gist [here](https://gist.github.com/FearlessSpiff)
+ - Shout out to [KMonad](https://github.com/kmonad/kmonad) which enabled my laptop keyboard to behave like my Mercutio!
QWERT Layer
![image](https://user-images.githubusercontent.com/1927259/148683284-04932e15-a34d-451e-b657-335780033f36.png)
FN_1 Layer
-![image](https://user-images.githubusercontent.com/1927259/148683299-f2c80403-3f29-4ba8-9fc4-957729f30b05.png)
+![image](https://user-images.githubusercontent.com/1927259/157032746-8aa68e1c-27b9-4cf5-88ed-a071d8238f56.png)
FN_2 layer
![image](https://user-images.githubusercontent.com/1927259/148683306-364bc59c-b41b-4092-b93b-d7b4fc58567b.png)
+FN_MOUSE layer
+![image](https://user-images.githubusercontent.com/1927259/157032817-83922578-8932-42bf-a2d2-f785136b4d4e.png)
+
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk
index 16f26944e8..fc0ec28153 100644
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk
+++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk
@@ -1,7 +1,7 @@
WPM_ENABLE = yes
TAP_DANCE_ENABLE = yes
VIA_ENABLE = no
-MOUSEKEY_ENABLE = no
+MOUSEKEY_ENABLE = yes
EXTRAKEY_ENABLE = yes # Audio control and System control
KEY_LOCK_ENABLE = no
CONSOLE_ENABLE = no