CTCaer / hekate

hekate - A GUI based Nintendo Switch Bootloader
GNU General Public License v2.0
6.35k stars 559 forks source link

Enable Home & Screenshot buttons in USB Gamepad #983

Open benwa opened 1 week ago

benwa commented 1 week ago

I see that you have the Home and Screenshot buttons disabled for USB Gamepad mode. Is there any reason as to why it can't be enabled?

https://github.com/CTCaer/hekate/blob/c321d3508cc757cf4d6a0800e6bc90838cc05830/bdk/usb/usb_gadget_hid.c#L290-L291

CTCaer commented 1 week ago

This was done to limit the buttons at the standard number like all gamepads and also save 1 byte on the hid report. Normally anything that supports dinput automatically maps these properly. For the rest, x360ce exists.

If there's popular demand, it can be changed. But only then, since I will have to re-read the usb hid spec and change the usb hid report descriptors.

benwa commented 1 week ago

At least with Steam, those two buttons did not automatically map, so I can't natively bring up the menu.

Any chance to have it as an optional feature?

CTCaer commented 1 week ago

You can't map them in host because they are not even reported, because of the reasons I said.

benwa commented 1 week ago

Oh I understand, I was replying to the dinput comment

On Tue, Jun 18, 2024, 11:20 CTCaer @.***> wrote:

You can't map them in host because they are not even reported, because of the reasons I said.

— Reply to this email directly, view it on GitHub https://github.com/CTCaer/hekate/issues/983#issuecomment-2176498564, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKJ7E4KSPKGQOUEKVD2FYDZIBM5PAVCNFSM6AAAAABJOUT56SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZWGQ4TQNJWGQ . You are receiving this because you authored the thread.Message ID: @.***>

CTCaer commented 1 week ago

The dinput comment means that normally software maps all these 8 buttons automatically. Not the ones (cap/home) that are not reported and so they don't know that even exist.

benwa commented 1 week ago

Ah, gotcha. I'll check a few Discord servers to see if anyone is using the feature and is interested in this.

Thank you for the great work!