diff options
-rw-r--r-- | Makefile | 25 | ||||
-rw-r--r-- | README | 3 | ||||
m--------- | lib/hardware/arduino/avr | 0 | ||||
m--------- | lib/hardware/keyboardio | 0 | ||||
-rw-r--r-- | src/Macros.cpp | 13 | ||||
-rw-r--r-- | src/Macros.h | 2 | ||||
-rw-r--r-- | src/MagicCombo.cpp | 2 | ||||
-rw-r--r-- | src/TapDance.cpp | 2 | ||||
-rw-r--r-- | src/TapDance.h | 2 | ||||
-rw-r--r-- | src/model01.ino | 2 | ||||
-rwxr-xr-x | tools/apply-colormap | 10 |
11 files changed, 39 insertions, 22 deletions
@@ -16,12 +16,31 @@ LOCAL_CPP_SRCS = $(wildcard $(SOURCEDIR)/*.cpp) LOCAL_INO_SRCS = $(wildcard $(SOURCEDIR)/*.ino) USER_LIB_PATH = $(ALTERNATE_CORE_PATH)/libraries -ARDUINO_LIBS = EEPROM Kaleidoscope Kaleidoscope-HIDAdaptor-KeyboardioHID KeyboardioHID KeyboardioScanner - -# extra definitions from boards.txt +KALEIDOSCOPE_PLUGINS = Kaleidoscope-Colormap \ + Kaleidoscope-EEPROM-Settings \ + Kaleidoscope-Escape-OneShot \ + Kaleidoscope-FocusSerial \ + Kaleidoscope-Hardware-Model01 \ + Kaleidoscope-Hardware-Keyboardio-Model01 \ + Kaleidoscope-IdleLEDs \ + Kaleidoscope-LED-ActiveModColor \ + Kaleidoscope-LED-Palette-Theme \ + Kaleidoscope-Macros \ + Kaleidoscope-MagicCombo \ + Kaleidoscope-MouseKeys \ + Kaleidoscope-OneShot \ + Kaleidoscope-OneShotMetaKeys \ + Kaleidoscope-Ranges \ + Kaleidoscope-TapDance +ARDUINO_LIBS = EEPROM Kaleidoscope KeyboardioHID \ + $(addprefix Kaleidoscope/plugins/,$(KALEIDOSCOPE_PLUGINS)) + +# extra definitions from lib/hardware/keyboardio/avr/boards.txt CXXFLAGS = -DARDUINO_AVR_MODEL01 \ -DUSB_MANUFACTURER="\"keyboardio\"" -DUSB_PRODUCT="\"Model 01\"" \ -DKALEIDOSCOPE_HARDWARE_H="\"Kaleidoscope-Hardware-Model01.h\"" +# cf. lib/hardware/keyboardio/avr/platform.txt +CXXFLAGS_STD = -std=c++14 -fno-threadsafe-statics ifeq ($(ENABLE_SERIAL),yes) CXXFLAGS += -DENABLE_SERIAL @@ -1,7 +1,7 @@ Introduction ============ -A firmware Sketch for the Keyboardio Model 01. Based algerno's: +A firmware Sketch for the Keyboardio Model 01. Based on algerno's: https://git.madhouse-project.org/algernon/Model01-Sketch#base-layer @@ -31,7 +31,6 @@ Initialize (or update) submodules: ~$ git -C lib/hardware/keyboardio submodule update --init --recursive \ "avr/bootloaders/*" \ "avr/libraries/Kaleidoscope" \ - "avr/libraries/Kaleidoscope-HIDAdaptor-KeyboardioHID" \ "avr/libraries/Keyboardio*" ~$ make diff --git a/lib/hardware/arduino/avr b/lib/hardware/arduino/avr -Subproject 2663be17272e19f00c55f3f2d8f1ebfac47158d +Subproject b3243815e2ed8c72f9ac3669e69632a590b1d04 diff --git a/lib/hardware/keyboardio b/lib/hardware/keyboardio -Subproject 60d06fdd42cf131ead99dd4bc63aee59d366a52 +Subproject a9165613d1aab35d8be365b54976460165d790f diff --git a/src/Macros.cpp b/src/Macros.cpp index c8013cc..529bfca 100644 --- a/src/Macros.cpp +++ b/src/Macros.cpp @@ -16,6 +16,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. **********************************************************************/ +#include <Kaleidoscope.h> #include <Kaleidoscope-OneShot.h> #include "Macros.h" @@ -29,18 +30,16 @@ * https://github.com/keyboardio/Kaleidoscope/issues/647 */ #define TopRow(k1, k2) \ - if (keyToggledOn(keyState)) { \ - if (kaleidoscope::hid::isModifierKeyActive(Key_LeftControl) || \ - ::OneShot.isModifierActive(Key_LeftControl) || \ - kaleidoscope::hid::isModifierKeyActive(Key_RightAlt) || \ - ::OneShot.isModifierActive(Key_RightAlt)) \ + if (keyToggledOn(event.state)) { \ + if (Kaleidoscope.hid().keyboard().wasModifierKeyActive(Key_LeftControl) || \ + Kaleidoscope.hid().keyboard().wasModifierKeyActive(Key_RightAlt)) \ return MACRO(Dr(k2)); \ else \ return MACRO(Dr(k1)); \ }; -const macro_t *macroAction(uint8_t macroIndex, uint8_t keyState) { - switch (macroIndex) { +const macro_t *macroAction(uint8_t macro_id, KeyEvent &event) { + switch (macro_id) { case AT: TopRow(LSHIFT(Key_2), Key_2); case STAR: TopRow(LSHIFT(Key_8), Key_3); case DOLLAR: TopRow(LSHIFT(Key_4), Key_4); diff --git a/src/Macros.h b/src/Macros.h index 829308c..5e4395c 100644 --- a/src/Macros.h +++ b/src/Macros.h @@ -34,4 +34,4 @@ enum { , RIGHT_BRACKET }; -extern const macro_t *macroAction(uint8_t macroIndex, uint8_t keyState); +extern const macro_t *macroAction(uint8_t macro_id, KeyEvent &event); diff --git a/src/MagicCombo.cpp b/src/MagicCombo.cpp index a67566e..f24e221 100644 --- a/src/MagicCombo.cpp +++ b/src/MagicCombo.cpp @@ -21,5 +21,5 @@ #include "MagicCombo.h" void comboMiddleClick(uint8_t combo_index) { - ::Macros.play(MACRO(T(mouseBtnM))); + Macros.play(MACRO(T(mouseBtnM))); } diff --git a/src/TapDance.cpp b/src/TapDance.cpp index e5f870d..7af5393 100644 --- a/src/TapDance.cpp +++ b/src/TapDance.cpp @@ -20,7 +20,7 @@ #include "TapDance.h" bool cancelOneShot = false; -void tapDanceAction(uint8_t tapDanceIndex, byte row, byte col, uint8_t tapCount, +void tapDanceAction(uint8_t tapDanceIndex, KeyAddr keyAddr, uint8_t tapCount, kaleidoscope::plugin::TapDance::ActionType tapDanceAction) { /* Cancel any pending on-shot effects when a tap-dance key is released */ if (tapDanceAction == kaleidoscope::plugin::TapDance::Release) diff --git a/src/TapDance.h b/src/TapDance.h index ff90f5e..7129259 100644 --- a/src/TapDance.h +++ b/src/TapDance.h @@ -27,5 +27,5 @@ enum { }; extern bool cancelOneShot; -extern void tapDanceAction(uint8_t tapDanceIndex, byte row, byte col, uint8_t tapCount, +extern void tapDanceAction(uint8_t tapDanceIndex, KeyAddr keyAddr, uint8_t tapCount, kaleidoscope::plugin::TapDance::ActionType tapDanceAction); diff --git a/src/model01.ino b/src/model01.ino index 8d33fba..ba6f088 100644 --- a/src/model01.ino +++ b/src/model01.ino @@ -63,7 +63,7 @@ void setup() { MouseKeys.speed = 15; MouseKeys.accelDelay = 35; - IdleLEDs.idle_time_limit = 60; + IdleLEDs.setIdleTimeoutSeconds(60); } void loop() { diff --git a/tools/apply-colormap b/tools/apply-colormap index dd35844..d59ddd2 100755 --- a/tools/apply-colormap +++ b/tools/apply-colormap @@ -73,13 +73,12 @@ colormap() { } palette() { - printf "palette" - sed "/^\\s*#/d; s/\\s*#.*//" <"$PALETTE" \ - | sed -nr "1h;1!H; \${x; s/^\\s*/ /; s/\s+/ /g; p}" + { echo "palette"; sed "/^\\s*#/d; s/\\s*#.*//" <"$PALETTE"; } \ + | sed -r ':a; $!N; s/\n/ /; ta; s/\s+/ /g' } serial_send() { - local fd + local fd x old_IFS="$IFS" exec {fd}<"$DEVICE_PATH" "$@" >"$DEVICE_PATH" while IFS= read -r -u "$fd" x; do @@ -87,7 +86,8 @@ serial_send() { [ "$x" != "." ] || break printf "%s\\n" "$x" done - {fd}<&- + IFS="$old_IFS" + exec {fd}<&- } serial_send palette |