diff options
author | dakkar <dakkar@thenautilus.net> | 2022-09-30 18:42:17 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2022-09-30 18:42:17 +0100 |
commit | 9d2483d831183f2601722a6cfacbfdcabdbc3185 (patch) | |
tree | b045f7da30924a075efb57eada567bd4cb75b025 | |
parent | it works! (diff) | |
download | keyboardio-model01-9d2483d831183f2601722a6cfacbfdcabdbc3185.tar.gz keyboardio-model01-9d2483d831183f2601722a6cfacbfdcabdbc3185.tar.bz2 keyboardio-model01-9d2483d831183f2601722a6cfacbfdcabdbc3185.zip |
make color-picker compile with latest Kaleidoscope
-rw-r--r-- | color-picker.h | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/color-picker.h b/color-picker.h index 2f44af3..87ddaae 100644 --- a/color-picker.h +++ b/color-picker.h @@ -42,27 +42,27 @@ public: } } - kaleidoscope::EventHandlerResult onKeyswitchEvent(Key &mapped_key, byte row, byte col, uint8_t key_state) { + kaleidoscope::EventHandlerResult onKeyswitchEvent(KeyEvent &event) { if (!Kaleidoscope.has_leds || !is_active()) return kaleidoscope::EventHandlerResult::OK; // only care at press time - if (!keyToggledOn(key_state)) + if (!keyToggledOn(event.state)) return kaleidoscope::EventHandlerResult::EVENT_CONSUMED; // uh? - if (row >= ROWS || col >= COLS) + if (event.addr.row() >= kaleidoscope_internal::device.matrix_rows || event.addr.col() >= kaleidoscope_internal::device.matrix_columns) return kaleidoscope::EventHandlerResult::EVENT_CONSUMED; // pressing a Fn makes that half the "editing" half; pressing it // again disables editing - picker_key key = whichKey(row,col); + picker_key key = whichKey(event.addr.row(),event.addr.col()); switch (key) { case OFF: break; case SHOW: - map[row][col] = current_index; break; + map[event.addr.row()][event.addr.col()] = current_index; break; case SWITCH_LEFT: which_half = which_half == RIGHT_HALF ? BOTH_HALVES : RIGHT_HALF; break; case SWITCH_RIGHT: @@ -112,8 +112,8 @@ public: Focus.send(F("color"),i,colors[i],Focus.NEWLINE); } Focus.send(F("map\n")); - for (uint8_t r=0;r<ROWS;++r) { - for (uint8_t c=0;c<COLS;++c) { + for (uint8_t r=0;r<kaleidoscope_internal::device.matrix_rows;++r) { + for (uint8_t c=0;c<kaleidoscope_internal::device.matrix_columns;++c) { Focus.send(map[r][c]); } Focus.send(Focus.NEWLINE); @@ -124,21 +124,19 @@ public: protected: void update(void) { - for (uint8_t r = 0; r < ROWS; r++) { - for (uint8_t c = 0; c < COLS; c++) { - LEDControl.setCrgbAt(r, c, getColor(r,c)); - } + for (KeyAddr key_addr : KeyAddr::all()) { + LEDControl.setCrgbAt(key_addr, getColor(key_addr.row(),key_addr.col() )); } } - void refreshAt(byte r, byte c) final { - LEDControl.setCrgbAt(r, c, getColor(r,c)); + void refreshAt(KeyAddr key_addr) final { + LEDControl.setCrgbAt(key_addr, getColor(key_addr.row(),key_addr.col())); } private: uint8_t current_index; enum { BOTH_HALVES, LEFT_HALF, RIGHT_HALF } which_half; cRGB colors[16]; - uint8_t map[ROWS][COLS]; + uint8_t map[kaleidoscope_internal::device.matrix_rows][kaleidoscope_internal::device.matrix_columns]; struct hsv { uint8_t h; uint8_t s; uint8_t v; } hsv_colors[16]; |