[Keymap] BDN9 keymap (#15924)
This commit is contained in:
		
							parent
							
								
									25ba9b41c1
								
							
						
					
					
						commit
						a5901a6c0d
					
				
					 3 changed files with 179 additions and 0 deletions
				
			
		
							
								
								
									
										157
									
								
								keyboards/keebio/bdn9/keymaps/lickel/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								keyboards/keebio/bdn9/keymaps/lickel/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,157 @@
 | 
			
		|||
/* Copyright 2022 @ Adam Lickel
 | 
			
		||||
 *
 | 
			
		||||
 * This program is free software: you can redistribute it and/or modify
 | 
			
		||||
 * it under the terms of the GNU General Public License as published by
 | 
			
		||||
 * the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
 * (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This program is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
 * GNU General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
enum encoder_names {
 | 
			
		||||
    _LEFT,
 | 
			
		||||
    _RIGHT,
 | 
			
		||||
    _MIDDLE,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum bdn9_layers {
 | 
			
		||||
    _MEDIA = 0,
 | 
			
		||||
    _XCODE,
 | 
			
		||||
    _CUST1,
 | 
			
		||||
    _CUST2,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define KC_XCRUN LGUI(KC_R)
 | 
			
		||||
#define KC_XCPAUSE LCTL(LGUI(KC_Y))
 | 
			
		||||
#define KC_XCSTOP LGUI(KC_DOT)
 | 
			
		||||
 | 
			
		||||
// clang-format off
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    [_MEDIA] = LAYOUT(
 | 
			
		||||
        TO(_XCODE), RGB_SPD,    RGB_SPI,
 | 
			
		||||
        RGB_MOD,    KC_MPLY,    KC_MSTP,
 | 
			
		||||
        RGB_RMOD,   KC_MNXT,    KC_MPRV
 | 
			
		||||
    ),
 | 
			
		||||
    [_XCODE] = LAYOUT(
 | 
			
		||||
        TG(_XCODE), KC_NO,      KC_NO,
 | 
			
		||||
        KC_XCRUN,   KC_XCPAUSE, KC_XCSTOP,
 | 
			
		||||
        KC_F6,      KC_F7,      KC_F8
 | 
			
		||||
    ),
 | 
			
		||||
    [_CUST1] = LAYOUT(
 | 
			
		||||
        TG(_CUST1), _______,    _______,
 | 
			
		||||
        _______,    _______,    _______,
 | 
			
		||||
        _______,    _______,    _______
 | 
			
		||||
    ),
 | 
			
		||||
    [_CUST2] = LAYOUT(
 | 
			
		||||
        TG(_CUST2), _______,    _______,
 | 
			
		||||
        _______,    _______,    _______,
 | 
			
		||||
        _______,    _______,    _______
 | 
			
		||||
    ),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// clang-format on
 | 
			
		||||
 | 
			
		||||
layer_state_t layer_state_set_user(layer_state_t state) {
 | 
			
		||||
#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
 | 
			
		||||
    uint8_t layer = get_highest_layer(state);
 | 
			
		||||
 | 
			
		||||
    switch (layer) {
 | 
			
		||||
        case _MEDIA:  // Reset
 | 
			
		||||
            rgblight_reload_from_eeprom();
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case _XCODE:
 | 
			
		||||
            rgblight_sethsv_noeeprom(HSV_BLUE);
 | 
			
		||||
#    if defined(RGB_MATRIX_ENABLE) && defined(ENABLE_RGB_MATRIX_BREATHING)
 | 
			
		||||
            rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING);
 | 
			
		||||
#    elif defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_EFFECT_BREATHING)
 | 
			
		||||
            rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 1);
 | 
			
		||||
#    endif
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case _CUST1:
 | 
			
		||||
            rgblight_sethsv_noeeprom(HSV_GREEN);
 | 
			
		||||
#    if defined(RGB_MATRIX_ENABLE) && defined(ENABLE_RGB_MATRIX_BREATHING)
 | 
			
		||||
            rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING);
 | 
			
		||||
#    elif defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_EFFECT_BREATHING)
 | 
			
		||||
            rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 1);
 | 
			
		||||
#    endif
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case _CUST2:
 | 
			
		||||
            rgblight_sethsv_noeeprom(HSV_PURPLE);
 | 
			
		||||
#    if defined(RGB_MATRIX_ENABLE) && defined(ENABLE_RGB_MATRIX_BREATHING)
 | 
			
		||||
            rgb_matrix_mode_noeeprom(RGB_MATRIX_BREATHING);
 | 
			
		||||
#    elif defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_EFFECT_BREATHING)
 | 
			
		||||
            rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 1);
 | 
			
		||||
#    endif
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        default:
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
    return state;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
			
		||||
    uint8_t layer = get_highest_layer(layer_state);
 | 
			
		||||
 | 
			
		||||
    switch (layer) {
 | 
			
		||||
#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
 | 
			
		||||
        case 0:  // Reset
 | 
			
		||||
            if (index == _LEFT) {
 | 
			
		||||
                if (clockwise) {
 | 
			
		||||
                    rgblight_increase_hue();
 | 
			
		||||
                } else {
 | 
			
		||||
                    rgblight_decrease_hue();
 | 
			
		||||
                }
 | 
			
		||||
            } else if (index == _MIDDLE) {
 | 
			
		||||
                if (clockwise) {
 | 
			
		||||
                    rgblight_increase_sat();
 | 
			
		||||
                } else {
 | 
			
		||||
                    rgblight_decrease_sat();
 | 
			
		||||
                }
 | 
			
		||||
            } else if (index == _RIGHT) {
 | 
			
		||||
                if (clockwise) {
 | 
			
		||||
                    rgblight_increase_val();
 | 
			
		||||
                } else {
 | 
			
		||||
                    rgblight_decrease_val();
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        default:
 | 
			
		||||
            if (index == _LEFT) {
 | 
			
		||||
                if (clockwise) {
 | 
			
		||||
                    tap_code(KC_VOLU);
 | 
			
		||||
                } else {
 | 
			
		||||
                    tap_code(KC_VOLD);
 | 
			
		||||
                }
 | 
			
		||||
            } else if (index == _MIDDLE) {
 | 
			
		||||
                if (clockwise) {
 | 
			
		||||
                    tap_code(KC_DOWN);
 | 
			
		||||
                } else {
 | 
			
		||||
                    tap_code(KC_UP);
 | 
			
		||||
                }
 | 
			
		||||
            } else if (index == _RIGHT) {
 | 
			
		||||
                if (clockwise) {
 | 
			
		||||
                    tap_code(KC_PGDN);
 | 
			
		||||
                } else {
 | 
			
		||||
                    tap_code(KC_PGUP);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										17
									
								
								keyboards/keebio/bdn9/keymaps/lickel/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								keyboards/keebio/bdn9/keymaps/lickel/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
# lickel's BDN9 keymap
 | 
			
		||||
 | 
			
		||||
- Via support is enabled by default
 | 
			
		||||
- Changing layers to non-zero changes the RGBs to breathing colors
 | 
			
		||||
- Changing to layer 0 resets the RGBs to EEPROM settings
 | 
			
		||||
- Layer 0 encoders are: Hue, Saturation, Value
 | 
			
		||||
- Other layers are: Volume, Arrow, Pg up/down
 | 
			
		||||
 | 
			
		||||
- Layer 0: Media Controls & RGB Effects
 | 
			
		||||
- Layer 1: Xcode Debugging
 | 
			
		||||
- Layers 2 and 3: Reserved for Via
 | 
			
		||||
 | 
			
		||||
## Changelog
 | 
			
		||||
 | 
			
		||||
### 1/17/2022 - 1.0
 | 
			
		||||
 | 
			
		||||
- Initial release
 | 
			
		||||
							
								
								
									
										5
									
								
								keyboards/keebio/bdn9/keymaps/lickel/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								keyboards/keebio/bdn9/keymaps/lickel/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
VIA_ENABLE = yes
 | 
			
		||||
LTO_ENABLE = yes
 | 
			
		||||
MOUSEKEY_ENABLE = yes
 | 
			
		||||
CONSOLE_ENABLE = no
 | 
			
		||||
COMMAND_ENABLE = no
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue