Skip to content

Releases: UltimateHackingKeyboard/firmware

8.8.0

16 Feb 21:58
Compare
Choose a tag to compare

Device Protocol: 4.7.0 | Module Protocol: 4.1.0 | User Config: 4.1.1 | Hardware Config: 1.0.0

  • Prevent deadlocks and races in USB semaphores. If your UHK frooze every now and then, it shouldn't happen again.
  • Implement mouse buttons 4-8.
  • Make arrow scancodes stick their modifiers.
  • Implement functional trackpoint firmware.
  • Expose toggled layer via the GetKeyboardState USB command. DEVICEPROTOCOL:MINOR

8.7.1

07 Jan 22:54
Compare
Choose a tag to compare

Device Protocol: 4.6.0 | Module Protocol: 4.1.0 | User Config: 4.1.1 | Hardware Config: 1.0.0

  • Don't make shortcuts sticky with the exception of Alt+Tab and Cmd+Tab.
  • Add extra USB reports for pressing and releasing the modifiers of shortcuts. This makes the firmware play nicer with Karabiner, RDP, and possibly some other applications.
  • Make scroll key actions always emit a USB scroll event, even when tapped momentarily.
  • When conflicting mouse keys are pressed at the same time, make the most recent key the dominant one.
  • Add key cluster, trackball, and trackpoint firmware images to the firmware tarball.
  • Set sensible default key actions for modules.
  • Make the key cluster scroll and the other modules move the pointer by default.
  • Move from .tar.bz2 to .tar.gz as the firmware release file format because the latter can be attached in GitHub issues.

8.7.0

03 Dec 20:26
Compare
Choose a tag to compare

Device Protocol: 4.6.0 | Module Protocol: 4.1.0 | User Config: 4.1.1 | Hardware Config: 1.0.0

  • Make the Agent icon of the LED display light up when Agent is running.
  • Fix debouncer related data races which slightly affect the left keyboard half.
  • When a dual-role key is held and the secondary role gets triggered by another key, don't debounce the latter key.
  • Set the key states of disconnected modules to unpressed.
  • Update module states upon disconnecting the left and right modules.
  • Expose the active layer via the GetDeviceState USB command. DEVICEPROTOCOL:MINOR

8.6.0

23 Aug 18:41
Compare
Choose a tag to compare

Device Protocol: 4.5.0 | Module Protocol: 4.1.0 | User Config: 4.1.1 | Hardware Config: 1.0.0

  • Make the config parser accept mouse button 4 to 8. USERCONFIG:PATCH
  • Implement API for modules to send pointer movements to the master. MODULEPROTOCOL:MINOR
  • Fix empty macro playback.

8.5.4

05 Jan 15:18
Compare
Choose a tag to compare

Device Protocol: 4.5.0 | Module Protocol: 4.0.0 | User Config: 4.1.0 | Hardware Config: 1.0.0

  • Make the modifiers of shortcut keys stick only as long as the layer switcher key of a shortcut key is being held.

8.5.3

19 Oct 23:23
Compare
Choose a tag to compare

Device Protocol: 4.5.0 | Module Protocol: 4.0.0 | User Config: 4.1.0 | Hardware Config: 1.0.0

  • Re-enable the I2C watchdog of the left keyboard half which was accidentally disabled starting from firmware 8.4.3. This should fix the freezes of the left keyboard half.

8.5.2

06 Oct 19:35
Compare
Choose a tag to compare

Device Protocol: 4.5.0 | Module Protocol: 4.0.0 | User Config: 4.1.0 | Hardware Config: 1.0.0

  • Don't suppress keys upon keymap change.

8.5.1

04 Oct 21:12
Compare
Choose a tag to compare

Device Protocol: 4.5.0 | Module Protocol: 4.0.0 | User Config: 4.1.0 | Hardware Config: 1.0.0

  • Reset UsbReportUpdateSemaphore if it gets stuck for 100ms. This should fix occasional freezes.

8.5.0

04 Oct 20:50
Compare
Choose a tag to compare

Device Protocol: 4.5.0 | Module Protocol: 4.0.0 | User Config: 4.1.0 | Hardware Config: 1.0.0

  • Send primary role modifiers consistently.
  • Only allow layer switcher keys to deactivate toggled layers.
  • Deactivate secondary roles when switching keymaps.
  • Use the correct scancode so that commas are outputted for macros.
  • Move the pointer not by 1 but by 5 pixels when testing the USB stack to make the pointer easier to see.
  • Expose UsbReportUpdateSemaphore via UsbCommand_{Get,Set}Variable() DEVICEPROTOCOL:MINOR
  • Extract CurrentTime and remove Timer_{Get,Set}CurrentTime()

8.4.5

21 Aug 19:58
Compare
Choose a tag to compare

Device Protocol: 4.4.0 | Module Protocol: 4.0.0 | User Config: 4.1.0 | Hardware Config: 1.0.0

  • Suppress pressed keys when the layer or keymap changes.