diff options
| author | xton <cmdpix@mac.com> | 2018-05-13 21:02:06 -0700 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2018-05-13 21:02:06 -0700 |
| commit | 47f03bd5a4195c44fe7d6fbca0ba8b66cd3da0fa (patch) | |
| tree | abecbaa7f3030979f198c3dfd35e9bc5569ac13e | |
| parent | 70e60b0a0cbcc000b0192cec8d32a2745a0b25fa (diff) | |
| download | qmk_firmware-47f03bd5a4195c44fe7d6fbca0ba8b66cd3da0fa.tar.gz qmk_firmware-47f03bd5a4195c44fe7d6fbca0ba8b66cd3da0fa.zip | |
Xton has a dz60 (#2952)
* FORK!
* WIP - just how i like it
* empty
* more movement
* mouse keys
* more vimminess
* append/insert shift
* WIP - vim macros
* blocked out layer below in cmd mode.
also, about to restart my cmd approach.
* WIP - new vim layer
ripoff of the ergodox one, but rewritten as a state machine.
* debugged some, got key repeat working
* moooar coverage
* moooar coverage
* regular vis mode
* basically done with basics.
* some refactoring
- common movement sequences into helper function
- added some rgb controls
* modkey passthru feature
* stdized on cmd-left/right instead of ctrl-a/e
sadly. as there's no reliable shift-ctrl-e
* indicator lights
* moved vim layer into userspace
* cleaned up some yanking edge cases
* docs and some tweaks to layerescapes
* updated/added license strings
* updated comments
* moved config changes to keymap
* spurious changes removed
* cleanup pass, HT drashna for suggestions
- used _keymap() pattern to better modularize event processing in userspace
- made some static things static
- removed unused function
- improved reset.
* dz60 started. keymaps done.
* bugfixes: missing state change in d-, lspace should toggle vim mode.
* Caps lock indicator -> vim indicator.
And adjusted mousekey settings.
* don't actually need the second move trigger and it makes typing less responsive.
* some oppurtunistic bugfixing from my other keyboard (sorry)
* added readme for my dz60 keymap.
* bugfixing and comments updated (niu_mini)
* cleanup as suggested from review
| -rw-r--r-- | keyboards/dz60/keymaps/xtonhasvim/config.h | 17 | ||||
| -rw-r--r-- | keyboards/dz60/keymaps/xtonhasvim/keymap.c | 92 | ||||
| -rw-r--r-- | keyboards/dz60/keymaps/xtonhasvim/readme.md | 10 | ||||
| -rw-r--r-- | keyboards/niu_mini/keymaps/xtonhasvim/keymap.c | 24 | ||||
| -rw-r--r-- | users/xtonhasvim/xtonhasvim.c | 9 |
5 files changed, 140 insertions, 12 deletions
diff --git a/keyboards/dz60/keymaps/xtonhasvim/config.h b/keyboards/dz60/keymaps/xtonhasvim/config.h new file mode 100644 index 000000000..b1f549e0b --- /dev/null +++ b/keyboards/dz60/keymaps/xtonhasvim/config.h | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #ifndef CONFIG_KEYMAP_H | ||
| 2 | #define CONFIG_KEYMAP_H | ||
| 3 | |||
| 4 | #include "../../config.h" | ||
| 5 | |||
| 6 | // help for fast typist+dual function keys? | ||
| 7 | #define PERMISSIVE_HOLD | ||
| 8 | |||
| 9 | /* speed up mousekeys a bit */ | ||
| 10 | #define MOUSEKEY_DELAY 50 | ||
| 11 | #define MOUSEKEY_INTERVAL 20 | ||
| 12 | #define MOUSEKEY_MAX_SPEED 8 | ||
| 13 | #define MOUSEKEY_TIME_TO_MAX 30 | ||
| 14 | #define MOUSEKEY_WHEEL_MAX_SPEED 8 | ||
| 15 | #define MOUSEKEY_WHEEL_TIME_TO_MAX 40 | ||
| 16 | |||
| 17 | #endif | ||
diff --git a/keyboards/dz60/keymaps/xtonhasvim/keymap.c b/keyboards/dz60/keymaps/xtonhasvim/keymap.c new file mode 100644 index 000000000..8a7419214 --- /dev/null +++ b/keyboards/dz60/keymaps/xtonhasvim/keymap.c | |||
| @@ -0,0 +1,92 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | #include "xtonhasvim.h" | ||
| 3 | |||
| 4 | enum layers { | ||
| 5 | _QWERTY, | ||
| 6 | _FUN, | ||
| 7 | _MOVE, | ||
| 8 | _MOUSE | ||
| 9 | }; | ||
| 10 | |||
| 11 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 12 | |||
| 13 | [_QWERTY] = LAYOUT( | ||
| 14 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, KC_BSPC, | ||
| 15 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, | ||
| 16 | LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_MOVE,KC_SCLN), KC_QUOT, KC_ENT, | ||
| 17 | KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, | ||
| 18 | KC_LCTL, KC_LALT, KC_LGUI, VIM_START, TG(_MOUSE), KC_SPC, KC_RGUI, KC_RALT, X_____X, KC_RCTL, MO(_FUN)), | ||
| 19 | |||
| 20 | [_FUN] = LAYOUT( | ||
| 21 | KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, | ||
| 22 | _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, | ||
| 23 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 24 | _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, | ||
| 25 | TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), | ||
| 26 | |||
| 27 | [_MOVE] = LAYOUT( | ||
| 28 | X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, | ||
| 29 | X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, KC_HOME, KC_PGDN, KC_PGUP, KC_END, X_____X, X_____X, X_____X, X_____X, | ||
| 30 | X_____X, X_____X, LGUI(KC_LBRC), LGUI(LSFT(KC_LBRC)), LGUI(LSFT(KC_RBRC)), LGUI(KC_RBRC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, X_____X, X_____X, X_____X, | ||
| 31 | _______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______, | ||
| 32 | TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), | ||
| 33 | |||
| 34 | |||
| 35 | [_MOUSE] = LAYOUT( | ||
| 36 | X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, | ||
| 37 | X_____X, X_____X, X_____X, KC_MS_UP, X_____X, X_____X, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_UP, KC_MS_WH_RIGHT, X_____X, X_____X, X_____X, X_____X, | ||
| 38 | X_____X, X_____X,KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, X_____X, X_____X, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, X_____X, X_____X, X_____X, | ||
| 39 | _______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______, | ||
| 40 | TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), | ||
| 41 | |||
| 42 | [_EDIT] = LAYOUT( | ||
| 43 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 44 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 45 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 46 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 47 | TO(_QWERTY), _______, _______, VIM_START, _______, _______, _______, _______, _______, _______, _______), | ||
| 48 | |||
| 49 | [_CMD] = LAYOUT( | ||
| 50 | X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, | ||
| 51 | X_____X, X_____X, VIM_W, VIM_E, X_____X, X_____X, VIM_Y, VIM_U, VIM_I, VIM_O, VIM_P, X_____X, X_____X, X_____X, | ||
| 52 | VIM_ESC, VIM_A, VIM_S, VIM_D, X_____X, VIM_G, VIM_H, VIM_J, VIM_K, VIM_L, X_____X, X_____X, X_____X, | ||
| 53 | VIM_SHIFT, X_____X, X_____X, VIM_X, VIM_C, VIM_V, VIM_B, X_____X, X_____X, VIM_COMMA, VIM_PERIOD, X_____X, VIM_SHIFT,X_____X, | ||
| 54 | TO(_QWERTY), _______, _______, TO(_QWERTY), X_____X, X_____X, _______, _______, _______, _______, _______), | ||
| 55 | |||
| 56 | }; | ||
| 57 | |||
| 58 | #define LED_BIT 1 << 2 | ||
| 59 | #define LED_MASK ~(1 << 2) | ||
| 60 | |||
| 61 | void user_led_on(void) { | ||
| 62 | DDRB |= LED_BIT; | ||
| 63 | PORTB &= LED_MASK; | ||
| 64 | } | ||
| 65 | |||
| 66 | void user_led_off(void) { | ||
| 67 | DDRB &= ~LED_BIT; | ||
| 68 | PORTB &= LED_MASK; | ||
| 69 | } | ||
| 70 | |||
| 71 | void matrix_init_user(void) { | ||
| 72 | user_led_off(); | ||
| 73 | } | ||
| 74 | |||
| 75 | uint32_t layer_state_set_user(uint32_t state) { | ||
| 76 | static uint32_t last_state = 0; | ||
| 77 | |||
| 78 | if(last_state != state) { | ||
| 79 | switch (biton32(state)) { | ||
| 80 | case _CMD: | ||
| 81 | user_led_on(); | ||
| 82 | break; | ||
| 83 | default: | ||
| 84 | user_led_off(); | ||
| 85 | break; | ||
| 86 | } | ||
| 87 | last_state = state; | ||
| 88 | } | ||
| 89 | return state; | ||
| 90 | } | ||
| 91 | |||
| 92 | |||
diff --git a/keyboards/dz60/keymaps/xtonhasvim/readme.md b/keyboards/dz60/keymaps/xtonhasvim/readme.md new file mode 100644 index 000000000..5d0e38a3e --- /dev/null +++ b/keyboards/dz60/keymaps/xtonhasvim/readme.md | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | # Xton has a DZ60 and it's Vimtastic! | ||
| 2 | |||
| 3 | Mine has a split spacebar, no arrowkeys and an opaque case. Changes from the default layout: | ||
| 4 | |||
| 5 | * Vim mode toggled by hitting left spacebar (see `users/xtonhasvim`). Reusing the capslock LED to indicate VIM is on. | ||
| 6 | * Momentary directional control by holding down `;`. | ||
| 7 | * Mousekeys toggled with middle space button. | ||
| 8 | * Escape is dual-function with control (which replaces capslock AS IT SHOULD BE). | ||
| 9 | * Bottom left key is the "halp my kb doesn't work" key that always dumps you back to QWERTY. | ||
| 10 | |||
diff --git a/keyboards/niu_mini/keymaps/xtonhasvim/keymap.c b/keyboards/niu_mini/keymaps/xtonhasvim/keymap.c index 6c17df52a..6a23c0a2c 100644 --- a/keyboards/niu_mini/keymaps/xtonhasvim/keymap.c +++ b/keyboards/niu_mini/keymaps/xtonhasvim/keymap.c | |||
| @@ -65,16 +65,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 65 | * |------+------+------+------+------+-------------+------+------+------+------+------| | 65 | * |------+------+------+------+------+-------------+------+------+------+------+------| |
| 66 | * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | 66 | * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | |
| 67 | * |------+------+------+------+------+------|------+------+------+------+------+------| | 67 | * |------+------+------+------+------+------|------+------+------+------+------+------| |
| 68 | * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Home | End | | | 68 | * | | F7 | F8 | F9 | F10 | F11 | F12 | | Next | Vol- | Vol+ | Play | |
| 69 | * |------+------+------+------+------+------+------+------+------+------+------+------| | 69 | * |------+------+------+------+------+------+------+------+------+------+------+------| |
| 70 | * | | | | | | | | Next | Vol- | Vol+ | Play | | 70 | * | | Bail | | | | | | | | Bail | | |
| 71 | * `-----------------------------------------------------------------------------------' | 71 | * `-----------------------------------------------------------------------------------' |
| 72 | */ | 72 | */ |
| 73 | [_LOWER] = { | 73 | [_LOWER] = { |
| 74 | {KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSPC}, | 74 | {KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSPC}, |
| 75 | {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE}, | 75 | {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE}, |
| 76 | {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_HOME, KC_END, _______}, | 76 | {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, X_____X, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}, |
| 77 | {_______, TO(_QWERTY), _______, _______, _______, _______, _______, OSL(_ADJUST), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} | 77 | {X_____X, TO(_QWERTY), _______, _______, _______, KC_BSPC, KC_BSPC, OSL(_ADJUST), _______, _______, TO(_QWERTY), X_____X} |
| 78 | }, | 78 | }, |
| 79 | 79 | ||
| 80 | /* Raise | 80 | /* Raise |
| @@ -83,16 +83,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 83 | * |------+------+------+------+------+-------------+------+------+------+------+------| | 83 | * |------+------+------+------+------+-------------+------+------+------+------+------| |
| 84 | * | Del | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ | | 84 | * | Del | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ | |
| 85 | * |------+------+------+------+------+------|------+------+------+------+------+------| | 85 | * |------+------+------+------+------+------|------+------+------+------+------+------| |
| 86 | * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | | 86 | * | | F7 | F8 | F9 | F10 | F11 | F12 | | Next | Vol- | Vol+ | Play | |
| 87 | * |------+------+------+------+------+------+------+------+------+------+------+------| | 87 | * |------+------+------+------+------+------+------+------+------+------+------+------| |
| 88 | * | | | | | | | | Next | Vol- | Vol+ | Play | | 88 | * | | Bail | | | | | | | | Bail | | |
| 89 | * `-----------------------------------------------------------------------------------' | 89 | * `-----------------------------------------------------------------------------------' |
| 90 | */ | 90 | */ |
| 91 | [_RAISE] = { | 91 | [_RAISE] = { |
| 92 | {KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSPC}, | 92 | {KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSPC}, |
| 93 | {KC_DEL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS}, | 93 | {KC_DEL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS}, |
| 94 | {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGUP, KC_PGDN, _______}, | 94 | {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}, |
| 95 | {_______, TO(_QWERTY), _______, _______, OSL(_ADJUST), _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} | 95 | {X_____X, TO(_QWERTY), _______, _______, OSL(_ADJUST), X_____X, X_____X, _______, _______, _______, TO(_QWERTY), X_____X} |
| 96 | }, | 96 | }, |
| 97 | 97 | ||
| 98 | 98 | ||
| @@ -104,14 +104,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 104 | * |--------+------+------+------+------+------|------+------+------+------+------+------| | 104 | * |--------+------+------+------+------+------|------+------+------+------+------+------| |
| 105 | * |RGBMode+|Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | |Lite- | | 105 | * |RGBMode+|Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | |Lite- | |
| 106 | * |--------+------+------+------+------+------+------+------+------+------+------+------| | 106 | * |--------+------+------+------+------+------+------+------+------+------+------+------| |
| 107 | * | RGB | | | | | | | | | | | | 107 | * | RGB | Bail | | | | | | | | Bail | | |
| 108 | * `-------------------------------------------------------------------------------------' | 108 | * `-------------------------------------------------------------------------------------' |
| 109 | */ | 109 | */ |
| 110 | [_ADJUST] = { | 110 | [_ADJUST] = { |
| 111 | {RGB_MODE_PLAIN, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL }, | 111 | {RGB_MODE_PLAIN, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL }, |
| 112 | {RGB_MODE_REVERSE, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, RGB_VAI}, | 112 | {RGB_MODE_REVERSE, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, RGB_VAI}, |
| 113 | {RGB_MODE_FORWARD, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, RGB_VAD}, | 113 | {RGB_MODE_FORWARD, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, RGB_VAD}, |
| 114 | {RGB_TOG, TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} | 114 | {RGB_TOG, TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY), X_____X} |
| 115 | }, | 115 | }, |
| 116 | 116 | ||
| 117 | 117 | ||
| @@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 121 | {TO(_QWERTY), X_____X, X_____X, X_____X, X_____X, X_____X, KC_HOME, KC_PGDN, KC_PGUP, KC_END, X_____X, X_____X}, | 121 | {TO(_QWERTY), X_____X, X_____X, X_____X, X_____X, X_____X, KC_HOME, KC_PGDN, KC_PGUP, KC_END, X_____X, X_____X}, |
| 122 | {_______, X_____X, LGUI(KC_LBRC), LGUI(LSFT(KC_LBRC)), LGUI(LSFT(KC_RBRC)), LGUI(KC_RBRC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, X_____X, X_____X}, | 122 | {_______, X_____X, LGUI(KC_LBRC), LGUI(LSFT(KC_LBRC)), LGUI(LSFT(KC_RBRC)), LGUI(KC_RBRC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, X_____X, X_____X}, |
| 123 | {_______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______}, | 123 | {_______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______}, |
| 124 | {X_____X, TO(_QWERTY), _______, _______, _______, X_____X, X_____X, _______, _______, _______, TO(_QWERTY), _______} | 124 | {X_____X, TO(_QWERTY), _______, _______, _______, X_____X, X_____X, _______, _______, _______, TO(_QWERTY), X_____X} |
| 125 | }, | 125 | }, |
| 126 | 126 | ||
| 127 | /* mouse layer | 127 | /* mouse layer |
| @@ -130,7 +130,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 130 | {TO(_QWERTY), X_____X, X_____X, KC_MS_UP, X_____X, X_____X, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_UP, KC_MS_WH_RIGHT, X_____X, X_____X }, | 130 | {TO(_QWERTY), X_____X, X_____X, KC_MS_UP, X_____X, X_____X, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_UP, KC_MS_WH_RIGHT, X_____X, X_____X }, |
| 131 | {_______, X_____X, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, X_____X, X_____X, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, X_____X, X_____X}, | 131 | {_______, X_____X, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, X_____X, X_____X, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, X_____X, X_____X}, |
| 132 | {_______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______}, | 132 | {_______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______}, |
| 133 | {_______, TO(_QWERTY), _______, _______, _______, X_____X, X_____X, _______, _______, _______, TO(_QWERTY), _______} | 133 | {_______, TO(_QWERTY), _______, _______, _______, X_____X, X_____X, _______, _______, _______, TO(_QWERTY), X_____X} |
| 134 | }, | 134 | }, |
| 135 | 135 | ||
| 136 | /* vim edit mode. just has an escape -> _CMD key */ | 136 | /* vim edit mode. just has an escape -> _CMD key */ |
diff --git a/users/xtonhasvim/xtonhasvim.c b/users/xtonhasvim/xtonhasvim.c index 0ec331b68..a2ff2fa31 100644 --- a/users/xtonhasvim/xtonhasvim.c +++ b/users/xtonhasvim/xtonhasvim.c | |||
| @@ -384,6 +384,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 384 | simple_movement(keycode); | 384 | simple_movement(keycode); |
| 385 | CMD(KC_X); | 385 | CMD(KC_X); |
| 386 | yank_was_lines = false; | 386 | yank_was_lines = false; |
| 387 | vstate = VIM_START; | ||
| 387 | break; | 388 | break; |
| 388 | case VIM_D: | 389 | case VIM_D: |
| 389 | CMD(KC_LEFT); | 390 | CMD(KC_LEFT); |
| @@ -467,6 +468,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 467 | SHIFT(KC_LEFT); // select to start of next word | 468 | SHIFT(KC_LEFT); // select to start of next word |
| 468 | RELEASE(KC_LALT); | 469 | RELEASE(KC_LALT); |
| 469 | break; | 470 | break; |
| 471 | case VIM_P: | ||
| 472 | CMD(KC_V); | ||
| 473 | vstate = VIM_START; | ||
| 474 | break; | ||
| 470 | case VIM_Y: | 475 | case VIM_Y: |
| 471 | CMD(KC_C); | 476 | CMD(KC_C); |
| 472 | TAP(KC_RIGHT); | 477 | TAP(KC_RIGHT); |
| @@ -525,6 +530,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 525 | TAP(KC_RIGHT); | 530 | TAP(KC_RIGHT); |
| 526 | vstate = VIM_START; | 531 | vstate = VIM_START; |
| 527 | break; | 532 | break; |
| 533 | case VIM_P: | ||
| 534 | CMD(KC_V); | ||
| 535 | vstate = VIM_START; | ||
| 536 | break; | ||
| 528 | case VIM_V: | 537 | case VIM_V: |
| 529 | case VIM_ESC: | 538 | case VIM_ESC: |
| 530 | TAP(KC_RIGHT); | 539 | TAP(KC_RIGHT); |
