[Keymap] Update to Drashna Keymaps (#5594)

* Start to standardize macro timer

* Update Fractal layout

Specifically, limit the RGB Lighting, since it's too many for the power, and only have the KITT annimation on the front

* Update Iris keymap to use I2C for transport

* Remove TAP_CODE_DELAY from keyboard in favor of global setting

* Remove Woodpad

Since it\'s no longer in my possession

* Only enable LTO on AVR boards

* Run matrix_scans while doing startup light

* Run matrix_scan to get split keyboard code synced properly

* Fix rgb mode

* Remove custom debouncing settings

* Make RGB Light Startup Animation optional

* Fix opt def

* Remove extra tap code delay value

* Fix references to keebio boards

* Add support for LP Iris keyboard

* Add backlight code

* Make startup animation optional

* Update gitlab ci script

* Remove port declaration

* Revert avrgcc changes to gitlab ci file

* Don't re-set mods

* Remove MACRO_TIMER define

* Add custom name for crkbd

* Add name for Prime M pad

* Add names for ortho 4x12 boards

* Add some additional handling for rgb init

* Change thumb clusters on ergodox

* Switch Orthodox to I2C

* Fix Space in ergodox keymap

* Use OSL for ergodox layout

* Ugh, can't find a good layout

* Fix typo

* Fix up animation startup

* Cries in AVR

* Fix makefiles for ergodox ez boards

* Add support for "secret songs" in my userspace

* Reset debounce to 5ms for Ergodox EZ

* Fix gitlab CI yaml file

* More crying in AVR

* Cannot use rgb light and rgb matrix at the same time due to the WS2812 rgb matrix PR until the "Coexistance" PR is merged

* Update ODox for split common and i2c

* Add split config

* Impement Split code

* Add support for xscorpion OLED code

* Add OLED display config

* Fix OLED screen font

* Get OLED set up in vertical mode

* Remove old OLED code

* add per key support for crkbd

* Fix split changes

* RGB Tweeaks

* More OLED tweaks

* Fix rotation stuff

* Fix more OLED stuff

* Remove custom Debounce from Ergodox layout since it's no longer needed
This commit is contained in:
Drashna Jaelre 2019-04-22 11:55:55 -07:00 committed by MechMerlin
parent 6d73fe1277
commit a2cec0594b
38 changed files with 569 additions and 300 deletions

View file

@ -7,6 +7,9 @@
#ifdef SSD1306OLED
#include "ssd1306.h"
#endif
#ifdef OLED_DRIVER_ENABLE
#include "oled_driver.h"
#endif
extern keymap_config_t keymap_config;
extern uint8_t is_master;
@ -288,3 +291,123 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
}
#endif
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
if (is_master) {
return OLED_ROTATION_270;
} else {
return rotation;
}
}
void render_crkbd_logo(void) {
static const char PROGMEM crkbd_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,
0};
oled_write_P(crkbd_logo, false);
}
void render_status(void) {
oled_write_P(PSTR("Layer"), false);
switch (biton32(layer_state)) {
case 0:
oled_write_P(PSTR("Base "), false);
break;
case _RAISE:
oled_write_P(PSTR("Raise"), false);
break;
case _LOWER:
oled_write_P(PSTR("Lower"), false);
break;
case _ADJUST:
oled_write_P(PSTR("Adjst"), false);
break;
default:
oled_write_P(PSTR("Unkn "), false);
break;
}
oled_write_P(PSTR("Lyout"), false);
switch (biton32(default_layer_state)) {
case _QWERTY:
oled_write_P(PSTR("QWRTY"), false);
break;
case _COLEMAK:
oled_write_P(PSTR("COLMK"), false);
break;
case _DVORAK:
oled_write_P(PSTR("DVRAK"), false);
break;
case _WORKMAN:
oled_write_P(PSTR("WRKMN"), false);
break;
case _NORMAN:
oled_write_P(PSTR("NORMN"), false);
break;
case _MALTRON:
oled_write_P(PSTR("MLTRN"), false);
break;
case _EUCALYN:
oled_write_P(PSTR("ECLYN"), false);
break;
case _CARPLAX:
oled_write_P(PSTR("CRPLX"), false);
break;
}
uint8_t modifiers = get_mods();
uint8_t one_shot = get_oneshot_mods();
oled_write_P(PSTR("Mods:"), false);
oled_write_P( (modifiers & MOD_MASK_CTRL || one_shot & MOD_MASK_CTRL ) ? PSTR(" CTL ") : PSTR(" "), false);
oled_write_P( (modifiers & MOD_MASK_GUI || one_shot & MOD_MASK_GUI ) ? PSTR(" GUI ") : PSTR(" "), false);
oled_write_P( (modifiers & MOD_MASK_ALT || one_shot & MOD_MASK_ALT ) ? PSTR(" ALT ") : PSTR(" "), false);
oled_write_P( (modifiers & MOD_MASK_SHIFT || one_shot & MOD_MASK_SHIFT) ? PSTR(" SFT ") : PSTR(" "), false);
oled_write_P(PSTR("BTMGK"), false);
static const char PROGMEM mode_logo[4][4] = {
{0x95,0x96,0x0a,0},
{0xb5,0xb6,0x0a,0},
{0x97,0x98,0x0a,0},
{0xb7,0xb8,0x0a,0} };
if (keymap_config.swap_lalt_lgui != false) {
oled_write_P(mode_logo[0], false);
oled_write_P(mode_logo[1], false);
} else {
oled_write_P(mode_logo[2], false);
oled_write_P(mode_logo[3], false);
}
uint8_t led_usb_state = host_keyboard_leds();
oled_write_P(PSTR("Lock:"), false);
oled_write_P(led_usb_state & (1<<USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR(" "), false);
oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR(" "), false);
oled_write_P(led_usb_state & (1<<USB_LED_SCROLL_LOCK) ? PSTR(" SCRL") : PSTR(" "), false);
}
void oled_task_user(void) {
if (is_master) {
render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
} else {
render_crkbd_logo();
oled_scroll_left(); // Turns on scrolling
}
}
#endif
uint16_t get_tapping_term(uint16_t keycode) {
switch (keycode) {
case ALT_T(KC_A):
return TAPPING_TERM + 100;
default:
return TAPPING_TERM;
}
}