Pteron36 Oled, rgb support, enable ee_hand (#36)
* add pteron36 * finish vial config * oled support * enable underglow rgbf' * define ee_hand * add 3 more layers, add Airline call sign on layer for oled * disable feature to allow firmware to fit keyboard flash memory Co-authored-by: Harshti Goel <harshitgoel@licious.com>
This commit is contained in:
parent
cd813b6636
commit
7ceca2acf7
@ -169,3 +169,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//default trans keycode.
|
||||
#define VIAL_ENCODER_DEFAULT { KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS}
|
||||
|
||||
//overwrite default tapping behaviour
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
//RGB Underglow
|
||||
#define RGB_DI_PIN B6
|
||||
#define RGBLED_NUM 17
|
||||
#define RGBLIGHT_SPLIT
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
|
||||
//EE Handness
|
||||
#define EE_HANDS
|
||||
|
@ -22,63 +22,120 @@
|
||||
// entirely and just use numbers.
|
||||
|
||||
enum custom_keycodes {
|
||||
_QWERTY,
|
||||
_SYMB,
|
||||
_NAV,
|
||||
_ADJUST,
|
||||
_MOUSE,
|
||||
_NUMB,
|
||||
_FNR
|
||||
_ALFA,
|
||||
_BRAVO,
|
||||
_CHARLIE,
|
||||
_DELTA,
|
||||
_ECHO,
|
||||
_FOX,
|
||||
_GOLF
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = LAYOUT_split_3x5_3_encoder(
|
||||
[_ALFA] = LAYOUT_split_3x5_3_encoder(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B,KC_LBRACKET, KC_RBRACKET, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LGUI, KC_BSPC, KC_SPC, KC_SPC, KC_ENT, KC_RALT
|
||||
),
|
||||
|
||||
[_SYMB] = LAYOUT_split_3x5_3_encoder(
|
||||
[_BRAVO] = LAYOUT_split_3x5_3_encoder(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_NAV] = LAYOUT_split_3x5_3_encoder(
|
||||
[_CHARLIE] = LAYOUT_split_3x5_3_encoder(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_split_3x5_3_encoder(
|
||||
[_DELTA] = LAYOUT_split_3x5_3_encoder(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[_MOUSE] = LAYOUT_split_3x5_3_encoder(
|
||||
[_ECHO] = LAYOUT_split_3x5_3_encoder(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_NUMB] = LAYOUT_split_3x5_3_encoder(
|
||||
[_FOX] = LAYOUT_split_3x5_3_encoder(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_FNR] = LAYOUT_split_3x5_3_encoder(
|
||||
[_GOLF] = LAYOUT_split_3x5_3_encoder(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
|
||||
static void render_logo(void) {
|
||||
static const char PROGMEM qmk_logo[] = {
|
||||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
|
||||
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
|
||||
};
|
||||
|
||||
oled_write_P(qmk_logo, false);
|
||||
}
|
||||
static void render_status(void){
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _ALFA:
|
||||
oled_write_P(PSTR("Alfa\n"), false);
|
||||
break;
|
||||
case _BRAVO:
|
||||
oled_write_P(PSTR("Bravo\n"), false);
|
||||
break;
|
||||
case _CHARLIE:
|
||||
oled_write_P(PSTR("Charlie\n"), false);
|
||||
break;
|
||||
case _DELTA:
|
||||
oled_write_P(PSTR("Delta\n"), false);
|
||||
break;
|
||||
case _ECHO:
|
||||
oled_write_P(PSTR("Echo\n"), false);
|
||||
break;
|
||||
case _FOX:
|
||||
oled_write_P(PSTR("Fox\n"), false);
|
||||
break;
|
||||
case _GOLF:
|
||||
oled_write_P(PSTR("Golf\n"), false);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||
oled_write_ln_P(PSTR("Undefined"), false);
|
||||
}
|
||||
|
||||
// Host Keyboard LED Status
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||
}
|
||||
void oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
|
||||
} else {
|
||||
render_logo(); // Renders a static logo
|
||||
oled_scroll_left(); // Turns on scrolling
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "Pteron36",
|
||||
"vendorId": "0x4847",
|
||||
"productId": "0x5054",
|
||||
"lighting": "none",
|
||||
"lighting": "qmk_rgblight",
|
||||
"matrix": {
|
||||
"rows": 8,
|
||||
"cols": 5
|
||||
|
@ -17,14 +17,19 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
OLED_DRIVER_ENABLE = no # OLED display; work in progress to add support. will be update in future.
|
||||
OLED_DRIVER_ENABLE = yes # OLED display; work in progress to add support. will be update in future.
|
||||
SPLIT_KEYBOARD = yes
|
||||
|
||||
#Encoder
|
||||
ENCODER_ENABLE = yes
|
||||
|
||||
#Disable some features to save space
|
||||
QMK_SETTINGS = no
|
||||
TAP_DANCE_ENABLE = no
|
||||
COMBO_ENABLE = no
|
||||
|
||||
LAYOUTS = split_3x5_3
|
||||
|
Loading…
Reference in New Issue
Block a user