aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskullY <skullydazed@gmail.com>2017-07-03 10:58:57 -0700
committerskullY <skullydazed@gmail.com>2017-07-03 10:58:57 -0700
commitb22220532ff2c6241589ea229d5fce35fb78c380 (patch)
tree004db859caf35c3ad6f411382eb0c1fcd5265dc3
parent6b0503b20d1918f4eed1975cf2104a61fd51abef (diff)
downloadqmk_firmware-b22220532ff2c6241589ea229d5fce35fb78c380.tar.gz
qmk_firmware-b22220532ff2c6241589ea229d5fce35fb78c380.zip
Rewrite mouse_keys to resolve #937
-rw-r--r--docs/mouse_keys.md84
1 files changed, 73 insertions, 11 deletions
diff --git a/docs/mouse_keys.md b/docs/mouse_keys.md
index 16e920fdb..e6dfe7bd9 100644
--- a/docs/mouse_keys.md
+++ b/docs/mouse_keys.md
@@ -1,17 +1,79 @@
1# Can I increase the speed of the mouse keys? 1# Mousekeys
2 2
3**Q:** The default speed for controlling the mouse with the keyboard is slow. I've tried increasing the mouse's sensitivity at work using xset m and it worked, although sometimes it changes by itself for some reason. At home, on Arch Linux, this does not change ti. I've looked through the forums and resolved to use libinput using xinput but using that I only manage to change the speed of the mouse using the actual mouse. The speed of the mouse using the keyboard controls remained unchanged. 3Mousekeys is a feature that allows you to emulate a mouse using your keyboard. You can move the pointer around, click up to 5 buttons, and even scroll in all 4 directions. QMK uses the same algorithm as the X Window System MouseKeysAccel feature. You can read more about it [on Wikipedia](https://en.wikipedia.org/wiki/Mouse_keys).
4Is there perhaps something I can input in the keymap.c to change the sensitivity? Or some other surefire way of increasing the speed?
5Thanks!
6 4
7**A:** In your keymap's config.h: 5## Adding Mousekeys To a Keymap
6
7There are two steps to adding Mousekeys support to your keyboard. You must enable support in the Makefile and you must map mouse actions to keys on your keyboard.
8
9### Adding Mousekeys support in the `Makefile`
10
11To add support for Mousekeys you simply need to add a single line to your keymap's `Makefile`:
12
13```
14MOUSEKEY_ENABLE = yes
15```
16
17You can see an example here: https://github.com/qmk/qmk_firmware/blob/master/keyboards/clueboard/keymaps/mouse_keys/Makefile
18
19### Mapping Mouse Actions To Keyboard Keys
20
21You can use these keycodes within your keymap to map button presses to mouse actions:
22
23|Long Name|Short Name|Description|
24|---------|----------|-----------|
25|KC_MS_UP|KC_MS_U|Mouse Cursor Up|
26|KC_MS_DOWN|KC_MS_D|Mouse Cursor Down|
27|KC_MS_LEFT|KC_MS_L|Mouse Cursor Left|
28|KC_MS_RIGHT|KC_MS_R|Mouse Cursor Right|
29|KC_MS_BTN1|KC_BTN1|Mouse Button 1|
30|KC_MS_BTN2|KC_BTN2|Mouse Button 2|
31|KC_MS_BTN3|KC_BTN3|Mouse Button 3|
32|KC_MS_BTN4|KC_BTN4|Mouse Button 4|
33|KC_MS_BTN5|KC_BTN5|Mouse Button 5|
34|KC_MS_WH_UP|KC_WH_U|Mouse Wheel Up|
35|KC_MS_WH_DOWN|KC_WH_D|Mouse Wheel Down|
36|KC_MS_WH_LEFT|KC_WH_L|Mouse Wheel Left|
37|KC_MS_WH_RIGHT|KC_WH_R|Mouse Wheel Right|
38|KC_MS_ACCEL0|KC_ACL0|Set Mouse Acceleration Speed to 0|
39|KC_MS_ACCEL1|KC_ACL1|Set Mouse Acceleration Speed to 1|
40|KC_MS_ACCEL2|KC_ACL2|Set Mouse Acceleration Speed to 2|
41
42You can see an example in the `_ML` here: https://github.com/qmk/qmk_firmware/blob/master/keyboards/clueboard/keymaps/mouse_keys/keymap.c#L46
43
44## Configuring the behavior of Mousekeys
45
46The default speed for controlling the mouse with the keyboard is intentionaly slow. You can adjust these parameters by adding these settings to your keymap's `config.h` file. All times are specified in miliseconds (ms).
8 47
9``` 48```
10#define MOUSEKEY_INTERVAL 20 49#define MOUSEKEY_DELAY 300
11#define MOUSEKEY_DELAY 0 50#define MOUSEKEY_INTERVAL 50
12#define MOUSEKEY_TIME_TO_MAX 60 51#define MOUSEKEY_MAX_SPEED 10
13#define MOUSEKEY_MAX_SPEED 7 52#define MOUSEKEY_TIME_TO_MAX 20
14#define MOUSEKEY_WHEEL_DELAY 0 53#define MOUSEKEY_WHEEL_MAX_SPEED 8
54#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
15``` 55```
16 56
17Tweak away. A lower interval or higher max speed will effectively make the mouse move faster. Time-to-max controls acceleration. (See [this Reddit thread for the original discussion](https://www.reddit.com/r/ErgoDoxEZ/comments/61fwr2/a_reliable_way_to_increase_the_speed_of_the_mouse/)). \ No newline at end of file 57### `MOUSEKEY_DELAY`
58
59When one of the mouse movement buttons is pressed this setting is used to define the delay between that button press and the mouse cursor moving. Some people find that small movements are impossible if this setting is too low, while settings that are too high feel sluggish.
60
61### `MOUSEKEY_INTERVAL`
62
63When a movement key is held down this specifies how long to wait between each movement report. Lower settings will translate into an effectively higher mouse speed.
64
65### `MOUSEKEY_MAX_SPEED`
66
67As a movement key is held down the speed of the mouse cursor will increase until it reaches `MOUSEKEY_MAX_SPEED`.
68
69### `MOUSEKEY_TIME_TO_MAX`
70
71How long you want to hold down a movement key for until `MOUSEKEY_MAX_SPEED` is reached. This controls how quickly your cursor will accelerate.
72
73### `MOUSEKEY_WHEEL_MAX_SPEED`
74
75The top speed for scrolling movements.
76
77### `MOUSEKEY_WHEEL_TIME_TO_MAX`
78
79How long you want to hold down a scroll key for until `MOUSEKEY_WHEEL_MAX_SPEED` is reached. This controls how quickling your scrolling will accelerate.