github UltimateHackingKeyboard/firmware v3.0.0
3.0.0

latest releases: v11.1.0, v11.0.2, v11.0.1...
6 years ago

Device Protocol: 2.0.0 | Module Protocol: 3.0.0 | User Config: 2.0.0 | Hardware Config: 1.0.0

  • Detect the use of USB interfaces and only wait for the ones that are actually used by the host.
  • Implement key debouncer.
  • Use the menu key in the factory keymap.
  • Make pressing the reset button revert to the factory preset.
  • Revert to the factory default state when the reset button is pressed upon firmware startup. Display FTY on the display in this case.
  • Make the LED display show the abbreviation of the current keymap even when it gets reinitialized by the I2C watchdog.
  • Swap SlaveCommand_RequestKeyStates and SlaveCommand_JumpToBootloader, thereby making SlaveCommand_JumpToBootloader the lower number because it's more essential and shouldn't change in the future. MODULEPROTOCOL:MAJOR
  • Suppress pressed keys upon layer switcher key release.
  • Handle secondary role modifiers and layer switchers.
  • Make UsbCommand_JumpToSlaveBootloader expect a slave slot id instead of a uhkModuleDriverId. DEVICEPROTOCOL:MAJOR
  • Set UsbResponse_InvalidCommand upon encountering with an invalid USB command. DEVICEPROTOCOL:MINOR
  • Remove UsbCommandId_ReadMergeSensor now that it can be queried via UsbCommandId_GetKeyboardState. DEVICEPROTOCOL:MAJOR
  • Make the getAdcValue and getDebugInfo USB commands utilize the first byte of the response to provide status as dictated by the UHK protocol. DEVICEPROTOCOL:MAJOR
  • Switch keymap only upon keypress.
  • Handle layer toggle actions.
  • Keep the active layer active even if another layer switcher key gets pressed while holding it.
  • Read the new UserConfig.userConfigLength user config field. USERCONFIG:MAJOR
  • Change Ctrl and Alt back according to the official UHK factory keymap.
  • Update system keyboard HID descriptor which doesn't make the pointer go to the top left corner on OSX anymore.
  • Scan keyboard matrices in a more efficient manner from timer interrupts instead of the main loop.
  • Add UsbCommand_SendKbootCommand. DEVICEPROTOCOL:MINOR
  • Make the reenumerate USB command accept a timeout value. DEVICEPROTOCOL:MINOR
  • Make the config parser read the device name. USERCONFIG:MAJOR
  • Update release file format containing device and module directories and hex files instead of srec.
  • Remove obsolete ARM GCC build files.

Don't miss a new firmware release

NewReleases is sending notifications on new releases.