Skip to content

Releases: UltimateHackingKeyboard/firmware

12.4.0

26 Feb 13:26
Compare
Choose a tag to compare

Device Protocol: 4.14.1 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.2.0

  • Make layers not stuck when locking them via double-tapping and then switching keymap.
  • Fix the Agent icon of the UHK 60 LED display.
  • Add set bluetooth.enabled BOOL macro variable. SMARTMACROS:MINOR
  • Add set bluetooth.allowUnsecuredConnections BOOL macro variable. SMARTMACROS:MINOR

12.3.5

20 Feb 16:00
Compare
Choose a tag to compare

Device Protocol: 4.14.1 | Module Protocol: 4.3.0 | Dongle Protocol: 1.0.2 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.1.0

  • Fix right battery indication on the OLED display when the right-side USB is disconnected.
  • Rename UHK 80 USB and BLE device names to make them easily distinguishable.
  • Implement a number of measures to make the communication between UHK 80 halves more reliable. Recent changes:
    • Set baud rate to 115200. (UART)
    • Check message consistency with CRC. (UART)
    • Redesign the UART protocol. (UART)
      • Use control sequences that are not likely to be triggered by a constant signal.
      • Explicitly start message frames to detect and ignore spurious signals or data originating from broken frames.
      • When such spurious signal is detected, disable UART for a couple of milliseconds to make sure that other threads get some CPU time.
      • Accept ping bytes from any traffic: we can't afford to reset the state sync state just because of a missed ping (e.g., because of a broken frame), as resending the data over a faulty connection would be likely to cause another reset.
    • Resend any corrupted or undelivered messages. (UART)
    • Explicitly check message sequence and order. (UART+NUS)
    • Fix a couple of deadlock scenarios and set low semaphore timeouts to prevent any uncaught scenarios. (UART+NUS)
    • Don't queue messages that were received multiple times, to prevent congestion. (UART)
    • Distinguish low and high priority messages and spread them in time to prevent congestion. (NUS+UART)

12.3.4

14 Feb 22:34
be04214
Compare
Choose a tag to compare

Device Protocol: 4.14.1 | Module Protocol: 4.3.0 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.1.0

  • Fix bug that was introduced in firmware 12.3.3 and caused the firmware update on the UHK 60 to fail when the touchpad module was connected. Upgrade to this firmware version without the touchpad module connected on the UHK 60 if you're on firmware 12.3.3.
  • Fix caps lock, num lock, and scroll lock states not being updated in a timely manner on the UHK 80.
  • Fix touchpad ghosting in Agent on the UHK 80 when the keyboard halves were merged.

12.3.3

02 Feb 23:34
Compare
Choose a tag to compare

Device Protocol: 4.14.1 | Module Protocol: 4.3.0 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.1.0

  • Fix NUS latency issue, effectively lowering left-right and right-dongle BLE latencies from 50ms to 7ms, which should fix typing errors while the keyboard halves of the UHK 80 are wirelessly connected and/or when dongles are used.
  • Decrease UART baud rate from 1,000,000Hz to 115,200Hz, making the bridge cable connection more stable.
  • Make communication protocols more robust:
    • Change UART control packets.
    • Add message indexing.
    • Add roundtrip time testing.
    • Check message CRC for UART.
  • Fix checksum and versioning related issues that resulted in partial upgrades. This resulted in left half or dongle sometimes remaining on incompatible versions, which in turn led to lags, freezes, and crashes. DEVICEPROTOCOL:PATCH
  • Improve logging and implement a couple new debug features.
  • Fix some potential causes of firmware crashes.

12.3.2

27 Jan 11:54
Compare
Choose a tag to compare

Device Protocol: 4.14.0 | Module Protocol: 4.3.0 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.1.0

  • Don't require confirmation of BLE pairing on the host. Only the pairing code has to be typed on the UHK 80.

12.3.1

16 Jan 14:04
Compare
Choose a tag to compare

Device Protocol: 4.14.0 | Module Protocol: 4.3.0 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.1.0

  • Implement high resolution scrolling for the UHK 80.
  • Fix horizontal scrolling on the UHK 80.
  • Use full keyboard scancode range for the UHK 80, including scancodes such as International 1.

12.3.0

12 Jan 22:21
Compare
Choose a tag to compare

Device Protocol: 4.14.0 | Module Protocol: 4.3.0 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.1.0

  • Make connection handling more robust.
  • Add the switchHost { next | previous | last } macro command which iterates over host connections. SMARTMACROS:MINOR
  • Add the switchHost "name" macro command, which can be used to select a specific host connection.
  • Implement connection switchover. If a host connection's switchover checkbox is checked, the UHK automatically switches to this host when its connection is established.
  • When a connection is disconnected, switch to the host connection that is currently connected and highest in the host connection list.
  • The OLED display now shows the name of the current host connection.
  • Multiple dongles can be connected at the same time.
  • Support caps/num/scroll lock states in host routing.
  • Add EraseAllSettings device protocol command. DEVICEPROTOCOL:MINOR

12.2.0

01 Jan 18:35
Compare
Choose a tag to compare

Device Protocol: 4.13.0 | Module Protocol: 4.3.0 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.0.0

  • Fix touchpad stuck tap and doubletap.
  • Always update keymap on module change, including bootup.
  • Make pairing screen always on.
  • Reduce audible noise and expose related settings via the device protocol. DEVICEPROTOCOL:MINOR
  • Fix ISO LED lighting in switch test mode.
  • Fade UHK 80 LEDs gradually.

12.1.0

23 Dec 00:08
Compare
Choose a tag to compare

Device Protocol: 4.12.0 | Module Protocol: 4.3.0 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.0.0

  • Fix layer toggling.
  • Fix ISO LEDs handling.
  • Fix firmware tags and version numbers returned by the firmware and shown by Agent.
  • Make USB resume from sleep via keypress work.
  • Fix NewPairings flag and add GetNewPairings paging device protocol command. DEVICEPROTOCOL:MINOR
  • Fix BLE bond clearing.
  • Make mouse interface not freeze when switching between host connections.
  • Add HID battery interface.
  • Upgrade to nRF Connect SDK 2.8.0

12.0.1

18 Dec 22:07
Compare
Choose a tag to compare

Device Protocol: 4.11.0 | Module Protocol: 4.3.0 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.0.0

  • Fix left half dissapearing in Agent.
  • Fix spurious loads of default module mappings.
  • Fix touchpad gestures.