summaryrefslogtreecommitdiffstats
path: root/quantum/visualizer/visualizer.h
diff options
context:
space:
mode:
authorSjB <steve@sagacity.ca>2017-01-18 03:47:07 +0100
committerSjB <steve@sagacity.ca>2017-01-18 03:57:32 +0100
commit9eb8d05246fba4f46c04b8fa1884b8f2d2ee0664 (patch)
treeb423092318863773fe81beb6bf5c9c6317ae0ab6 /quantum/visualizer/visualizer.h
parent3d264adfc5e4538b57315cb8d3d429b9ed310f25 (diff)
downloadqmk_firmware-9eb8d05246fba4f46c04b8fa1884b8f2d2ee0664.tar.gz
qmk_firmware-9eb8d05246fba4f46c04b8fa1884b8f2d2ee0664.tar.xz
added mods status bit to visualizer.
Since we can't read the real_mods and oneshot_mods static variable directly within the update_user_visualizer_state function (Threading and serial link). We are know storing the mods states in the visualizer_keyboard_status_t structure. We can now display the status of the modifier keys on the LCD display.
Diffstat (limited to 'quantum/visualizer/visualizer.h')
-rw-r--r--quantum/visualizer/visualizer.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/quantum/visualizer/visualizer.h b/quantum/visualizer/visualizer.h
index 53e250725..315af5022 100644
--- a/quantum/visualizer/visualizer.h
+++ b/quantum/visualizer/visualizer.h
@@ -34,10 +34,14 @@ SOFTWARE.
#include "lcd_backlight.h"
#endif
+// use this function to merget both real_mods and oneshot_mods in a uint16_t
+uint8_t visualizer_get_mods(void);
+
// This need to be called once at the start
void visualizer_init(void);
// This should be called at every matrix scan
-void visualizer_update(uint32_t default_state, uint32_t state, uint32_t leds);
+void visualizer_update(uint32_t default_state, uint32_t state, uint8_t mods, uint32_t leds);
+
// This should be called when the keyboard goes to suspend state
void visualizer_suspend(void);
// This should be called when the keyboard wakes up from suspend state
@@ -61,6 +65,7 @@ struct keyframe_animation_t;
typedef struct {
uint32_t layer;
uint32_t default_layer;
+ uint8_t mods;
uint32_t leds; // See led.h for available statuses
bool suspended;
} visualizer_keyboard_status_t;
@@ -129,6 +134,8 @@ bool keyframe_set_backlight_color(keyframe_animation_t* animation, visualizer_st
bool keyframe_display_layer_text(keyframe_animation_t* animation, visualizer_state_t* state);
// Displays a bitmap (0/1) of all the currently active layers
bool keyframe_display_layer_bitmap(keyframe_animation_t* animation, visualizer_state_t* state);
+// Displays a bitmap (0/1) of all the currently active mods
+bool keyframe_display_mods_bitmap(keyframe_animation_t* animation, visualizer_state_t* state);
bool keyframe_disable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state);
bool keyframe_enable_lcd_and_backlight(keyframe_animation_t* animation, visualizer_state_t* state);