gethiox / HIDI

flexible HID to MIDI translation layer
GNU General Public License v3.0
29 stars 1 forks source link

Macro keyboard unrecognised #7

Closed lukejagger closed 4 months ago

lukejagger commented 10 months ago

These macro keyboards are unrecognised, whether USB or BT connected.

https://www.amazon.co.uk/dp/B0C47G25D3/ref=sbl_dpx_uk-pc-accessories-keyboards_B0BP7BC8RD_0

This is the message: "failed to load config for device: unsupported device type: Unknown [dev=MINI_KEYBOARD]"

lukejagger commented 10 months ago

If you attach it while daemon is running, it just sees a mouse, not keyboard (and still doesn't bind to it). The macro keyboards have mouse and keyboard macro programming.

I added a user/keyboard toml file for it with: [identifier] # marking config as default as zero-value identifier Bus=0x0005 Vendor=0x05ac Product=0x022c Version=0x011b

and one for my Apple Magic trackpad (not sure if supported?):

[identifier] # marking config as default as zero-value identifier Bus=0x0005 Vendor=0x004c Product=0x0265 Version=0x0192

Screenshot_20240106_193918

/proc/bus/input/devices: I: Bus=0005 Vendor=05ac Product=022c Version=011b N: Name="MINI_KEYBOARD" P: Phys=10:68:38:aa:c9:1f S: Sysfs=/devices/virtual/misc/uhid/0005:05AC:022C.0037/input/input67 U: Uniq=ab:25:e9:46:98:dc H: Handlers=sysrq kbd mouse3 event10 leds B: PROP=0 B: EV=12001f B: KEY=3f00033fff 0 0 483ffff17aff32d bfd4444600000000 70001 130ff38b17d000 677bfad9415fed e19effdf01cfffff fffffffffffffffe B: REL=1943 B: ABS=100000000 B: MSC=10 B: LED=1f

gethiox commented 10 months ago

That's kinda exotic device, my project wasn't created in mind of it. Device detection code is a bit of clunky. I added a case that should cover keyboards with absolute and relative event bitmask which your device seems to provide. I'm not sure if knobs will work, take a look at the output with -loglevel 4 flag, if events will show up, you could try to create configuration for it similar to gamepad, but again, I'm not sure it will work. It's hard to develop blindly and I can't afford such device right now.

However, there are builds with a fix that should make your keyboard be supported by HIDI. HIDI-linux-amd64 HIDI-linux-arm64 HIDI-linux-arm-v6 HIDI-linux-arm-v7

Let me know if that's working for you

lukejagger commented 10 months ago

I added the new version, but my system downloaded a new linux-firmware this morning and both versions just do this now. Not sure why yet, or if it's related.

Screenshot_20240108_124401

If I sudo it works, and the new keyboard including knobs works :)

gethiox commented 10 months ago

usually standard user doesn't have direct access to input devices, for some reason raspberry pi your system has and something maybe changed, that's why it needs sudo. Good to know that your device works correctly now, I'm happy to hear that.

I want ask you for one more thing, could you prepare some useful general configuration for your device and share it?
I will release an update and I could include that configuration as factory preset.

lukejagger commented 10 months ago

Yes, I will set up a layer on this macro keyboard for MIDI. If I use the default keys it comes with, it will work for others too (it's highly configurable with an app).

These are the default factory keys in its app... defaults

lukejagger commented 10 months ago

BTW, it is only 20 dollar keyboard on some of the far east sites.

gethiox commented 4 months ago

Detection fixed in v1.2.0 release, thank you for opening the issue.