-
-
Notifications
You must be signed in to change notification settings - Fork 40.4k
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
HID Gamepad support #3903
Comments
I think anything that can be turn on/off using a DEFINE is welcome on qmk:) would have to be tested on all platforms, ARM and AVR, but we can help with that!:) |
So here is where I'm at right now : a-chol@50a059c |
this would be good to get working on arm as well! I imagine u need to get the adc working for that? |
Yeah, I haven't checked what is available in the drivers/arm folder. The only function I use from the avr folder is analogRead. |
yea we will need to set it up but its quite easy. have a google regarding chibios adc. there should be a hal library for it. I mean that after you get it working on avr. I can have a look and help you as well when the time comes |
Just like to voice my support for this! I am looking at building out a macropad + analog inputs device and would love to be able to use QMK for it. |
So this feature is materializing into PR #4226 .
My expectation was that the col was driven high when selected for reading, and when a switch is depressed, would drive the corresponding row input to high. After reading the code, I'm not sure I understand how the matrix scanning works anymore : columns are set to low when selected (?), the others are never set to high : what does it matter to have column if they are never high? does setting columns as "input high" output current on the pin? I must be missing some basic knowledge of how MCU IO pins work, so a short explanation of what I am missing would be great. |
You may want to check this out: https://docs.qmk.fm/#/hand_wire |
Thank you for the link. As I had understood,
Then I don't get why each of the columns in qmk's scan_matrix are set to low successively, which should correspond to writing a logical 0. |
IIRC, AVR doesn't support pulling high. But I'm not an expert with the hardware interface stuff, at all. |
So I figured some things out regarding the circuitry that is a bit "wrong" in the handwiring guide. |
@a-chol I presume this issue could be closed? |
the HID joystick feature should support this. |
Hello,
I am in the process of adding an analog stick to my keyboard (bminiex by winkeyless). I have researched current issues and the code repository and haven't found any previous work on the subject (apart from isolated work which doesn't seem to have been pushed into the main qmk repo)
I would like to expose it to the OS through an HID gamepad interface. The code works so far for this part, but it relies on modifications outside of my user keyboard configuration to add the gamepad HID interface to v-usb. Moreover, the key matrix could support sending HID gamepad button signals instead of keyboard events, which also requires changes inside qmk/tmk.
In this context, my issue is : does the qmk maintainers approve the integration of this feature?
or
To advocate for the latter, there is already support for mouse and MIDI interfaces, so gamepad doesn't seem out of place. Moreover, I have seen people asking for advice to create their own gamepad controller (for homemade arcades) and qmk could be a good approach on multiple counts.
What do you guys think about this?
The text was updated successfully, but these errors were encountered: