diff options
Diffstat (limited to 'keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c')
-rw-r--r-- | keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c b/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c new file mode 100644 index 0000000000..96499b8789 --- /dev/null +++ b/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c @@ -0,0 +1,56 @@ +// Copyright 2021-22 Will McGLoughlin (wymcg) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _NAV, + _PROD +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, + TO(_NAV), G(KC_1), G(KC_2), G(KC_3), + TO(_PROD), G(KC_4), G(KC_5), G(KC_6) + ), + [_NAV] = LAYOUT( + TO(_BASE), KC_HOME, KC_UP, KC_END, + A(KC_TAB), KC_LEFT, KC_DOWN, KC_RIGHT, + G(KC_TAB), KC_PGDN, KC_PGUP, MO(_BASE) + ), + [_PROD] = LAYOUT( + TO(_BASE), KC_NO, KC_NO, KC_NO, + C(KC_Z), C(KC_X), C(KC_C), C(KC_V), + C(KC_A), C(KC_LEFT), C(KC_RIGHT),MO(_BASE) + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + switch (biton32(layer_state)) { + case _BASE: + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + case _NAV: + if (clockwise) { + tap_code16(C(G(KC_RIGHT))); + } else { + tap_code16(C(G(KC_LEFT))); + } + break; + case _PROD: + if (clockwise) { + tap_code16(C(KC_Y)); + } else { + tap_code16(C(KC_Z)); + } + break; + } + return false; +} |