diff options
Diffstat (limited to 'keyboards/dz60/keymaps/xtonhasvim/keymap.c')
| -rw-r--r-- | keyboards/dz60/keymaps/xtonhasvim/keymap.c | 92 |
1 files changed, 92 insertions, 0 deletions
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 | |||
