diff --git a/keyboards/gmmk/pro/ansi/keymaps/benschaeff/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/benschaeff/keymap.c index 39eac038d1..5f3e3f5fd8 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/benschaeff/keymap.c +++ b/keyboards/gmmk/pro/ansi/keymaps/benschaeff/keymap.c @@ -20,7 +20,7 @@ enum userspace_layers { }; //custom keycodes -#define MODS_ALT_MASK (MOD_BIT(KC_LALT)) // Make ALT layer for encoder use +#define MODS_ALT_MASK (MOD_BIT(KC_LALT)) // Make ALT layer for encoder use #define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)) // Make CTRL layer for encoder use #define SWAP_L SGUI(KC_LEFT) // Swap application to left display #define SWAP_R SGUI(KC_RGHT) // Swap application to right display @@ -70,54 +70,58 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -bool encoder_update_user(uint8_t index, bool clockwise) -{ - if (get_mods() & MODS_ALT_MASK) - { - if (clockwise) - { - tap_code(KC_TAB); - } - else - { - tap_code16(S(KC_TAB)); - } - } - else if (get_mods() & MODS_CTRL_MASK) - { - if (clockwise) - { - tap_code(KC_TAB); - } - else - { - tap_code16(S(KC)_TAB)); - +bool encoder_update_user(uint8_t index, bool clockwise) { + if (get_mods() & MODS_ALT_MASK) { + if (clockwise) { + tap_code(KC_TAB); + } else { + tap_code16(S(KC_TAB)); + } + } else if (get_mods() & MODS_CTRL_MASK) { + if (clockwise) { + tap_code(KC_TAB); + } else { + tap_code16(S(KC_TAB)); + } + } else if(IS_LAYER_ON(FNLAYER)) { + if (clockwise) { + tap_code(KC_MEDIA_NEXT_TRACK); + } else { + tap_code(KC_MEDIA_PREV_TRACK); + } + } else { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } } - } - else if(IS_LAYER_ON(FNLAYER)) - { - if(clockwise) - { - tap_code(KC_MEDIA_NEXT_TRACK); - } - else - { - tap_code(KC_MEDIA_PREV_TRACK); - } - } - else - { - if (clockwise) - { - tap_code(KC_VOLU); - } - else - { - tap_code(KC_VOLD); - } + return false; +} +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + switch(get_highest_layer(layer_state)) { + // special handling per layer + case 0: //layer one + if (host_keyboard_led_state().caps_lock) + rgb_matrix_set_color_all(255,0,0); + else + rgb_matrix_set_color_all(0,255,56); + break; + case 1: + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_INDICATOR_SET_COLOR(i,0,0,0); + } + RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 255) //esc + RGB_MATRIX_INDICATOR_SET_COLOR(6, 0, 0, 255) //f1 + RGB_MATRIX_INDICATOR_SET_COLOR(8, 0, 0, 255) //q + RGB_MATRIX_INDICATOR_SET_COLOR(14, 0, 0, 255) //w + RGB_MATRIX_INDICATOR_SET_COLOR(20, 0, 0, 255) //e + RGB_MATRIX_INDICATOR_SET_COLOR(15, 0, 0, 255) //s + RGB_MATRIX_INDICATOR_SET_COLOR(26, 0, 0, 255) //f + RGB_MATRIX_INDICATOR_SET_COLOR(49, 0, 0, 255) //R_Alt + break; + default: + break; } - return true; - -} \ No newline at end of file +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/benschaeff/readme.md b/keyboards/gmmk/pro/ansi/keymaps/benschaeff/readme.md new file mode 100644 index 0000000000..8162002892 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/benschaeff/readme.md @@ -0,0 +1,19 @@ +# Description +Pretty simple keymap with a few handy tools on a 2nd layer and rotary encoder. + +# Encoder +Holding tab and scrolling encoder will allow scrolling through applications, as if using alt + tab +Holding ctrl and scrolling encoder will allow scrolling through chrome tabs +FN + Encoder scroll is media next/prev +FN + Encoder press is media pause +default encoder behavior is volume up/down + +# Function Layer +FN + \ is used to put keyboard into bootloader mode +FN + ESC is the same as alt F4, for closing applications +FN + F1 is to close current browser tab +FN + Q moves current application one monitor to the left +FN + W maximizes current application +FN + E moves current application one monitor to the right +FN + S minimizes current application +FN + F is used in junction with the "Popout tab" extension to chrome (https://chrome.google.com/webstore/detail/popout-tab/pcfcieidiaaobigemjnkclebhnmgfbco) to pop out current tab to its own window