8 #include "action_util.h"
11 #include "backlight.h"
15 /** \brief suspend idle
19 void suspend_idle(uint8_t time) {
20 // TODO: this is not used anywhere - what units is 'time' in?
24 /** \brief suspend power down
28 void suspend_power_down(void) {
29 // TODO: figure out what to power down and how
30 // shouldn't power down TPM/FTM if we want a breathing LED
31 // also shouldn't power down USB
33 // on AVR, this enables the watchdog for 15ms (max), and goes to
34 // SLEEP_MODE_PWR_DOWN
39 /** \brief suspend wakeup condition
43 __attribute__ ((weak)) void matrix_power_up(void) {}
44 __attribute__ ((weak)) void matrix_power_down(void) {}
45 bool suspend_wakeup_condition(void)
50 for (uint8_t r = 0; r < MATRIX_ROWS; r++) {
51 if (matrix_get_row(r)) return true;
56 /** \brief suspend wakeup condition
58 * run immediately after wakeup
61 void suspend_wakeup_init(void)
63 // clear keyboard state
64 // need to do it manually, because we're running from ISR
65 // and clear_keyboard() calls print
66 // so only clear the variables in memory
67 // the reports will be sent from main.c afterwards
68 // or if the PC asks for GET_REPORT
72 #ifdef MOUSEKEY_ENABLE
74 #endif /* MOUSEKEY_ENABLE */
75 #ifdef EXTRAKEY_ENABLE
77 host_consumer_send(0);
78 #endif /* EXTRAKEY_ENABLE */
79 #ifdef BACKLIGHT_ENABLE
81 #endif /* BACKLIGHT_ENABLE */