I’m having the same problem. I’ve been using Keyboardio for a few months and I had several plugins and a sloppy unorganized sketch. I redid everything from scratch and now macros are being executed twice. I don’t have a “Kaleidoscope.use()” and git pull replied “Already up to date.”
I followed the Windows installation instructions and the firmware would not compile because the Arduino IDE apparently couldn’t remember where it had put all the files it needed.
I wonder if I’m using the right up-to-date instructions. I just went back to MacOSX (I don’t like Windows anyway), deleted the Arduino sketch folder, browsed to here: https://github.com/keyboardio/Model01-Firmware , followed the command line instructions starting with “Create and navigate to the Arduino Sketchbook directory” and the keyboard still double macros.
Am I using the right instructions? Would it make sense to try to re-install the IDE (on the MacOSX partition of my hard drive, I’m really a Mac person)?
It turns out I, too, have this same bug. I’m on macOS High Sierra 10.13.5, and I’m using Kaleidoscope 1.23 (or so I think I should be, though I was going to make a separate post asking how to verify.
Here’s perhaps a relevant datum: I re-installed Arduino and tried flashing the firmware again, this time from command line. I got this warning:
The legacy plugin API based on hook registration is deprecated.
Consider upgrading your plugins, or implementing the new interface
described by kaleidoscope::Plugin. In particular, instead of using Kaleidoscope.useLoopHook, implement .beforeEachCycle, .beforeReportingState(), or .afterEachCycle() instead.
If your plugins are up-to-date, and you are not a developer, it is
usually safe to ignore this message. Especally if the full error
points to a line containing legacyLoopHook or legacyEventHandler.