aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile25
-rw-r--r--README3
m---------lib/hardware/arduino/avr0
m---------lib/hardware/keyboardio0
-rw-r--r--src/Macros.cpp13
-rw-r--r--src/Macros.h2
-rw-r--r--src/MagicCombo.cpp2
-rw-r--r--src/TapDance.cpp2
-rw-r--r--src/TapDance.h2
-rw-r--r--src/model01.ino2
-rwxr-xr-xtools/apply-colormap10
11 files changed, 39 insertions, 22 deletions
diff --git a/Makefile b/Makefile
index 1c6b6ba..b14c3e8 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/README b/README
index 3352f2b..5a67826 100644
--- a/README
+++ b/README
@@ -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