~ruther/qmk_firmware

b36f2609fe6c98ebaa6706feb41859d7bc8c5fe8 — Drashna Jael're 3 years ago a119149 + 4db5d85
Merge remote-tracking branch 'origin/master' into develop
M keyboards/gmmk/pro/ansi/keymaps/benschaeff/keymap.c => keyboards/gmmk/pro/ansi/keymaps/benschaeff/keymap.c +54 -50
@@ 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));

    }
  }
  else if(IS_LAYER_ON(FNLAYER))
    {
      if(clockwise)
      {
        tap_code(KC_MEDIA_NEXT_TRACK);
      }
      else
      {
        tap_code(KC_MEDIA_PREV_TRACK);
      }
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 (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
}

A keyboards/gmmk/pro/ansi/keymaps/benschaeff/readme.md => keyboards/gmmk/pro/ansi/keymaps/benschaeff/readme.md +19 -0
@@ 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