Releases: UltimateHackingKeyboard/firmware
15.3.1
15.3.0
Device Protocol: 4.17.0 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 12.0.1 | Hardware Config: 1.0.0 | Smart Macros: 3.10.0
Bug fixes:
- Fix secondary role unblock mouse bug.
- Fix UHK 60 backlight sleep mode when connected to an USB HID-disabled power source. Implement UHK 60 USB-report-send fail timeout, at 128ms.
- Fix stuck layer when switching keymaps. (When a held switch is not mapped in the new keymap while switching keymap.)
- Fix UHK 60 lock/unlock blinking when waking it up with the S+F and J+L keys together.
- Fix macro freezes when
ifShortcutorifPrimarywas used with braces.SMARTMACROS:PATCH
New features:
- Add runtime macro recording indicator for the UHK 80.
- Add preliminary support for macro templates. (Key labels, parametrizable macros, Alt code expansion. Needs Agent support.)
USERCONFIG:MINOR - Add
set simulateLowResScrolling BOOLmacro command for compatibility with some applications.SMARTMACROS:MINOR - Increase effective length of runtime macros by employing better serialization strategy, to 512 keystrokes per runtime macro, and 1024 total.
- Extend UHK 60 crash logging.
Power improvements:
- Make the key cluster module shut down the LED controller when not in use.
- Make the UHK 80 shut down the LED controllers when not in use.
Misc:
- Implement dynamic pin control for UART.
15.2.0
Device Protocol: 4.17.0 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 12.0.0 | Hardware Config: 1.0.0 | Smart Macros: 3.9.0
- Fix BLE pairing with Linux.
- Always switch to newly paired BLE connections.
- Suppress S, F and J, L scancodes for some time after sleep mode unlock.
- Log suspicious conditions and crashes only when the
devModemacro variable is enabled.SMARTMACROS:MINOR - Add the
replaceKeymapcommand, and thecurrentKEYID alias.SMARTMACROS:MINOR - Fix the
setLedTxtdry run mode, which occasionally acted as a delay.SMARTMACROS:PATCH - Make
whilemacro command yield after every iteration.SMARTMACROS:PATCH - Fix scope state reset and some control flow scenarios.
SMARTMACROS:PATCH - Add a device protocol variable to disable firmware checksum check during firmware updates.
DEVICEPROTOCOL:MINOR - Add command to read OLED content.
DEVICEPROTOCOL:MINOR
15.1.0
Device Protocol: 4.16.1 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 12.0.0 | Hardware Config: 1.0.0 | Smart Macros: 3.8.0
- Fix the
replaceLayer,overlayLayer, andoverlayKeymapmacro commands, which corrupted the keymap due to action compression.SMARTMACROS:PATCH - Fix the
postponeKeysmodifier that acted assuppressMods.SMARTMACROS:PATCH - Mitigate bridge cable disconnects caused by demanding macros.
- Add the
switchHost lastSelectedargument to switch to the last manually selected host connection.SMARTMACROS:MINOR - Add the
reconnectcommand to reconnect the current host connection.SMARTMACROS:MINOR - Add the
$currentTimemacro variable expansion.SMARTMACROS:MINOR - Make freeze detection and eventloop spin detection less likely to give false alarms.
15.0.1
Device Protocol: 4.16.1 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 12.0.0 | Hardware Config: 1.0.0 | Smart Macros: 3.7.0
- Update battery percentage indicator shortly after discharging a charged battery.
- Don't sanitize firmware log now that the relevant Agent bug is fixed.
- Detect and log possible spinning event loop bugs.
15.0.0
Device Protocol: 4.16.1 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 12.0.0 | Hardware Config: 1.0.0 | Smart Macros: 3.7.0
- Compress subsequent matching key actions for more efficient storage.
USERCONFIG:MAJOR - Make battery percentage indicator more accurate.
- Make system scancodes work in macro actions.
- Improve crash detection.
14.2.1
Device Protocol: 4.16.1 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 11.0.0 | Hardware Config: 1.0.0 | Smart Macros: 3.6.1
- Fix a macro engine bug where USB reports weren't updated at the end of a macro, which made the keys activated from the macro get stuck.
SMARTMACROS:PATCH - Make the UHK 60 not misinterpret firmware updates as crashes.
- Correctly detect full charge level on the UHK 80.
- Update battery percentage indicator quicker, especially when transitioning between charging and discharging.
- Show correct battery percentage shortly after a battery is (dis)connected.
- Fix the delay before the UHK 80 executes macro commands via USB, so that the macro commands are executed instantly.
- USB macro execution command fixes: Fix buffer underruns, return status code.
DEVICEPROTOCOL:PATCH
14.2.0
Device Protocol: 4.16.0 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 11.0.0 | Hardware Config: 1.0.0 | Smart Macros: 3.6.0
- Implement
$onSplitand$onJoinmacro events.SMARTMACROS:MINOR - Add persistent macro USB reports via the
persistentargument and addtoggleKeycommand.SMARTMACROS:MINOR - Implement locking mode for the UHK 60.
- Map sleep device action to Fn2+Pause on every keymap of the default configuration of the UHK 80.
14.1.0
Device Protocol: 4.16.0 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 11.0.0 | Hardware Config: 1.0.0 | Smart Macros: 3.5.0
- Fix some Bluetooth-related crashes.
- Changes to logging and crash-related behavior.
- Add the
zephyrsmart macro command to execute Zephyr shell commands.SMARTMACROS:MINOR - Implement Zephyr shell execute device protocol command.
DEVICEPROTOCOL:MINOR
14.0.3
Device Protocol: 4.15.0 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 11.0.0 | Hardware Config: 1.0.0 | Smart Macros: 3.4.1
- Fix bug that made the configuration not update when saving it in various circumstances.