summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/planck/keymaps/callum/config.h7
-rw-r--r--keyboards/planck/keymaps/callum/keymap.c73
-rw-r--r--keyboards/planck/keymaps/callum/readme.md67
-rw-r--r--keyboards/planck/keymaps/callum/rules.mk2
4 files changed, 69 insertions, 80 deletions
diff --git a/keyboards/planck/keymaps/callum/config.h b/keyboards/planck/keymaps/callum/config.h
new file mode 100644
index 0000000000..49f61dee55
--- /dev/null
+++ b/keyboards/planck/keymaps/callum/config.h
@@ -0,0 +1,7 @@
+#define MOUSEKEY_DELAY 0
+#define MOUSEKEY_INTERVAL 16
+#define MOUSEKEY_MAX_SPEED 10
+#define MOUSEKEY_TIME_TO_MAX 60
+#define MOUSEKEY_WHEEL_DELAY 0
+#define MOUSEKEY_WHEEL_MAX_SPEED 8
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 60
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index eca83d8320..02456aa7d8 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -13,6 +13,7 @@ enum planck_layers {
_SYMB,
_MOVE,
_FUNC,
+ _MOUSE,
};
enum planck_keycodes {
@@ -21,6 +22,7 @@ enum planck_keycodes {
SYMB,
MOVE,
FUNC,
+ MOUSE,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -101,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
* | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | | | | | | | |
+ * | | | | | | | |Mouse| | | | |
* `-----------------------------------------------------------------------'
*/
[_SYMB] = {
@@ -122,41 +124,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
},
{
_______, _______, _______, _______,
- _______, _______, _______, _______,
+ _______, _______, _______, MOUSE,
_______, _______, _______, _______
}
},
/* MOVE
* ,-----------------------------------------------------------------------.
- * | | | | | | | |Home | Up | End | | Esc |
+ * | | | | | | |CtrUp|Home | Up | End |Caps | Esc |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | | |Left |Down |Right|Caps | Del |
+ * | | | | | | |SpaL |Left |Down |Right|SpaR | Del |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | | |PgDn |PgUp |TabL |TabR | |
+ * | | | | | | |CtrDn|PgDn |PgUp |TabL |TabR | |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | | | | | | | |
+ * | | | | |Mouse| | | | | | | |
* `-----------------------------------------------------------------------'
*/
[_MOVE] = {
{
AC(KC_A), AC(KC_B), AC(KC_C), AC(KC_D),
- AC(KC_E), AC(KC_F), XXXXXXX, KC_HOME,
- KC_UP, KC_END, XXXXXXX, KC_ESC
+ AC(KC_E), AC(KC_F), C(KC_UP), KC_HOME,
+ KC_UP, KC_END, KC_CAPS, KC_ESC
},
{
AC(KC_G), AC(KC_H), AC(KC_I), AC(KC_J),
- AC(KC_K), AC(KC_L), XXXXXXX, KC_LEFT,
- KC_DOWN, KC_RGHT, KC_CAPS, KC_DEL
+ AC(KC_K), AC(KC_L), C(KC_LEFT), KC_LEFT,
+ KC_DOWN, KC_RGHT, C(KC_RIGHT), KC_DEL
},
{
_______, AC(KC_M), AC(KC_N), AC(KC_O),
- AC(KC_P), AC(KC_Q), XXXXXXX, KC_PGDN,
+ AC(KC_P), AC(KC_Q), C(KC_DOWN), KC_PGDN,
KC_PGUP, SC(KC_TAB), C(KC_TAB), _______
},
{
_______, _______, _______, _______,
- _______, _______, _______, _______,
+ MOUSE, _______, _______, _______,
_______, _______, _______, _______
}
},
@@ -167,7 +169,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
* |Power| F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 |VolDn|
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | |TabL |TabR | | | | |Clmak|Qwrty| |
+ * | | |Home |TabL |TabR |End | | | |Clmak|Qwrty| |
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
* | | | | |Prev |Mute |Play |Next | | | | |
* `-----------------------------------------------------------------------'
@@ -184,8 +186,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F18, KC_F19, KC_F20, KC_VOLD
},
{
- _______, XXXXXXX, XXXXXXX, SC(KC_TAB),
- C(KC_TAB), XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX, KC_HOME, SC(KC_TAB),
+ C(KC_TAB), KC_END, XXXXXXX, XXXXXXX,
XXXXXXX, COLEMAK, QWERTY, _______
},
{
@@ -193,6 +195,40 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MPRV, KC_MUTE, KC_MPLY, KC_MNXT,
_______, _______, _______, _______
}
+ },
+
+ /* MOUSE
+ * ,-----------------------------------------------------------------------.
+ * | | | | | | | | ScL |Up | ScR | | |
+ * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
+ * | | B4 | B3 | B2 | B1 | | |Left |Down |Right| | |
+ * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
+ * | | | Ac0 | Ac1 | Ac2 | | | ScD | ScU | | | |
+ * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------'
+ */
+ [_MOUSE] = {
+ {
+ _______, _______, C(KC_LEFT), C(KC_UP),
+ C(KC_RIGHT), _______, _______, KC_WH_L,
+ KC_MS_U, KC_WH_R, _______, _______
+ },
+ {
+ _______, KC_BTN4, KC_BTN3, KC_BTN2,
+ KC_BTN1, _______, _______, KC_MS_L,
+ KC_MS_D, KC_MS_R, _______, _______
+ },
+ {
+ _______, _______, KC_ACL0, KC_ACL1,
+ KC_ACL2, _______, _______, KC_WH_D,
+ KC_WH_U, _______, _______, _______
+ },
+ {
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ }
}
};
@@ -250,6 +286,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
layer_off(_FUNC);
}
return false;
+ case MOUSE:
+ if (record->event.pressed) {
+ layer_on(_MOUSE);
+ } else {
+ layer_off(_MOUSE);
+ }
+ return false;
// Override the defualt auto shifted symbols to use SEND_STRING
// See https://github.com/qmk/qmk_firmware/issues/4072
diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md
index 176211cd4b..99b6dfbeff 100644
--- a/keyboards/planck/keymaps/callum/readme.md
+++ b/keyboards/planck/keymaps/callum/readme.md
@@ -17,68 +17,7 @@ This is a layout for the grid planck, built with a few ideals in mind:
- There should be two of every modifier (one on each side), otherwise certain
long key combinations become hard to make.
-Keys are arranged as follows. Blank keys below may actually contain
-undocumented shortcuts specific to my workflow. The base layer can be set to
-colemak or qwerty (from the function layer).
+A layout graphic can be found [here][keyboard-layout-editor] (excludes window
+management keys).
-```
-/* COLEMAK
- * ,-----------------------------------------------------------------------.
- * |Tab | Q | W | F | P | G | J | L | U | Y | ; | - |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * |Bksp | A | R | S | T | D | H | N | E | I | O | ' |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * |Shift| Z | X | C | V | B | K | M | , | . | / |Shift|
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * |FUNC |Super| Alt |Ctrl |SYMB |Enter|Space|MOVE |Ctrl | Alt |Super|FUNC |
- * `-----------------------------------------------------------------------'
- */
-
-/* QWERTY
- * ,-----------------------------------------------------------------------.
- * |Tab | Q | W | E | R | T | Y | U | I | O | P | - |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * |Bksp | A | S | D | F | G | H | J | K | L | ; | ' |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * |Shift| Z | X | C | V | B | N | M | , | . | / |Shift|
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * |FUNC |Super| Alt |Ctrl |SYMB |Enter|Space|MOVE |Ctrl | Alt |Super|FUNC |
- * `-----------------------------------------------------------------------'
- */
-
-/* SYMB
- * ,-----------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | ~ | ` | + | = | | | \ | [ | ] | { | } | |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------'
- */
-
-/* MOVE
- * ,-----------------------------------------------------------------------.
- * | | | | | | | |Home | Up | End | | Esc |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | | |Left |Down |Right|Caps | Del |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | | |PgDn |PgUp | | | |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------'
- */
-
-/* FUNC
- * ,-----------------------------------------------------------------------.
- * |Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 |VolUp|
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * |Power| F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 |VolDn|
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | F21 | F22 | F23 | F24 | | | | |COLMK|QWRTY| |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | | | | |Prev |Mute |Play |Next | | | | |
- * `-----------------------------------------------------------------------'
- */
- ```
+[keyboard-layout-editor]: http://www.keyboard-layout-editor.com/#/gists/ade5ec1f814bf83046489a4b632575ff
diff --git a/keyboards/planck/keymaps/callum/rules.mk b/keyboards/planck/keymaps/callum/rules.mk
index 25d398f080..4774c2c417 100644
--- a/keyboards/planck/keymaps/callum/rules.mk
+++ b/keyboards/planck/keymaps/callum/rules.mk
@@ -3,7 +3,7 @@
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration