ShadowBlip / HandyGCCS

Handheld Game Console Controller Support (Handy Geeks) for Linux
GNU General Public License v3.0
81 stars 30 forks source link

Add Ayaneo KUN #135

Closed 0SkillAllLuck closed 11 months ago

0SkillAllLuck commented 11 months ago

Add the Ayaneo KUN. Seems like most stuff is the same from the Ayaneo 2S series.

The full list of keycodes is:

pastaq commented 11 months ago

Thanks for adding this. A couple notes.

0SkillAllLuck commented 11 months ago

~evtest only shows 97 and 125, dmesg shows a Unknown key released (translated set 2, code 0x69 on isa0060/serio0). so I guess it is sending a numlock event as well. Any idea how to map this @pastaq?~

And yeah there are two buttons on each side on the bottom, left has the X-Box view and menu buttons. The right side has the big AYA button and a small = button.

Thought to bind AYA to the MODE button to make it similar to how it works under windows. But wasting a button would be stupid I guess. But using the two top buttons for MODE and QAM works as well.

0SkillAllLuck commented 11 months ago

So thinking the following layout:

And keeping the other buttons as they are as the labels on them will nicely match their function.

pastaq commented 11 months ago

4.jpg

_AYANEO_KUN_____PPT___._025.jpg

Looking at the images here, I just want to make sure we're on the same page with each button.

The top two buttons are labeled LC/RC The back buttons are labeled LC1/LC2 & RC1/RC2 the front buttom right has the traditional Aya space and what we've been calling "Aya small"

There should be 8 mappable buttons total, unless they changed the design?

In addition, there are three buttons we can leave alone on the face, top left is mode, bottom left has view and menu. What is top right on the face?

Another thing, does mode come from the controller device or the at keyboard?

0SkillAllLuck commented 11 months ago

Haven't looked at the back buttons yet, but they worked ingame so guess they are already mapped somehow.

The complete left side of the devices front buttons seem to already use standard keycodes (LC: 316, View: 314, Menu: 315).

Top right is the "T" button, so mapped it to the QAM, but the keycodes are 97, 125, 185 after mapping them.

pastaq commented 11 months ago

Haven't looked at the back buttons yet, but they worked ingame so guess they are already mapped somehow.

That's interesting. Can you see what they produce under evtest ?

The complete left side of the devices front buttons seem to already use standard keycodes (LC: 316, View: 314, Menu: 315).

By LC do you mean the front face button or the second shoulder button inboard to the LB? I believe LC/R stands for Left/Right Center

Top right is the "T" button, so mapped it to the QAM, but the keycodes are 97, 125, 185 after mapping them.

The face button in white?

pastaq commented 11 months ago

ayaneo Lets use this for common reference

0SkillAllLuck commented 11 months ago

So it would be: LC: Screenshot RC: OSK T: QAM AYAspace: Open Chimera AYA small: ESC

Or after change from discord: LC: Screenshot RC: OSK T: Open Chimera AYAspace: MODE (maybe allow remap in config) AYA small: QAM

pastaq commented 11 months ago

Looks good. I'll work with AYANEO to find a way to map the back buttons. If they aren't willing we might need to find a way to reverse engineer it. I suspect a kernel driver and settings daemon would be needed for full support, which would be out of scope for this project, but it's something that might be necessary considering every device since the AIR has the ability to adjust vibration intensity and some button mapping of some kind.