Skip to content

Conversation

@gethiox
Copy link
Owner

@gethiox gethiox commented Jul 25, 2022

  • OpenRGB support for arm-v6/v7, arm64 and amd64
  • YAML configurations for devices. automatic reload on user configuration changes
  • note collision handlers
  • Monitoring of input handlers is now a magnitude more efficient
  • Graceful app termination
  • greatly improved speed of application start and termination
  • Fixed input device grabbing for exclusive usage
  • CC learn action - easier way to learn CC with unstable analog input, also useful for multi-axis analog sticks
  • configurable deadzones for analog input
  • analog events throttling
  • improved overall performance when logging is disabled
  • Precompiled builds for various platforms
  • Embedded config directory, if config directory doesn't exist, application will create default one
  • Automatic update of factory configurations (if there are new ones or modified).
  • Support for optional HD44780 screen (20x4) for displaying statistics
  • Relatively good default configurations for keyboards and gamepads
  • informative and eye-candy debug/logging
gethiox added 30 commits April 16, 2022 15:57
…, event per second) - yaml device configurations - dynamic device configurations reload on config change
- add "Control" midi mapping for default keyboard config (unique midi events for every popular key) - removed unused code from input package - add source handler identifier for input events
- initial analog event throttling implementation - configurable throttling, defining maximum update frequency - simulating note events out of analog events - ability to bind two different notes for positive and negative analog values - bugfix in StringToNote function, test coverage added
- remove a lot of unused code because of that (rip tests) - device information based fully on go-evdev library instead of parsing /proc/bus/input/devics - added ascii pony on program termination
things implemented so far: - basic analog input throttling (contain minor bug in logic) - add midi key and action key emulation for analog events - fully configurable device mappings with yaml configuration files - automatic configuration reload on config changes on filesystem - CC events for analog input now gives an option to emulate different CC events on the same axis (may be useful for analog sticks only (-1.0 - 1.0 range), not so much for triggers (0.0 - 1.0 range)) - same goes for midi key emulation, really useful for D-pad (it is visible as analog input) - improved initialization speed, virtual midi devices are practically ready to use in less than few hundred milliseconds - graceful program termination, application can stop almost immadietelly after SIGINT, safely waiting for all task to be done - fixed device grabbing in go-evdev library - small code reorganization which make much more sense - remove logg package - fix PitchBendEvent function, it was working in the 0.0 - 1.0 range instead of -1.0 - 1.0
gethiox added 22 commits July 1, 2022 07:05
- add initial OpenRGB support: - include precompiled binaries for specific targets/platforms when `openrgb` tag is used - display activate notes of external midi input - add factory device configurations for hyperx alloy elite 2 and razer ornata chroma with OpenRGB support - add default state configuration section - change default configuration for mapping and channel control - extend Chromatic mapping, add "numpad drumpad" for Chromatic and Piano mappings, add debug mapping - update device configuration documentation - rename config directory from `config` to `hidi-config` - implement sluggish workaround for infinitely growing internal go-cui buffer (logging) - general existing code quality improvements - fix device type evaluation and normalization - add/fix logging for device handler Grab operation - temporary removal of multinote mode, to be implemented as a proper midi effect in the future - collision modes fixes - temporary midi input processing workaround
@gethiox gethiox self-assigned this Jul 25, 2022
Copy link
Owner Author

@gethiox gethiox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty good overall 👍, please address leaved comments.

@gethiox gethiox merged commit 956b3e1 into main Jul 26, 2022
@gethiox
Copy link
Owner Author

gethiox commented Jul 26, 2022

Thank you for your contribution

@gethiox gethiox deleted the dev branch July 26, 2022 01:19
gethiox added a commit that referenced this pull request Jul 1, 2024
- OpenRGB support for arm-v6/v7, arm64 and amd64 - YAML configurations for devices. automatic reload on user configuration changes - note collision handlers - Monitoring of input handlers is now a magnitude more efficient - Graceful app termination - greatly improved speed of application start and termination - Fixed input device grabbing for exclusive usage - CC learn action - easier way to learn CC with unstable analog input, also useful for multi-axis analog sticks - configurable deadzones for analog input - analog events throttling - improved overall performance when logging is disabled - Precompiled builds for various platforms - Embedded config directory, if config directory doesn't exist, application will create default one - Automatic update of factory configurations (if there are new ones or modified). - Support for optional HD44780 screen (20x4) for displaying statistics - Relatively good default configurations for keyboards and gamepads - informative and eye-candy debug/logging
gethiox added a commit that referenced this pull request Jul 1, 2024
- OpenRGB support for arm-v6/v7, arm64 and amd64 - YAML configurations for devices. automatic reload on user configuration changes - note collision handlers - Monitoring of input handlers is now a magnitude more efficient - Graceful app termination - greatly improved speed of application start and termination - Fixed input device grabbing for exclusive usage - CC learn action - easier way to learn CC with unstable analog input, also useful for multi-axis analog sticks - configurable deadzones for analog input - analog events throttling - improved overall performance when logging is disabled - Precompiled builds for various platforms - Embedded config directory, if config directory doesn't exist, application will create default one - Automatic update of factory configurations (if there are new ones or modified). - Support for optional HD44780 screen (20x4) for displaying statistics - Relatively good default configurations for keyboards and gamepads - informative and eye-candy debug/logging
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants