aboutsummaryrefslogtreecommitdiff
path: root/waffle/oled.h
diff options
context:
space:
mode:
Diffstat (limited to 'waffle/oled.h')
-rw-r--r--waffle/oled.h387
1 files changed, 44 insertions, 343 deletions
diff --git a/waffle/oled.h b/waffle/oled.h
index e1a50ab..6e33143 100644
--- a/waffle/oled.h
+++ b/waffle/oled.h
@@ -3,345 +3,49 @@
#pragma once
#include "quantum.h"
+#define KEYLOG_LEN 5
extern uint8_t oled_buffer[OLED_MATRIX_SIZE];
extern OLED_BLOCK_TYPE oled_dirty;
-void render_wpm(void);
-void render_scan_rate(void);
-void render_time(void); // render time
-void qmk_logo(void);
-void render_keyboard(void); // small split keyboard
-void layer_status(void); // active layer
-void mod_status(uint8_t mods); // active modifier (ctl, shift, alt, gui)
-void keylock_status(led_t led_usb_state); // active key lock (caps, num, scroll)
-void add_keylog(uint16_t keycode);
-void render_keylogger(void); // keylogger data
-void keylogger_status(void); // keylogger prompt
-void felix(void); // felix the dog (90 or 270 rotation)
-void bongo(void); // solid-filled bongo cat (0 or 180 rotation)
-void wpm_graph(void); // wpm graph for 128x64 oled (memory intensive)
-void layer_anim(void);
+
void oled_timer_reset(void);
bool oled_task_keymap(void);
+void anim_frame(uint16_t size, char const action[][size]);
+void wpm_graph(void);
+void felix_dog(void);
+void layer_anim(void);
+void layer_status(void);
+void render_mod_status(void);
+void add_keylog(uint16_t keycode, keyrecord_t *record);
+void render_keylog(void);
+void render_wpm(void);
+void render_scan_rate(void);
+void oled_render_boot(bool jump_to_bootloader);
-#ifdef BONGO_CAT
-static const char PROGMEM bongo_idle[5][512] = {
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 128, 192, 192, 224, 224, 224, 224, 240, 240, 240, 240, 240,
- 248, 248, 252, 252, 252, 248, 240, 192, 128, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,
- 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 124, 254, 254, 254,
- 254, 254, 254, 255, 255, 255, 255, 255, 127, 127, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 127, 255, 207, 207, 255, 63, 63, 63, 62,
- 252, 248, 240, 224, 192, 128, 0, 0, 0, 128, 128, 128, 128, 64,
- 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8,
- 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 248, 252, 255,
- 255, 255, 255, 255, 255, 255, 255, 243, 243, 243, 242, 254, 255, 255,
- 191, 62, 61, 29, 30, 30, 30, 14, 15, 15, 15, 15, 7, 7,
- 15, 15, 31, 31, 31, 31, 31, 31, 15, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128,
- 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16,
- 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 3,
- 3, 1, 1, 1, 1, 1, 1, 3, 7, 7, 7, 15, 15, 15,
- 15, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- },
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 128, 192, 192, 224, 224, 224, 224, 240, 240, 240, 240, 240,
- 248, 248, 252, 252, 252, 248, 240, 192, 128, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,
- 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 124, 254, 254, 254,
- 254, 254, 254, 255, 255, 255, 255, 255, 127, 127, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 127, 255, 207, 207, 255, 63, 63, 63, 62,
- 252, 248, 240, 224, 192, 128, 0, 0, 0, 128, 128, 128, 128, 64,
- 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8,
- 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 248, 252, 255,
- 255, 255, 255, 255, 255, 255, 255, 243, 243, 243, 242, 254, 255, 255,
- 191, 62, 61, 29, 30, 30, 30, 14, 15, 15, 15, 15, 7, 7,
- 15, 15, 31, 31, 31, 31, 31, 31, 15, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128,
- 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16,
- 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 3,
- 3, 1, 1, 1, 1, 1, 1, 3, 3, 7, 7, 15, 15, 15,
- 15, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- },
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 128, 128, 192, 192, 192, 192, 224, 224, 224, 224, 240,
- 248, 252, 254, 254, 252, 248, 224, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,
- 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 254, 255, 255, 254,
- 254, 252, 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 255, 159, 159, 255, 127, 126, 126, 124,
- 248, 240, 224, 192, 128, 0, 0, 0, 0, 128, 128, 128, 128, 64,
- 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8,
- 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 240, 249, 255,
- 255, 255, 255, 255, 255, 255, 255, 231, 231, 231, 228, 252, 255, 255,
- 191, 61, 59, 27, 29, 29, 29, 12, 15, 15, 15, 15, 6, 6,
- 14, 14, 31, 31, 31, 31, 31, 31, 15, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128,
- 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16,
- 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 3,
- 3, 1, 1, 1, 1, 1, 1, 3, 3, 7, 7, 15, 15, 15,
- 15, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- },
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0,
- 0, 0, 128, 192, 192, 224, 224, 224, 224, 240, 240, 240, 240, 248,
- 252, 254, 255, 255, 254, 252, 240, 192, 128, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,
- 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 255, 255, 255, 255,
- 255, 254, 254, 255, 255, 255, 255, 255, 127, 127, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 127, 255, 207, 207, 255, 63, 63, 63, 62,
- 252, 248, 240, 224, 192, 128, 0, 0, 0, 128, 128, 128, 128, 64,
- 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8,
- 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 240, 252, 255,
- 255, 255, 255, 255, 255, 255, 255, 243, 243, 243, 242, 254, 255, 255,
- 191, 62, 61, 29, 30, 30, 30, 14, 15, 15, 15, 15, 7, 7,
- 15, 15, 31, 31, 31, 31, 31, 31, 15, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128,
- 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16,
- 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 3,
- 3, 1, 1, 1, 1, 1, 1, 3, 3, 7, 7, 15, 15, 15,
- 15, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- },
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 128, 192, 192, 224, 224, 224, 224, 240, 240, 240, 240, 248,
- 248, 252, 254, 254, 254, 252, 248, 192, 128, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,
- 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 254, 255, 255, 254,
- 254, 254, 254, 255, 255, 255, 255, 255, 127, 127, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 127, 255, 207, 207, 255, 63, 63, 63, 62,
- 252, 248, 240, 224, 192, 128, 0, 0, 0, 128, 128, 128, 128, 64,
- 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8,
- 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 240, 252, 255,
- 255, 255, 255, 255, 255, 255, 255, 243, 243, 243, 242, 254, 255, 255,
- 191, 62, 61, 29, 30, 30, 30, 14, 15, 15, 15, 15, 7, 7,
- 15, 15, 31, 31, 31, 31, 31, 31, 15, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128,
- 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16,
- 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 3,
- 3, 1, 1, 1, 1, 1, 1, 3, 3, 7, 7, 15, 15, 15,
- 15, 15, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- }};
-
-static const char PROGMEM bongo_prep[][512] = {{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 0, 128, 192,
- 192, 224, 224, 224, 224, 240, 240, 240, 240, 248, 252, 254, 255, 255, 254,
- 252, 240, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 255, 255,
- 255, 255, 255, 254, 254, 127, 127, 127, 255, 255, 127, 127, 255, 255, 255,
- 255, 255, 255, 255, 255, 255, 127, 255, 207, 207, 255, 255, 255, 31, 230,
- 250, 247, 207, 203, 255, 246, 124, 0, 0, 128, 128, 128, 128, 64, 64,
- 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8, 8, 8,
- 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 128, 240, 252, 255, 255, 255, 231, 249, 250, 231, 230,
- 251, 252, 67, 126, 126, 127, 127, 63, 62, 61, 29, 30, 30, 30, 14,
- 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, 3, 3, 3, 1, 1,
- 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128,
- 128, 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16,
- 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 3, 3,
- 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,
-}};
-
-static const char PROGMEM bongo_tap[2][512] = {
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0,
- 0, 0, 128, 192, 192, 224, 224, 224, 224, 240, 240, 240, 240, 248,
- 252, 254, 255, 255, 254, 252, 240, 192, 128, 0, 0, 0, 0, 0,
- 0, 0, 248, 248, 248, 248, 0, 0, 0, 0, 0, 128, 128, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,
- 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 255, 255, 255, 255,
- 255, 254, 254, 127, 127, 127, 255, 255, 127, 127, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 127, 255, 207, 207, 255, 255, 255, 255, 254,
- 252, 248, 240, 224, 195, 135, 7, 1, 0, 184, 188, 190, 159, 95,
- 95, 79, 76, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8,
- 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 240, 252, 255,
- 255, 255, 231, 249, 250, 231, 230, 251, 124, 67, 126, 126, 127, 127,
- 63, 62, 61, 29, 30, 30, 30, 14, 15, 15, 15, 15, 7, 7,
- 15, 15, 31, 31, 31, 31, 31, 31, 15, 1, 61, 124, 252, 252,
- 252, 252, 252, 60, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128,
- 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16,
- 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 3,
- 3, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- },
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 0, 0, 0,
- 0, 0, 128, 192, 192, 224, 224, 224, 224, 240, 240, 240, 240, 248,
- 252, 254, 255, 255, 254, 252, 240, 192, 128, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,
- 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 255, 255, 255, 255,
- 255, 254, 254, 255, 255, 255, 255, 255, 127, 127, 255, 255, 255, 255,
- 255, 255, 255, 255, 255, 127, 255, 207, 207, 255, 255, 255, 31, 230,
- 250, 247, 207, 203, 255, 246, 124, 0, 0, 128, 128, 128, 128, 64,
- 64, 64, 64, 32, 32, 32, 32, 16, 16, 16, 16, 8, 8, 8,
- 8, 8, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 240, 252, 255,
- 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 255, 255,
- 191, 62, 61, 29, 30, 30, 30, 14, 15, 15, 15, 15, 7, 7,
- 7, 7, 7, 7, 3, 3, 3, 1, 1, 1, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128,
- 64, 64, 64, 64, 64, 32, 32, 32, 32, 32, 16, 16, 16, 16,
- 16, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 3, 123,
- 123, 121, 121, 121, 121, 57, 49, 3, 3, 7, 7, 15, 15, 15,
- 143, 143, 135, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- }};
-#endif
+static const char PROGMEM code_to_name[256] = {
+ ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
+ 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
+ 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6',
+ '7', '8', '9', '0', 20, 19, 27, 26, 22, '-', '=', '[',
+ ']', '\\', '#', ';', '\'', '`', ',', '.', '/', 128, 0xD5, 0xD6,
+ 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0XDF, 0xFB, 'P', 'S',
+ 19, ' ', 17, 30, 16, 16, 31, 26, 27, 25, 24, 'N',
+ '/', '*', '-', '+', 23, '1', '2', '3', '4', '5', '6', '7',
+ '8', '9', '0', '.', '\\', 'A', 0, '=', ' ', ' ', ' ', ' ',
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 0, ' ', ' ',
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+ ' ', 0x9E, 0x9E, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x82, 0x80, 0x80, 0x80, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 'C', 'S', 'A', 'G',
+ 'C', 'S', 'A', 'G', ' ', ' ', ' ', ' ', ' ', 24, 26, 24,
+ 25, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 24, 25, 27,
+ 26, ' ', ' ', ' '};
-#ifdef FELIX_DOG
-static const char PROGMEM felix_sit[2][96] = {
+static const char PROGMEM felix_sit[][96] = {
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xe0, 0xfc, 0xfe, 0xfd, 0xfe, 0xdc, 0xfc, 0xfc, 0xfe, 0x5d,
@@ -363,7 +67,7 @@ static const char PROGMEM felix_sit[2][96] = {
0x3f, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
}};
-static const char PROGMEM felix_walk[2][96] = {
+static const char PROGMEM felix_walk[][96] = {
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0x70, 0x30,
0x20, 0x00, 0x80, 0xc0, 0xc0, 0xf0, 0xf8, 0xf4, 0xf8, 0x70, 0xf0, 0xf0,
@@ -385,7 +89,7 @@ static const char PROGMEM felix_walk[2][96] = {
0x1f, 0x3f, 0x3f, 0x33, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
}};
-static const char PROGMEM felix_run[2][96] = {
+static const char PROGMEM felix_run[][96] = {
{
0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xb0, 0xa0, 0x80,
0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xfc, 0xf4, 0xe4, 0xf8, 0x70,
@@ -407,7 +111,7 @@ static const char PROGMEM felix_run[2][96] = {
0x1f, 0x0f, 0x1f, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
}};
-static const char PROGMEM felix_bark[2][96] = {
+static const char PROGMEM felix_bark[][96] = {
{
0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x80, 0xc0, 0xfc, 0xf4, 0xe4, 0xf8, 0x70, 0xf8, 0xe4, 0xf8,
@@ -429,7 +133,7 @@ static const char PROGMEM felix_bark[2][96] = {
0x3b, 0x33, 0x07, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
}};
-static const char PROGMEM felix_sneak[2][96] = {
+static const char PROGMEM felix_sneak[][96] = {
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80,
@@ -450,10 +154,8 @@ static const char PROGMEM felix_sneak[2][96] = {
0x3f, 0x0f, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x07, 0x1f, 0x1f, 0x0f, 0x1f,
0x3f, 0x3f, 0x37, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
}};
-#endif
-#ifdef LAYER_ANIM
-static const char PROGMEM tap_num[3][520] = {
+static const char PROGMEM tap_num[][520] = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0x60, 0x9c, 0x03, 0, 0, 0x01, 0x02, 0x04, 0x08,
@@ -590,7 +292,7 @@ static const char PROGMEM tap_num[3][520] = {
0, 0, 0, 0, 0, 0, 0, 0,
}};
-static const char PROGMEM tap_sym[3][650] = {
+static const char PROGMEM tap_sym[][650] = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0x80, 0x80, 0x40,
0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08,
@@ -758,7 +460,7 @@ static const char PROGMEM tap_sym[3][650] = {
0, 0, 0, 0,
}};
-static const char PROGMEM tap_sys[3][520] = {
+static const char PROGMEM tap_sys[][520] = {
{0x01, 0x80, 0x60, 0x10, 0x48, 0x08, 0x24, 0x04, 0x14, 0x84, 0x14, 0x04,
0x28, 0x88, 0x10, 0x60, 0x80, 0, 0, 0x04, 0, 0x80, 0x60, 0x10,
0x08, 0x08, 0x04, 0x44, 0x84, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x60,
@@ -892,4 +594,3 @@ static const char PROGMEM tap_sys[3][520] = {
0x08, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x11, 0x08, 0x08, 0x04, 0x04,
0x02, 0x01, 0x10, 0, 0, 0, 0, 0,
}};
-#endif