isXander / isXander/Controlify
Analog keyboard support
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 341
- Forks
- 97
- Avg merge
- 1h
- Merged PRs (30d)
- 1
Description
Is your feature request related to a problem? Please describe.
There are keyboards that can send analog input (from the brands like Wooting, Razer, Keychron, NuPhy, DrunkDeer, Madlions and many more). Currently there is no way to use that input to the full potential in Minecraft. Emulation controller inputs can be very buggy, is not supported by all keyboard brands and shows unnecessary controller UI.
Describe the solution you'd like
Wooting makes an analog SDK to easily read the analog values from their keyboards. There is also a universal analog plugin for this SDK. So, by integrating with wooting-analog-sdk (if available on a system) you can support most of analog keyboards with one simple API.
Describe alternatives you've considered
Mods like AnalogMovement talk to the keyboard directly which significantly limits the number of supported devices. Also they are not updated very often.
Additional context
The SDK repo also has a virtual keyboard app to test the integration without owning an actual analog keyboard
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No project files or tests are named. Start by reviewing Controlify's existing input integration and the linked wooting-analog-sdk and universal-analog-plugin documentation; use the SDK's virtual keyboard for testing. Done should mean analog values from supported keyboards can be used in Minecraft without controller emulation or controller UI.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100