|
|
@@ -33,6 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
#include "sendchar.h"
|
|
|
#include "eeconfig.h"
|
|
|
#include "action_layer.h"
|
|
|
+#include "suspend.h"
|
|
|
#ifdef BOOTMAGIC_ENABLE
|
|
|
# include "bootmagic.h"
|
|
|
#endif
|
|
|
@@ -563,6 +564,7 @@ void switch_events(uint8_t row, uint8_t col, bool pressed) {
|
|
|
#if defined(RGB_MATRIX_ENABLE)
|
|
|
rgb_matrix_handle_key_event(row, col, pressed);
|
|
|
#endif
|
|
|
+ wakeup_matrix_handle_key_event(row, col, pressed);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -578,6 +580,8 @@ static inline void generate_tick_event(void) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+matrix_row_t matrix_previous[MATRIX_ROWS];
|
|
|
+
|
|
|
/**
|
|
|
* @brief This task scans the keyboards matrix and processes any key presses
|
|
|
* that occur.
|
|
|
@@ -591,8 +595,6 @@ static bool matrix_task(void) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- static matrix_row_t matrix_previous[MATRIX_ROWS];
|
|
|
-
|
|
|
matrix_scan();
|
|
|
bool matrix_changed = false;
|
|
|
for (uint8_t row = 0; row < MATRIX_ROWS && !matrix_changed; row++) {
|
|
|
@@ -626,7 +628,7 @@ static bool matrix_task(void) {
|
|
|
if (row_changes & col_mask) {
|
|
|
const bool key_pressed = current_row & col_mask;
|
|
|
|
|
|
- if (process_keypress) {
|
|
|
+ if (process_keypress && !keypress_is_wakeup_key(row, col)) {
|
|
|
action_exec(MAKE_KEYEVENT(row, col, key_pressed));
|
|
|
}
|
|
|
|