- Notifications
You must be signed in to change notification settings - Fork 1
HIDI 0.9-beta #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Owner
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
…, 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
- 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 commented Jul 25, 2022
Owner Author
gethiox left a comment
There was a problem hiding this 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.
Owner Author
| Thank you for your contribution |
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
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.