[Keyboard] mechwild/bde cleanup and refactor (#18149)
This commit is contained in:
		
							parent
							
								
									585b134729
								
							
						
					
					
						commit
						4adb64a91b
					
				
					 41 changed files with 479 additions and 487 deletions
				
			
		| 
						 | 
				
			
			@ -17,46 +17,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "config_common.h"
 | 
			
		||||
 | 
			
		||||
/* Key matrix size */
 | 
			
		||||
#define MATRIX_ROWS 6
 | 
			
		||||
#define MATRIX_COLS 7
 | 
			
		||||
 | 
			
		||||
/* Key matrix pins */
 | 
			
		||||
#define MATRIX_ROW_PINS { C6, D7, B4, D4, E6, B2 }
 | 
			
		||||
#define MATRIX_COL_PINS { B3, B1, F7, F6, F5, F4, B5 }
 | 
			
		||||
 | 
			
		||||
/* Encoder pins */
 | 
			
		||||
#define ENCODERS_PAD_A { D3 }
 | 
			
		||||
#define ENCODERS_PAD_B { D2 }
 | 
			
		||||
#define ENCODERS_PAD_A { D2 }
 | 
			
		||||
#define ENCODERS_PAD_B { D3 }
 | 
			
		||||
 | 
			
		||||
/* Encoder resolution */
 | 
			
		||||
#define ENCODER_RESOLUTION 4
 | 
			
		||||
#define TAP_CODE_DELAY 10
 | 
			
		||||
 | 
			
		||||
/* COL2ROW, ROW2COL */
 | 
			
		||||
#define DIODE_DIRECTION COL2ROW
 | 
			
		||||
 | 
			
		||||
#define OLED_FONT_H "keyboards/mechwild/bde/lib/rev2.c"
 | 
			
		||||
 | 
			
		||||
#define RGB_DI_PIN B6
 | 
			
		||||
#ifdef RGB_DI_PIN
 | 
			
		||||
#    define RGBLED_NUM 8
 | 
			
		||||
#    define RGBLIGHT_HUE_STEP 8
 | 
			
		||||
#    define RGBLIGHT_SAT_STEP 8
 | 
			
		||||
#    define RGBLIGHT_VAL_STEP 8
 | 
			
		||||
#    define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
 | 
			
		||||
#    define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
 | 
			
		||||
/*== Chosen enabled animations ==*/
 | 
			
		||||
#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
			
		||||
#define DEBOUNCE 5
 | 
			
		||||
 | 
			
		||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
			
		||||
#define LOCKING_SUPPORT_ENABLE
 | 
			
		||||
 | 
			
		||||
/* Locking resynchronize hack */
 | 
			
		||||
#define LOCKING_RESYNC_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,5 +3,70 @@
 | 
			
		|||
    "usb": {
 | 
			
		||||
        "pid": "0x170A",
 | 
			
		||||
        "device_version": "1.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "rows":[ "C6", "D7", "B4", "D4", "E6", "B2" ],
 | 
			
		||||
        "cols": ["B3", "B1", "F7", "F6", "F5", "F4", "B5" ]
 | 
			
		||||
    },
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "rgblight": {
 | 
			
		||||
        "led_count": 8,
 | 
			
		||||
        "pin": "B6",
 | 
			
		||||
        "animations": {
 | 
			
		||||
            "rainbow_swirl": true
 | 
			
		||||
        },
 | 
			
		||||
        "hue_steps": 8,
 | 
			
		||||
        "saturation_steps": 8,
 | 
			
		||||
        "brightness_steps": 8
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                { "matrix": [0, 0], "label":"Q", "x":0, "y":0},
 | 
			
		||||
                { "matrix": [0, 1], "label":"W", "x":1, "y":0},
 | 
			
		||||
                { "matrix": [0, 2], "label":"E", "x":2, "y":0},
 | 
			
		||||
                { "matrix": [0, 3], "label":"R", "x":3, "y":0},
 | 
			
		||||
                { "matrix": [0, 4], "label":"T", "x":4, "y":0},
 | 
			
		||||
                { "matrix": [0, 5], "label":"Y", "x":5, "y":0},
 | 
			
		||||
                { "matrix": [0, 6], "label":"U", "x":6, "y":0},
 | 
			
		||||
                { "matrix": [3, 6], "label":"I", "x":7, "y":0},
 | 
			
		||||
                { "matrix": [3, 5], "label":"O", "x":8, "y":0},
 | 
			
		||||
                { "matrix": [3, 4], "label":"P", "x":9, "y":0},
 | 
			
		||||
                { "matrix": [3, 3], "label":"7", "x":10, "y":0},
 | 
			
		||||
                { "matrix": [3, 2], "label":"8", "x":11, "y":0},
 | 
			
		||||
                { "matrix": [3, 1], "label":"9", "x":12, "y":0},
 | 
			
		||||
                { "matrix": [3, 0], "label":"Mute", "x":13, "y":0},
 | 
			
		||||
 | 
			
		||||
                { "matrix": [1, 0], "label":"A", "x":0, "y":1},
 | 
			
		||||
                { "matrix": [1, 1], "label":"S", "x":1, "y":1},
 | 
			
		||||
                { "matrix": [1, 2], "label":"D", "x":2, "y":1},
 | 
			
		||||
                { "matrix": [1, 3], "label":"F", "x":3, "y":1},
 | 
			
		||||
                { "matrix": [1, 4], "label":"G", "x":4, "y":1},
 | 
			
		||||
                { "matrix": [1, 5], "label":"H", "x":5, "y":1},
 | 
			
		||||
                { "matrix": [1, 6], "label":"J", "x":6, "y":1},
 | 
			
		||||
                { "matrix": [4, 6], "label":"K", "x":7, "y":1},
 | 
			
		||||
                { "matrix": [4, 5], "label":"L", "x":8, "y":1},
 | 
			
		||||
                { "matrix": [4, 4], "label":"Esc", "x":9, "y":1},
 | 
			
		||||
                { "matrix": [4, 3], "label":"4", "x":10, "y":1},
 | 
			
		||||
                { "matrix": [4, 2], "label":"5", "x":11, "y":1},
 | 
			
		||||
                { "matrix": [4, 1], "label":"6", "x":12, "y":1},
 | 
			
		||||
                { "matrix": [4, 0], "label":"0", "x":13, "y":1},
 | 
			
		||||
 | 
			
		||||
                { "matrix": [2, 0], "label":"Z", "x":0, "y":2},
 | 
			
		||||
                { "matrix": [2, 1], "label":"X", "x":1, "y":2},
 | 
			
		||||
                { "matrix": [2, 2], "label":"C", "x":2, "y":2},
 | 
			
		||||
                { "matrix": [2, 3], "label":"V", "x":3, "y":2},
 | 
			
		||||
                { "matrix": [2, 4], "label":"Back", "x":4, "y":2},
 | 
			
		||||
                { "matrix": [2, 5], "label":"Space", "x":5, "y":2},
 | 
			
		||||
                { "matrix": [2, 6], "label":"B", "x":6, "y":2},
 | 
			
		||||
                { "matrix": [5, 6], "label":"N", "x":7, "y":2},
 | 
			
		||||
                { "matrix": [5, 5], "label":"M", "x":8, "y":2},
 | 
			
		||||
                { "matrix": [5, 4], "label":"Enter", "x":9, "y":2},
 | 
			
		||||
                { "matrix": [5, 3], "label":"1", "x":10, "y":2},
 | 
			
		||||
                { "matrix": [5, 2], "label":"2", "x":11, "y":2},
 | 
			
		||||
                { "matrix": [5, 1], "label":"3", "x":12, "y":2},
 | 
			
		||||
                { "matrix": [5, 0], "label":"EQL", "x":13, "y":2}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										69
									
								
								keyboards/mechwild/bde/rev2/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								keyboards/mechwild/bde/rev2/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,69 @@
 | 
			
		|||
/* Copyright 2022 Kyle McCreery
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#define FN1_BSPC    LT(1, KC_BSPC)
 | 
			
		||||
#define FN2_SPC     LT(2, KC_SPC)
 | 
			
		||||
#define FN3_B       LT(3, KC_B)
 | 
			
		||||
#define CTL_Z       CTL_T(KC_Z)
 | 
			
		||||
#define ALT_X       ALT_T(KC_X)
 | 
			
		||||
#define ALT_N       ALGR_T(KC_N)
 | 
			
		||||
#define CTL_M       RCTL_T(KC_M)
 | 
			
		||||
#define SFT_ENT     RSFT_T(KC_ENT)
 | 
			
		||||
#define WIN_C       LGUI_T(KC_C)
 | 
			
		||||
 | 
			
		||||
enum layer_names {
 | 
			
		||||
  _BASE,
 | 
			
		||||
  _FN1,
 | 
			
		||||
  _FN2,
 | 
			
		||||
  _FN3
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
  [_BASE] = LAYOUT(
 | 
			
		||||
    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,     KC_Y,    KC_U,     KC_I,    KC_O,    KC_P,    KC_P7,   KC_P8,   KC_P9,   KC_MUTE,
 | 
			
		||||
    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,     KC_H,    KC_J,     KC_K,    KC_L,    KC_ESC,  KC_P4,   KC_P5,   KC_P6,   KC_P0,
 | 
			
		||||
    CTL_Z,   ALT_X,   WIN_C,   KC_V,    FN1_BSPC, FN2_SPC, FN3_B,    ALT_N,   CTL_M,   SFT_ENT, KC_P1,   KC_P2,   KC_P3,   KC_MINS
 | 
			
		||||
  ),
 | 
			
		||||
  [_FN1] = LAYOUT(
 | 
			
		||||
    _______, _______, _______, QK_BOOT, _______,  _______,  KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7,    KC_8,    KC_9,    KC_NLCK,
 | 
			
		||||
    _______, _______, _______, _______, _______,  _______,  _______, KC_GRV,  KC_SCLN, KC_QUOT, KC_4,    KC_5,    KC_6,    KC_0,
 | 
			
		||||
    _______, _______, _______, _______, _______,  KC_TAB,   KC_LGUI, KC_COMM, KC_DOT,  KC_SLSH, KC_1,    KC_2,    KC_3,    KC_EQL
 | 
			
		||||
  ),
 | 
			
		||||
  [_FN2] = LAYOUT(
 | 
			
		||||
    _______, _______, _______, _______, _______,  _______,  _______, KC_LCBR, KC_RCBR, KC_PIPE, KC_AMPR, KC_ASTR, KC_LPRN, KC_CLCK,
 | 
			
		||||
    _______, _______, _______, _______, _______,  _______,  _______, KC_TILD, KC_COLN, KC_DQUO, KC_DLR,  KC_PERC, KC_CIRC, KC_RPRN,
 | 
			
		||||
    _______, _______, _______, _______, KC_DEL,   _______,  _______, KC_LABK, KC_RABK, KC_QUES, KC_EXLM, KC_AT,   KC_HASH, KC_PLUS
 | 
			
		||||
  ),
 | 
			
		||||
  [_FN3] = LAYOUT(
 | 
			
		||||
    KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,    KC_F6,    KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, _______,
 | 
			
		||||
    _______, _______, _______, _______, _______,  _______,  _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
    _______, _______, _______, _______, _______,  _______,  _______, _______, _______, _______, _______, _______, _______, _______
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// If you are not using an encoder, remember to set ENCODER_ENABLE and ENCODER_MAP_ENABLE to no in rules.mk.
 | 
			
		||||
#ifdef ENCODER_MAP_ENABLE
 | 
			
		||||
    const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
 | 
			
		||||
        [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
        [_FN1]  = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
 | 
			
		||||
        [_FN2]  = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
 | 
			
		||||
        [_FN3]  = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
 | 
			
		||||
    };
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										13
									
								
								keyboards/mechwild/bde/rev2/keymaps/default/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								keyboards/mechwild/bde/rev2/keymaps/default/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
# If you are using a custom Pro Micro-compatible dev board (Elite-C, Sea-Micro, etc)
 | 
			
		||||
# you may need to uncomment and modify this BOOTLOADER setting to use the correct
 | 
			
		||||
# bootloader. (e.g. Elite-Cs use "atmel-dfu", not "caterina".)
 | 
			
		||||
#
 | 
			
		||||
# See the QMK docs for more information:
 | 
			
		||||
# https://docs.qmk.fm/#/flashing
 | 
			
		||||
# https://docs.qmk.fm/#/driver_installation_zadig?id=list-of-known-bootloaders
 | 
			
		||||
 | 
			
		||||
# BOOTLOADER = caterina
 | 
			
		||||
 | 
			
		||||
# If you are not using an encoder, set these options to no.
 | 
			
		||||
ENCODER_ENABLE = yes
 | 
			
		||||
ENCODER_MAP_ENABLE = yes
 | 
			
		||||
							
								
								
									
										22
									
								
								keyboards/mechwild/bde/rev2/keymaps/via/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								keyboards/mechwild/bde/rev2/keymaps/via/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
/* Copyright 2022 Kyle McCreery 
 | 
			
		||||
 * 
 | 
			
		||||
 * 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/>. 
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
/* Making it so you need to hold the modifier and other key for the time together, helps not accidentally hit activate the hold functions of bottom row*/
 | 
			
		||||
#define IGNORE_MOD_TAP_INTERRUPT
 | 
			
		||||
 | 
			
		||||
/* Setting tap term, helps not accidentally hit activate the hold functions of bottom row*/
 | 
			
		||||
#define TAPPING_TERM 250
 | 
			
		||||
							
								
								
									
										68
									
								
								keyboards/mechwild/bde/rev2/keymaps/via/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								keyboards/mechwild/bde/rev2/keymaps/via/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,68 @@
 | 
			
		|||
/* Copyright 2022 Kyle McCreery
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#define FN1_BSPC    LT(1, KC_BSPC)
 | 
			
		||||
#define FN2_SPC     LT(2, KC_SPC)
 | 
			
		||||
#define FN3_B       LT(3, KC_B)
 | 
			
		||||
#define CTL_Z       CTL_T(KC_Z)
 | 
			
		||||
#define ALT_X       ALT_T(KC_X)
 | 
			
		||||
#define ALT_N       ALGR_T(KC_N)
 | 
			
		||||
#define CTL_M       RCTL_T(KC_M)
 | 
			
		||||
#define SFT_ENT     RSFT_T(KC_ENT)
 | 
			
		||||
#define WIN_C       LGUI_T(KC_C)
 | 
			
		||||
 | 
			
		||||
enum layer_names {
 | 
			
		||||
  _BASE,
 | 
			
		||||
  _FN1,
 | 
			
		||||
  _FN2,
 | 
			
		||||
  _FN3
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
  [_BASE] = LAYOUT(
 | 
			
		||||
    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,     KC_Y,    KC_U,     KC_I,    KC_O,    KC_P,    KC_P7,   KC_P8,   KC_P9,   KC_MUTE,
 | 
			
		||||
    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,     KC_H,    KC_J,     KC_K,    KC_L,    KC_ESC,  KC_P4,   KC_P5,   KC_P6,   KC_P0,
 | 
			
		||||
    CTL_Z,   ALT_X,   WIN_C,   KC_V,    FN1_BSPC, FN2_SPC, FN3_B,    ALT_N,   CTL_M,   SFT_ENT, KC_P1,   KC_P2,   KC_P3,   KC_MINS
 | 
			
		||||
  ),
 | 
			
		||||
  [_FN1] = LAYOUT(
 | 
			
		||||
    _______, _______, _______, QK_BOOT, _______,  _______,  KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, KC_7,    KC_8,    KC_9,    KC_NLCK,
 | 
			
		||||
    _______, _______, _______, _______, _______,  _______,  _______, KC_GRV,  KC_SCLN, KC_QUOT, KC_4,    KC_5,    KC_6,    KC_0,
 | 
			
		||||
    _______, _______, _______, _______, _______,  KC_TAB,   KC_LGUI, KC_COMM, KC_DOT,  KC_SLSH, KC_1,    KC_2,    KC_3,    KC_EQL
 | 
			
		||||
  ),
 | 
			
		||||
  [_FN2] = LAYOUT(
 | 
			
		||||
    _______, _______, _______, _______, _______,  _______,  _______, KC_LCBR, KC_RCBR, KC_PIPE, KC_AMPR, KC_ASTR, KC_LPRN, KC_CLCK,
 | 
			
		||||
    _______, _______, _______, _______, _______,  _______,  _______, KC_TILD, KC_COLN, KC_DQUO, KC_DLR,  KC_PERC, KC_CIRC, KC_RPRN,
 | 
			
		||||
    _______, _______, _______, _______, KC_DEL,   _______,  _______, KC_LABK, KC_RABK, KC_QUES, KC_EXLM, KC_AT,   KC_HASH, KC_PLUS
 | 
			
		||||
  ),
 | 
			
		||||
  [_FN3] = LAYOUT(
 | 
			
		||||
    KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,    KC_F6,    KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, RGB_TOG,
 | 
			
		||||
    _______, _______, _______, _______, _______,  _______,  _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD,
 | 
			
		||||
    _______, _______, _______, _______, _______,  _______,  _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#ifdef ENCODER_MAP_ENABLE
 | 
			
		||||
    const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
 | 
			
		||||
        [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
        [_FN1]  = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
 | 
			
		||||
        [_FN2]  = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
 | 
			
		||||
        [_FN3]  = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
 | 
			
		||||
    };
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										3
									
								
								keyboards/mechwild/bde/rev2/keymaps/via/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/mechwild/bde/rev2/keymaps/via/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
VIA_ENABLE = yes
 | 
			
		||||
ENCODER_ENABLE = yes
 | 
			
		||||
ENCODER_MAP_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			@ -1,21 +1,20 @@
 | 
			
		|||
/* Copyright 2022 Kyle McCreery 
 | 
			
		||||
 * 
 | 
			
		||||
 * 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/>. 
 | 
			
		||||
/* Copyright 2022 Kyle McCreery
 | 
			
		||||
 *
 | 
			
		||||
 * 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 "bde.h"
 | 
			
		||||
#include "rev2.h"
 | 
			
		||||
 | 
			
		||||
#ifdef ENCODER_ENABLE
 | 
			
		||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
 | 
			
		||||
| 
						 | 
				
			
			@ -34,30 +33,25 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef OLED_ENABLE
 | 
			
		||||
	oled_rotation_t oled_init_user(oled_rotation_t rotation) {
 | 
			
		||||
		return OLED_ROTATION_270;       // flips the display 270 degrees
 | 
			
		||||
	}
 | 
			
		||||
static const char PROGMEM mw_logo[] = {
 | 
			
		||||
    0x8A, 0x8B, 0x8C, 0x8D, '\r',
 | 
			
		||||
    0xAA, 0xAB, 0xAC, 0xAD, 0xAE,
 | 
			
		||||
    0xCA, 0xCB, 0xCC, 0xCD, '\r',
 | 
			
		||||
    0x20, 0x8E, 0x8F, 0x90, 0x00};
 | 
			
		||||
 | 
			
		||||
	static void render_logo(void) {     // Render MechWild "MW" Logo
 | 
			
		||||
		static const char PROGMEM logo_1[] = {0x8A, 0x8B, 0x8C, 0x8D, 0x00};
 | 
			
		||||
		static const char PROGMEM logo_2[] = {0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0x00};
 | 
			
		||||
		static const char PROGMEM logo_3[] = {0xCA, 0xCB, 0xCC, 0xCD, 0x00};
 | 
			
		||||
		static const char PROGMEM logo_4[] = {0x20, 0x8E, 0x8F, 0x90, 0x00};
 | 
			
		||||
		oled_set_cursor(0,0);
 | 
			
		||||
		oled_write_P(logo_1, false);
 | 
			
		||||
		oled_set_cursor(0,1);
 | 
			
		||||
		oled_write_P(logo_2, false);
 | 
			
		||||
		oled_set_cursor(0,2);
 | 
			
		||||
		oled_write_P(logo_3, false);
 | 
			
		||||
		oled_set_cursor(0,3);
 | 
			
		||||
		oled_write_P(logo_4, false);
 | 
			
		||||
	}
 | 
			
		||||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
 | 
			
		||||
    return OLED_ROTATION_270;       // flips the display 270 degrees
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
	bool oled_task_user(void) {
 | 
			
		||||
		render_logo();
 | 
			
		||||
		oled_set_cursor(0,6);
 | 
			
		||||
bool oled_task_kb(void) {
 | 
			
		||||
    if (!oled_task_user()) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		oled_write_ln_P(PSTR("Layer"), false);
 | 
			
		||||
    oled_write_P(mw_logo, false);     // Render MechWild "MW" Logo
 | 
			
		||||
    oled_set_cursor(0,6);
 | 
			
		||||
 | 
			
		||||
    oled_write_ln_P(PSTR("Layer"), false);
 | 
			
		||||
 | 
			
		||||
    switch (get_highest_layer(layer_state)) {
 | 
			
		||||
        case 0:
 | 
			
		||||
| 
						 | 
				
			
			@ -75,14 +69,13 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
 | 
			
		|||
        default:
 | 
			
		||||
            oled_write_ln_P(PSTR("Undef"), false);
 | 
			
		||||
    }
 | 
			
		||||
	oled_write_ln_P(PSTR(""), false);
 | 
			
		||||
    oled_write_ln_P(PSTR(""), false);
 | 
			
		||||
    // Host Keyboard LED Status
 | 
			
		||||
    led_t led_state = host_keyboard_led_state();
 | 
			
		||||
    oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR("    "), false);
 | 
			
		||||
    oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR("    "), false);
 | 
			
		||||
    oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR("    "), false);
 | 
			
		||||
    
 | 
			
		||||
    return false;
 | 
			
		||||
        
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,16 +16,3 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
  K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D,\
 | 
			
		||||
  K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D,\
 | 
			
		||||
  K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D \
 | 
			
		||||
) { \
 | 
			
		||||
	{ K00,   K01,   K02,   K03,   K04,   K05,   K06 }, \
 | 
			
		||||
	{ K10,   K11,   K12,   K13,   K14,   K15,   K16 }, \
 | 
			
		||||
	{ K20,   K21,   K22,   K23,   K24,   K25,   K26 }, \
 | 
			
		||||
	{ K0D,   K0C,   K0B,   K0A,   K09,   K08,   K07 }, \
 | 
			
		||||
	{ K1D,   K1C,   K1B,   K1A,   K19,   K18,   K17 }, \
 | 
			
		||||
	{ K2D,   K2C,   K2B,   K2A,   K29,   K28,   K27 }  \
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue