diff options
Diffstat (limited to 'keyboards/pteron36/pteron36.c')
-rw-r--r-- | keyboards/pteron36/pteron36.c | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/keyboards/pteron36/pteron36.c b/keyboards/pteron36/pteron36.c index 4f06d822d..3288626f0 100644 --- a/keyboards/pteron36/pteron36.c +++ b/keyboards/pteron36/pteron36.c | |||
@@ -14,4 +14,53 @@ | |||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include "pteron36.h" \ No newline at end of file | 17 | #include "pteron36.h" |
18 | |||
19 | //common encoder setup | ||
20 | |||
21 | bool encoder_update_kb(uint8_t index, bool clockwise) { | ||
22 | if (!encoder_update_user(index, clockwise)) { return false; } | ||
23 | if (index == 0) { /* First encoder */ | ||
24 | if (clockwise) { | ||
25 | tap_code(KC__VOLUP); | ||
26 | } else { | ||
27 | tap_code(KC__VOLDOWN); | ||
28 | } | ||
29 | } else if (index == 1) { /* Second encoder */ | ||
30 | if (clockwise) { | ||
31 | tap_code(KC_PGUP); | ||
32 | } else { | ||
33 | tap_code(KC_PGDN); | ||
34 | } | ||
35 | } | ||
36 | return true; | ||
37 | } | ||
38 | //common oled support. | ||
39 | #ifdef OLED_DRIVER_ENABLE | ||
40 | __attribute__((weak)) void oled_task_user(void) { | ||
41 | if (is_keyboard_master()) { | ||
42 | oled_write_P(PSTR("Layer: "), false); | ||
43 | switch (get_highest_layer(layer_state)) { | ||
44 | case _QWERTY: | ||
45 | oled_write_ln_P(PSTR("Default"), false); | ||
46 | break; | ||
47 | default: | ||
48 | // Or use the write_ln shortcut over adding '\n' to the end of your string | ||
49 | oled_write_ln_P(PSTR("Undefined"), false); | ||
50 | } | ||
51 | // Host Keyboard LED Status | ||
52 | led_t led_state = host_keyboard_led_state(); | ||
53 | oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); | ||
54 | oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); | ||
55 | oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); | ||
56 | } else { | ||
57 | static const char PROGMEM qmk_logo[] = { | ||
58 | 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, | ||
59 | 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, | ||
60 | 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 | ||
61 | }; | ||
62 | oled_write_P(qmk_logo, false); | ||
63 | oled_scroll_left(); // Turns on scrolling | ||
64 | } | ||
65 | } | ||
66 | #endif | ||