All notable changes to this project will be documented in this file.
The format is loosely based on Keep a Changelog.
Every Agent version includes the most recent firmware version. See the firmware changelog.
Firmware: 11.2.0 [release] | Device Protocol: 4.10.0 | User Config: 7.1.0 | Hardware Config: 1.0.0
- Fix crash when "trigger safety margin" was set to a negative value.
- Fix crash that occurred when the user config history folder contained an invalid device.
- Set key colors of uninitialized NoneActions instead of crashing Agent.
- Only save the application window state on exit, not on every change, which previously led to rare crashes.
- Add tooltip for layers.
- Restore persistent visibility of "back to keymap" link, which previously disappeared when adding or removing macro action items of new macros.
- Implement HTML escaping for keymap descriptions to prevent potential security issues.
- Remove empty modules from the default user config.
- Use async device calls for better performance.
- Enhance configuration history view:
- Now showing the history records of the current device by default
- Making the tab of the current device bold for easy identification
- Displaying device serial number in a tooltip of its tab
Firmware: 11.1.1 [release] | Device Protocol: 4.10.0 | User Config: 7.1.0 | Hardware Config: 1.0.0
- Add macro command syntax highlighting and autocompletion.
- When clicking on a macro error, jump to the relevant smart macro cursor position.
- Add "duplicate macro item" button.
- Add a logarithmic slider for LED fade timeout setting.
- Support 20 mouse buttons.
- Group configuration history records per device.
- Make the "back to keymap" link revert to the previously visible layer.
- Fix "add macro action" animation glitches.
- Always make Agent display firmware documentation, even if git information is missing.
- Make tooltips always appear on-screen, even when they're at the bottom of the screen.
- Fix the "Double tap to lock layer timeout" tooltip on the typing behavior page.
- Fix occasionally incomplete firmware "update succeeded" message.
Firmware: 11.1.0 [release] | Device Protocol: 4.10.0 | User Config: 7.1.0 | Hardware Config: 1.0.0
- Add the "jump to macro" and "add a new macro for this key" buttons in the key action popover macro tab.
- Add a "Back to keymap" link on module pages when navigating via a module icon of keymap pages.
- Add a "Back to keymap" link on macro pages when navigating via the key action popover.
- Make the "Remap on all layers" option of the key action popover not remap modifier layers, except for the current layer.
- Fix the saving and restoration of SwitchKeymapAction colors.
- Rework parts of the module pages to make them easier to digest.
- Display the "Invert horizontal scrolling" option on every module page.
USERCONFIG:MINOR
- Add acceleration diagram into module tooltips.
- Fix current key highlighting.
- Fix the gap below the upper triangle part of the key action popover.
- Improve macro action drag and drop icon and its padding.
- Add a tooltip to the "secondary roles" header of the "typing behavior" page.
- Maximize select component list height.
- Make key borders visible when the background color is similar to the key color.
- Fix icon stroke widths.
- Remove the unintended gray outline of icon keys.
- Don't partially hide the smart macro editor autocomplete popup.
Firmware: 11.0.0 [release] | Device Protocol: 4.10.0 | User Config: 7.0.0 | Hardware Config: 1.0.0
- Realign the circular module puzzle buttons on keymap pages to slightly overlap with modules.
- Swap the trackpoint and touchpad submenus.
- Increase the touchpad hold continuation timeout slider maximum to 2000 ms.
- Make tooltips show even when they're close to the bottom of the page.
Firmware: 11.0.0 [release] | Device Protocol: 4.10.0 | User Config: 7.0.0 | Hardware Config: 1.0.0
- Move the Modules menu directly under the Device menu.
- Add navigation mode tooltips on module pages.
- Fix "Double trap" typo.
Firmware: 11.0.0 [release] | Device Protocol: 4.10.0 | User Config: 7.0.0 | Hardware Config: 1.0.0
- Add module configuration pages for the key cluster, trackball, trackopint, and touchpad modules.
- Add "Typing behavior" page.
- Add "Axis skew" settings and a "Compensate diagonal speed" setting on the "Mouse key speed" page.
- Make page margins consistent across all pages.
- Update firmware version tooltip content to cause less confusion.
- Fix "Recover LED space" tooltip position to not block the related confirmation popover.
Firmware: 10.5.0 [release] | Device Protocol: 4.10.0 | User Config: 6.0.0 | Hardware Config: 1.0.0
- Make Agent compatible with more Linux distributions that use glibc 2.28+ instead of previously requested glibc 2.33+
- Refine USB interface filtering, allowing for compatibility with upcoming firmware versions that use altered USB interface order for greater KVM compatibility.
- Fix the dark mode styles of the color picker and firmware version display.
Firmware: 10.5.0 [release] | Device Protocol: 4.10.0 | User Config: 6.0.0 | Hardware Config: 1.0.0
- Fix cursor position in macro command editor, which affects some desktops with display scaling enabled.
- Fix firmware version number color.
Firmware: 10.4.0 [release] | Device Protocol: 4.10.0 | User Config: 6.0.0 | Hardware Config: 1.0.0
- Fix bug that caused the Agent window to go black. This fix required an Electron 27.0.4 update, which removes macOS 10.13 and 10.14 support, so Agent only runs on macOS 10.15 (Catalina) or later going forward.
- Fix bug that made double-clicking on the color code field slide the UHK out of screen.
Firmware: 10.4.0 [release] | Device Protocol: 4.10.0 | User Config: 6.0.0 | Hardware Config: 1.0.0
- Optimize in-line editable command macro action for horizontal space.
- Add "Open configuration folder" link on the settings page.
- Fix crash when changing theme before the default user config is loaded.
- Fix suggestion widget visibility in Monaco Editor.
- Set default error panel height to 10% percent of screen height.
- Upgrade to Bootstrap 5.
Firmware: 10.3.0 [release] | Device Protocol: 4.10.0 | User Config: 6.0.0 | Hardware Config: 1.0.0
- Add error panel to display smart macro errors in Agent.
- Implement MD5 checksum based firmware updates.
DEVICEPROTOCOL:MINOR
- Add audible option for I2C debugging.
Firmware: 10.1.0 [release] | Device Protocol: 4.9.0 | User Config: 6.0.0 | Hardware Config: 1.0.0
- Allow modifying palette colors via right click.
- Allow dragging any key to any palette color to repaint it or to the plus button to add it.
- Use the JetBrains Mono font in Monaco editor.
- Fix keyboard case color shown in the Macro tab of the key action popover and on the "Add available keymap" page.
- Make better use of horizontal space on the macro editing page.
- Fix double vertical scrollbars in the macro section of the key action popover.
- Flash not only rectangular keys but also non-rectangular keys upon changing them.
- Improve the hover highlighting of keys in per-key color mode.
Firmware: 10.1.0 [release] | Device Protocol: 4.9.0 | User Config: 6.0.0 | Hardware Config: 1.0.0
- Break the color palette into multiple lines if it doesn't fit in a single line.
- Add Cancel and Ok buttons to the color picker.
- When remapping a key, keep its color.
- Use LF consistently as a line separator in macro commands.
- Prefix modifiers with L or R, and display RAlt as RAlt(Gr).
- Use light gray case color for the keyboard case when in per-key RGB mode, which is more pleasant to the eyes.
- Fix the color of the rotating Agent icon on the loading page to be higher contrast in dark mode.
- Disable painting mode when switching to functional backlighting mode.
- Make new macro text actions savable after pasting text.
Firmware: 10.0.0 [release] | Device Protocol: 4.9.0 | User Config: 6.0.0 | Hardware Config: 1.0.0
- Rename the "LED brightness" page to "LED settings" and extend it with backlighting mode, functional backlighting colors, and LED fade timeout. Extend the keymap page accordingly.
USERCONFIG:MAJOR
- Add "Always display keyboards halves joined together" option on the Settings page.
- Load backup user config on startup only if the user config is invalid.
- Windows support is limited to Windows 10+ starting from this release because the most recent Electron only suports new Windows versions.
Firmware: 9.2.2 [release] | Device Protocol: 4.9.0 | User Config: 5.1.0 | Hardware Config: 1.0.0
- Make Agent work with macOS 13.3 and above.
- Make Agent compatible with NixOS.
- Always update smart macro documentation upon macro command changes.
- Add
--print-usb-devices
command line argument.
Firmware: 9.2.1 [release] | Device Protocol: 4.9.0 | User Config: 5.1.0 | Hardware Config: 1.0.0
- Add hidden advanced settings page, enabling I2C debugging and ANSI-ISO layout switching.
Firmware: 9.2.0 [release] | Device Protocol: 4.9.0 | User Config: 5.1.0 | Hardware Config: 1.0.0
- Fix scancode dropdown visibility in macros.
- Decrease the padding of select2 items.
- Make Agent work with hardened Linux kernels.
- Make smart macro documentation widgets visible only if a macro command is in focus.
- Don't auto-save user configuration when downgrading the firmware, allowing for firmware downgrades.
- Fix side menu revalidation after device reconnection.
- Allow executing smart macro commands with a script via the USB protocol.
DEVICEPROTOCOL:MINOR
Firmware: 9.1.4 [release] | Device Protocol: 4.8.0 | User Config: 5.1.0 | Hardware Config: 1.0.0
- After firmware updates, refresh the new firmware version number of the last updated module.
- Save macro command upon pressing Ctrl + Enter.
- Maximize macro delay action to 65 seconds.
Firmware: 9.1.2 [release] | Device Protocol: 4.8.0 | User Config: 5.1.0 | Hardware Config: 1.0.0
- Make Agent able to detect the UHK on M1 MacBooks and all Windows installations.
Firmware: 9.1.1 [release] | Device Protocol: 4.8.0 | User Config: 5.1.0 | Hardware Config: 1.0.0
- Support smart macros.
USERCONFIG:MINOR
- Support 12 layers.
USERCONFIG:MAJOR
- Expose device and module git and version properties.
DEVICEPROTOCOL:MINOR
- Add firmware update notification bar and screen.
- Save macro on Ctrl+Enter.
- Fix keypress capture which sometimes captured invalid keypresses.
- Scroll to bottom when a new macro item added.
- Improve key content rendering when there are two lines.
- Add screen brightness increase and decrease scancodes.
- Make sliders rounded.
- Add an empty keymap to the list of available keymaps.
- Only show the non-empty layers of available keymaps.
- Fix the exchanged Mod and Fn layers of the QWERTY for PC available keymap.
- Don't allow to create more than 255 macros according to firmware limits.
- Handle the \ character properly in the scancode field.
- Select the text content of the scancode dropdown when it gets opened.
- Make the capture keystroke button work even if the scancode dropdown is opened.
- Maximize scancode selector height.
- Fix device recovery mode.
- Fix the validation of the key action popover fields.
Firmware: 8.10.12 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- When adding a preset keymap, change the keymap switch actions that reference non-existing keymaps to none actions.
- Fix duplicate macro/keymap name generation when cloning macros/keymaps.
- Make the extra scrollbar not show when the new release notification appears.
- Fix the input field validation of mouse move and scroll actions when using arrows to set coordinate values.
- In the configuration history, show "Same as current" for current entries after the first "Current" entry.
Firmware: 8.10.12 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Allow arbitrary scancodes.
- Make the preloaded keymaps available for addition.
Firmware: 8.10.10 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Make the configuration saveable after deleting a macro that is referenced by a play macro action.
- Allow module recovery.
- Fix the position of the recording dot on the right button of the key cluster module.
- Add --devtools command line argument for debugging purposes.
Firmware: 8.10.9 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Fix firmware update issue that made the update start with an error and fail on some Windows installations.
- Make the firmware update log easier to read.
Firmware: 8.10.9 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Fix firmware recovery mode.
- Fix bug that made Agent sometimes not detect the UHK upon startup.
- Error out during firmware update if connecting to a module takes longer than 30 seconds.
- Fix check marks next to the modules when force-updating the same firmware version.
Firmware: 8.10.9 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Make the firmware update process only update the needed keyboard halves and modules and show the current update step.
Firmware: 8.10.8 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Make the firmware updater update connected modules.
- Make key swapping work via drag-and-drop for non-rectangular keys.
- Update the default user configuration and factory configuration so that "double tap to lock" is only enabled for the Mouse key.
- When a macro is deleted, don't jump to the first macro, but to the next one.
- When a macro items is edited, don't jump to the end of the macro.
Firmware: 8.10.7 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Fix the keymap action section of the key action popover.
- Make touchpad action customizable.
- Disallow the use of multiple UHKs with Agent by showing a dedicated screen.
Firmware: 8.10.5 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Support the UHK 60 v2.
- Show connected modules.
- Make the side menu always visible.
- Fix keyboard description edit bug.
- Fix duplicate keymap and duplicate macro name bug.
- Make auto-upgrade work even on the first start of Agent.
Firmware: 8.10.2 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Fix collapsed side menu glitch.
Firmware: 8.10.2 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Fix occasional macro editor bugs and improve macro editor responsive layout.
Firmware: 8.10.2 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Add dark mode theme option under the settings menu.
Firmware: 8.10.2 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Don't force udev rule updates when not necessary. This change makes Agent not hang upon startup in sandboxed process environments like NixOS.
Firmware: 8.10.1 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Fix the error message of the --reenumerate-and-exit command.
Firmware: 8.10.1 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Make the --reenumerate-and-exit command more resilient.
Firmware: 8.10.1 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Reduce overly large key labels so that they fit on keys.
- Add the --reenumerate-and-exit command line option.
Firmware: 8.10.1 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Allow key swapping by drag and dropping the keys to be swapped.
- Display numpad keys explicitly by prefixing them with "Np ", and add relevant icons where applicable.
- Upon importing a configuration, don't save it automatically but merely load it into Agent. The save to keyboard button saves the imported configuration.
- Upon restoring a configuration from the configuration history, don't save it automatically but merely load it into Agent. The save to keyboard button saves the restored configuration.
- Lay out mouse pointer speed and mouse scroll speed sections in two columns.
- Lay out the buttons horizontally on the device configuration page.
- Slightly improve the about page loading state by using a spinner and improving phrasing.
Firmware: 8.10.1 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Fix auto updater.
- Allow $+-*/|\<>?_'",`@={} keymap abbreviation characters appearing on the LED display. Depends on firmware 8.10.0
USERCONFIG:MINOR
- Fix side menu star icon vertical alignment.
- Make the undo notification not covered by other elements.
- Add command line logging categories.
- Remove double version number from the Mac release filename.
Firmware: 8.9.3 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Use Font Awesome 5 icons instead of Font Awesome 4.
- Update Agent icon and favicon.
- Don't stuck at the loading screen when on-board user configuration is invalid and there is no previous configuration saved by Agent.
Firmware: 8.9.0 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Display error message on OSX when encountering with problematic USB hubs and docking stations.
- Make Agent faster by only rendering a single layer at a time instead of all layers per keymap.
- Use improved Agent icons on the loading screen and in the sidebar.
- Make reordering macro actions only possible by dragging them by their handle icons.
- Show OS-specific modifier names in the secondary role select2.
- Display "Win" instead of the "Windows" modifier everywhere.
- Center-align the explanation text in the key action popover under Mouse speed.
- Fix the favicon of the web build.
Firmware: 8.8.1 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Make firmware updates on Linux much more stable.
Firmware: 8.8.1 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Add option to disable animations under the settings menu.
- Fix false "Your configuration occupies ${configSize} bytes, which is larger than the available 1 bytes ..." warning message.
- Make Agent properly start up when run by root on Linux.
Firmware: 8.8.0 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Revert to the previous udev rules which contain the uaccess method because it has actually better compatibility.
- Add the --preserve-udev-rules command line argument which can be used to not force udev rules update on problematic Linux distributions.
- Add the --help command line option which lists the available options and exits.
- Display macro shortcuts in LShift + LAlt + Tab format.
Firmware: 8.7.0 [release] | Device Protocol: 4.7.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Add configuration history section to the configuration page.
- Change udev rules for better compatibility with some Linux distributions.
- Fix sporadic "User configuration size is 0" error which happened upon switching to the configuration page.
- Make get-device-state.js display toggled layer state.
DEVICEPROTOCOL:MINOR
Firmware: 8.7.0 [release] | Device Protocol: 4.6.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Make udev rule update procedure reliable.
- Use the same udev rules as shown in the update instructions.
- Display out of space warning when relevant.
- Don't save too small window size.
Firmware: 8.7.1 [release] | Device Protocol: 4.6.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Fix Linux udev rule permissions, so that /dev/input event devices are not world readable/writable anymore. Agent checks the udev file, and overwrites the old one upon startup.
- Display the available on-board storage space on the device configuration page.
- Support tar.gz firmware files.
- Sanity-check firmware files before update.
- Provide more explicit firmware recovery message.
Firmware: 8.7.0 [release] | Device Protocol: 4.6.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Don't jump to the default keymap but stay on the current one upon merging or splitting the keyboard halves.
- Display an animated arrow pointing to the "Save to keyboard" button when showing it for the first time.
- Don't relist devices during firmware updates if the device list is unchanged.
- Make get-device-state.js display the actual layer.
DEVICEPROTOCOL:MINOR
Firmware: 8.6.0 [release] | Device Protocol: 4.4.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Add International 4 and International 5 scancodes.
- Fix digital signature issue on Mac OS 10.15 Catalina.
- Only display macro usage counts on hover.
- Add help tooltip for macro text actions.
- Improve the scancode tooltip of the key action popover.
- Improve the phrasing of firmware update messages and the firmware update error message.
Firmware: 8.6.0 [release] | Device Protocol: 4.4.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Fix Linux SUID issue by using the --no-sandbox Electron option.
- Fix keyboard description z-index issue.
- Fix macro keystroke modifier capture.
- Fix 1px select2 UI glitch in the key action popover.
- Gray out the current keymap in keymap tab dropdown list.
- Only animate the halves when they get merged or split.
Firmware: 8.6.0 [release] | Device Protocol: 4.4.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Use native kboot firmware update on Linux and Mac. Use blhost on Windows.
- Allow .tar.bz2 firmware file selection on Mac.
- Fix macro reordering.
Firmware: 8.6.0 [release] | Device Protocol: 4.4.0 | User Config: 4.1.1 | Hardware Config: 1.0.0
- Fix device recovery mode.
- Correctly display whether the UHK is detected.
- Animate keyboard splitting, merging, and the presence of the left half.
- Show all the 8 mouse buttons if firmware <=8.6.0 is used.
USERCONFIG:MINOR
- Don't disable input in the key action popover after adding a layer switch action, deleting it, and trying to edit it on its layer.
- Provide reasonable default mouse settings for Macs.
- Show per macro usage count when Alt is held.
- Don't change tab immediately upon closing the key action popover.
- Fix UI glitch that occurrs when hitting Tab after updating keymap description.
- Make the Agent icon slightly smaller to be consistent with most application icons.
- Redesign the About page.
- Link the UHK knowledgebase from the help page.
- Make the middle mouse button not open new windows on links in Agent.
- Add top auto-update notification bar.
- Save window state when closing Agent.
- Hide USB usage data in console.
Firmware: 8.5.3 [release] | Device Protocol: 4.4.0 | User Config: 4.0.1 | Hardware Config: 1.0.0
- When the firmware of the right keyboard half is larger or equal than 8.4.3 then display the "Lock layer when double tapping this key" checkbox and remove "... macro playback is not implemented yet..." notices.
- Upgrade to node-hid 0.7.3 which utilizes the hidraw USB driver on Linux instead of libusb.
- Update udev rules for the new hidraw based node-hid.
- Improve the "Cannot find your UHK" and the privilege escalation screens to show more relevant messages when transitioning from the libusb based node-hid to the hidraw based node-hid.
- Fix the rendering of macro actions, so that their text doesn't overlap.
- Add "International {1,2,3}" and "Language {1,2}" keypress actions.
- Add icon for the Play/Pause keypress action.
- Remove the Stop/Eject keypress action.
- Make the "Type text" macro action accept clipboard data on Mac.
- Display "You can't change this mapping because on the base layer a layer switcher key targets this key." in the key action popover whenever it applies.
- Fix UI bug which could be triggered by tapping Tab in the keymap abbreviation input.
- Don't trigger Agent shortcuts when capturing keypresses.
- Log USB device list before checking permissions.
- Show OS-specific modifiers in the title bar of macro actions.
- Only show the device list on Linux when the list actually changes.
Firmware: 8.2.5 [release] | Device Protocol: 4.4.0 | User Config: 4.0.1 | Hardware Config: 1.0.0
- Add backspace and caps lock icons which avoids the overlap of their old texts.
- Fix right and middle mouse click macro actions which were exchanged.
- Include Agent version to the firmware update log.
Firmware: 8.2.5 [release] | Device Protocol: 4.4.0 | User Config: 4.0.1 | Hardware Config: 1.0.0
- Add History Back and History Forward scancodes.
- Save the actual decelerated scroll speed instead of using the accelerated scroll speed by accident.
- Allow layer switcher secondary roles only on the base layer.
- When remapping modifiers, display a warning suggesting to remap them on all layers.
- Display more exact instructions on the permission setup screen.
- Set the decelerated scroll speed of the default configuration from 20 to 10.
- Map Caps Lock without Ctrl on default keymaps.
- Rename "Scroll Lock" to "ScrLk" and "Num Lock" to "NumLk" on keys to avoid text overlap.
- In the scancode select2, display "Print Screen SysRq" and add SysRq above PrtScn when rendering the key.
- Fix left and right direction titles for mouse movement macro actions.
Firmware: 8.2.5 [release] | Device Protocol: 4.4.0 | User Config: 4.0.1 | Hardware Config: 1.0.0
- Display OS-specific modifiers.
- Display secondary roles.
- Don't trigger "Remap on all layers" after leaving Agent with Alt+Tab.
Firmware: 8.2.5 [release] | Device Protocol: 4.4.0 | User Config: 4.0.1 | Hardware Config: 1.0.0
- Uncheck the "Remap on all keymaps" and "Remap on all layers" checkboxes of the key action popover by default.
- Bind left and right Shift on the Mouse layer of all keymaps in the default configuration.
- Make ng2-select2 widgets faster.
- Add note to the LED brightness page saying that current UHK versions are not backlit.
- Fix the padding of the secondary role tooltip.
- Remove the redundant scrollbar from the LED brightness page.
Firmware: 8.4.0 [release] | Device Protocol: 4.4.0 | User Config: 4.0.1 | Hardware Config: 1.0.0
- Fix Agent startup exception on Linux by upgrading Electron builder.
- Change the shortcut which enables the USB stack test code, so that it can be triggered with the default Mac US keymap.
Firmware: 8.4.0 [release] | Device Protocol: 4.4.0 | User Config: 4.0.1 | Hardware Config: 1.0.0
- Replace the Linux blhost binary with a statically compiled version that doesn't use special instructions and shouldn't segfault.
- Keep the current layer when changing keymaps.
- Fix the sleep key of Mac keymaps.
- Add help page.
- Add "save to keyboard" and "remap key" shortcuts.
- Build only AppImages for Linux.
- Replace ng2-select2 widgets with ngx-select-ex that always shows up in the correct position.
- Improve the phrasing of the firmware update error message.
- Tweak unsupported Windows firmware update notification.
- Hide the Settings menu until auto update is implemented.
- Don't scroll when the macro tab of the key action popover gets selected.
- Add keyboard shortcut for enabling the USB stack test mode of the firmware.
DEVICEPROTOCOL:MINOR
- Tone down the color of the separator line.
Firmware: 8.2.5 [release] | Device Protocol: 4.3.1 | User Config: 4.0.1 | Hardware Config: 1.0.0
- When remapping a switch keymap action on all keymaps, don't set it on its own keymap.
- Make the key action popover always contain the action of the current key, even after cancelled.
- Include the firmware version to be updated to the firmware update log.
- Update the Agent icon of the side menu and the about page.
- When remapping a key, only flash the affected key instead of all keys.
- Fade in/out the keyboard separator line only when splitting the keyboard.
- Only show the unsupported OS message of the firmware page on relevant Windows versions.
- Close and reopen USB device when an error occurs.
- Temporarily remove the export keymap feature because it's useless until import is implemented.
Firmware: 8.2.5 [release] | Device Protocol: 4.3.1 | User Config: 4.0.1 | Hardware Config: 1.0.0
- Replace Linux x86-64 blhost with a statically linked version which should make firmware updates work on every Linux distro.
Firmware: 8.2.5 [release] | Device Protocol: 4.3.1 | User Config: 4.0.1 | Hardware Config: 1.0.0
- Add checkboxes for remapping keys on all layers and/or all keymaps.
- Add separator line between the keyboard halves.
- Add double tap icon for switch layer actions.
- Improve the looks and content of the tooltips of the key action popover.
- Make the left keyboard half less likely to timeout during firmware update.
- Terminate the firmware update process if blhost segfaults.
- Replace the Linux x86-64 version of the blhost binary which should not make it segfault anymore.
- Make the firmware update log shorter by listing one device per line and not repeating the list of available USB devices.
- Make the firmware update help text shorter.
Firmware: 8.2.5 [release] | Device Protocol: 4.3.1 | User Config: 4.0.1 | Hardware Config: 1.0.0
- Offer recovery for bricked right keyboard halfs.
- Detect when the hardware configuration of a device is invalid and display a notification.
DEVICEPROTOCOL:PATCH
- Check if the keyboard is in factory reset mode and if so, display a relevant instruction.
- Only allow ASCII characters in type text macro actions.
- Allow uploading the same file multiple times in a row.
- Only send auto update notification when the user initiates the update.
- Update the firmware versions on the firmware update page right after firmware updates.
- Add a lot of useful instructions to the firmware page to help users update the firmware.
- Add the operating system and initial device list to the firmware update log.
- Add copy to clipboard button to the top right corner of the firmware update terminal widget.
Firmware: 8.2.2 [release] | Device Protocol: 4.3.0 | User Config: 4.0.1 | Hardware Config: 1.0.0
- Match for the new USB usage page and usage number. This is critical for UHKs flashed with firmware >=8.2.2 to be recognized by Agent on OSX.
- Make the config serializer handle long media macro actions.
USERCONFIG:PATCH
- Add note on the macro page explaining that the macro engine of the firmware is not ready yet.
- Add an example to the scancode tooltip to better explain users how to invoke non-US characters.
Firmware: 8.2.0 [release] | Device Protocol: 4.3.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Tweak the default mouse speed. This was necessary because the last firmware version adjusted speed multipliers. The mouse speed can be reset via the "Reset speeds to default" button of the "Mouse speed" page.
- Make the newly added switch-keymap.js script utilize the new UsbCommandId_SwitchKeymap, allowing for programmatic keymap switching.
DEVICEPROTOCOL:MINOR
Firmware: 8.1.5 [release] | Device Protocol: 4.2.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Don't allow to run multiple instances of Agent at the same time, but rather focus the already existing Agent window.
Firmware: 8.1.5 [release] | Device Protocol: 4.2.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Handle privilege escalation gracefully on Linux even without PolicyKit.
- Fix application icon path.
- Replace application icon with a diagonal gradient based icon that should look better on desktop.
- Make saving the configuration more robust, and add a configuration recovery screen.
- Reposition the ISO key in the scancode list.
Firmware: 8.1.5 [release] | Device Protocol: 4.2.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Show the firmware versions of the left and right keyboard halves on the firmware page.
- Fix menu scancode.
- Make the tooltip text regarding non-US characters easier to understand.
- On the Device Configuration page change terminology from download/upload to export/import for greater clarity.
Firmware: 8.1.4 [release] | Device Protocol: 4.2.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Fix the configuration serializer so that the correct key actions get serialized, and the save button always appears when needed.
- Add instructions to the firmware page to aid users.
- Fix code signing on OSX.
- Sign Agent on Windows.
Firmware: 8.1.2 [release] | Device Protocol: 4.2.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Sign Agent on OSX resulting in easier installation.
- Add per-keymap description field.
- Sort keymaps and macros alphabetically within the key action popover.
- Add tooltip regarding non-US scancodes.
- When deleting a macro, also delete the relevant play macro actions.
- Make the reset configuration button persist the reset configuration in Agent-web.
- Make Agent able to unbrick bricked modules.
- Assign "switch to test keymap" action on all keymaps in the default configuration.
- Add keymap descriptions in the default configuration.
Firmware: 8.1.0 [release] | Device Protocol: 4.2.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Only accept device, keymap, and macro names upon editing if their trimmed length is non-zero.
- Add diagnostics USB scripts, most notably /packages/usb/{get-i2c-health,set-i2c-baud-rate}.js, some utilizing new device protocol commands and properties.
DEVICEPROTOCOL:MINOR
- Implement the Device -> Upload device configuration feature.
- Make update-module-firmware.js more robust and able to recover bricked modules (including the left half) by utilizing the newly added wait-for-kboot-idle.js.
DEVICEPROTOCOL:MINOR
- Add the Agent -> About page containing the version number of Agent.
- On the mouse speed section of the key action popover, remove the now incorrect bottom sentence and slightly rephrase the top sentence.
- Remove --buspal speed specification argument because it gets disrespected by the firmware anyways.
- Fix get-left-firmware-version.js to display the correct firmware version.
Firmware: 8.0.0 [release] | Device Protocol: 4.0.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Add mouse speed settings.
Firmware: 8.0.0 [release] | Device Protocol: 4.0.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Add LED brightness settings.
- Some key actions, for example Left Arrow were displayed as text with modifiers and as icon without modifires. Now, they're always displayed as icons.
- Clean up firmware update console messages a bit.
- Remove the add keymap button because this feature is not only useless but confusing until it gets reimplemented.
- Explicitly mention on the macro tab of the key action popover that macro playback is not implemented yet.
- Downgrade to firmware 8.0.0 because the left I2C watchdog of firmware 8.0.1 is not proven yet.
Firmware: 8.0.1[release] | Device Protocol: 4.0.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Fix firmware upgrade on Linux.
Firmware: 7.0.0[release] | Device Protocol: 4.0.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- Fix Linux privilege escalation when udev rules aren't set up.
Firmware: 7.0.0[release] | Device Protocol: 4.0.0 | User Config: 4.0.0 | Hardware Config: 1.0.0
- First release