diff options
Diffstat (limited to 'keyboards/yampad/yampad.c')
-rw-r--r-- | keyboards/yampad/yampad.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/keyboards/yampad/yampad.c b/keyboards/yampad/yampad.c new file mode 100644 index 0000000000..764f48404d --- /dev/null +++ b/keyboards/yampad/yampad.c @@ -0,0 +1,64 @@ + +/* Copyright 2019 + * + * 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 "yampad.h" + +#if defined(OLED_DRIVER_ENABLE) +__attribute__((weak)) +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; // flips the display 270 degrees +} + +__attribute__((weak)) +void oled_task_user(void) { + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer"), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln_P(PSTR(" BAS"), false); + break; + case 1: + oled_write_ln_P(PSTR(" NAV"), false); + break; + case 2: + oled_write_ln_P(PSTR(" RGB"), false); + break; + default: + // Or use the write_ln shortcut over adding '\n' to the end of your string + oled_write_ln_P(PSTR(" UND"), false); + } + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(PSTR("-----"), false); + oled_write_P(PSTR("Stats"), false); + oled_write_P(led_state.num_lock ? PSTR("num:*") : PSTR("num:."), false); + oled_write_P(led_state.caps_lock ? PSTR("cap:*") : PSTR("cap:."), false); + oled_write_P(led_state.scroll_lock ? PSTR("scr:*") : PSTR("scr:."), false); + + // Host Keyboard RGB backlight status + oled_write_P(PSTR("-----"), false); + oled_write_P(PSTR("Light"), false); + + static char led_buf[30]; + snprintf(led_buf, sizeof(led_buf) - 1, "RGB:%cM: %2d\nh: %2ds: %2dv: %2d\n", + rgblight_is_enabled() ? '*' : '.', (uint8_t)rgblight_get_mode(), + (uint8_t)(rgblight_get_hue() / RGBLIGHT_HUE_STEP), + (uint8_t)(rgblight_get_sat() / RGBLIGHT_SAT_STEP), + (uint8_t)(rgblight_get_val() / RGBLIGHT_VAL_STEP)); + oled_write(led_buf, false); +} +#endif |