From 42b81bae96d75f11a81e52fa9f76c167e86396a3 Mon Sep 17 00:00:00 2001 From: Michael Richters Date: Tue, 22 Mar 2022 16:48:28 -0500 Subject: [PATCH] Fix incorrect `pgm_read_byte()` calls in DynamicMacros DynamicMacros reads sequences from EEPROM, not PROGMEM, so it needs to call `Runtime.storage().read()` instead. The code was copied from Macros, but a couple of spots were missed. Signed-off-by: Michael Richters --- .../src/kaleidoscope/plugin/DynamicMacros.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Kaleidoscope-DynamicMacros/src/kaleidoscope/plugin/DynamicMacros.cpp b/plugins/Kaleidoscope-DynamicMacros/src/kaleidoscope/plugin/DynamicMacros.cpp index 2285a857..5afd3b43 100644 --- a/plugins/Kaleidoscope-DynamicMacros/src/kaleidoscope/plugin/DynamicMacros.cpp +++ b/plugins/Kaleidoscope-DynamicMacros/src/kaleidoscope/plugin/DynamicMacros.cpp @@ -176,7 +176,7 @@ void DynamicMacros::play(uint8_t macro_id) { case MACRO_ACTION_STEP_TAP_SEQUENCE: { while (true) { key.setFlags(0); - key.setKeyCode(pgm_read_byte(pos++)); + key.setKeyCode(Runtime.storage().read(pos++)); if (key == Key_NoKey) break; tap(key); @@ -187,7 +187,7 @@ void DynamicMacros::play(uint8_t macro_id) { case MACRO_ACTION_STEP_TAP_CODE_SEQUENCE: { while (true) { key.setFlags(0); - key.setKeyCode(pgm_read_byte(pos++)); + key.setKeyCode(Runtime.storage().read(pos++)); if (key.getKeyCode() == 0) break; tap(key);