5 #ifdef KEYBOARD_cannonkeys_satisfaction75_prototype
11 /* screen off after this many milliseconds */
12 #define ScreenOffInterval 60000 /* milliseconds */
23 // Start these at the USER code range in VIA
30 enum s75_keyboard_value_id {
31 id_encoder_modes = 0x80,
47 ENC_MODE_CLOCK_SET // This shouldn't be included in the default modes, so we put it after NUM_ENCODER_MODES
58 // Keyboard Information
59 extern volatile uint8_t led_numlock;
60 extern volatile uint8_t led_capslock;
61 extern volatile uint8_t led_scrolllock;
65 extern uint16_t last_flush;
66 extern bool queue_for_send;
67 extern uint8_t oled_mode;
68 extern bool oled_sleeping;
71 extern uint8_t encoder_value;
72 extern uint8_t encoder_mode;
73 extern uint8_t enabled_encoder_modes;
76 extern RTCDateTime last_timespec;
77 extern uint16_t last_minute;
80 extern bool clock_set_mode;
81 extern uint8_t time_config_idx;
82 extern int8_t hour_config;
83 extern int16_t minute_config;
84 extern int8_t year_config;
85 extern int8_t month_config;
86 extern int8_t day_config;
87 extern uint8_t previous_encoder_mode;
90 extern backlight_config_t kb_backlight_config;
91 extern bool kb_backlight_breathing;
93 void pre_encoder_mode_change(void);
94 void post_encoder_mode_change(void);
95 void change_encoder_mode(bool negative);
96 uint16_t handle_encoder_clockwise(void);
97 uint16_t handle_encoder_ccw(void);
98 uint16_t handle_encoder_press(void);
100 void update_time_config(int8_t increment);
102 __attribute__ ((weak))
104 void draw_default(void);
105 void draw_clock(void);
107 void backlight_init_ports(void);
108 void backlight_set(uint8_t level);
109 bool is_breathing(void);
110 void breathing_enable(void);
111 void breathing_disable(void);
112 void load_custom_config(void);
113 void save_backlight_config_to_eeprom(void);