Skip to content

Add support for AYANEO Konkr Fit #614

Description

@b3n0b1

Summary

Requesting controller support for the AYANEO Konkr Fit (HX470). Konkr is an
AYANEO sub-brand and the controller hardware appears to be identical to the
AYANEO 3
— so this may be as simple as adding a DMI match to an existing
device/capability config rather than a brand-new device. Flagging two quirks up
front (see Open questions): the right-side buttons come in over
a keyboard interface, and two physical buttons emit the same key code,
disambiguated only by a held modifier.

Happy to open the PR myself once we agree on the shape — I've already reverse
engineered the full button map on-device (table below) for a separate project, so
most of the data is ready.

Device identification

  • DMI product_name: KONKR FIT
  • Controller hardware: same as AYANEO 3
    • 1c4f:0002AYANEO COMPOSITE DEVICE. Carries the extra/back buttons and
      the right-side system buttons, exposed as keyboard keys.
    • 045e:028e — Xbox-style gamepad. Carries sticks, triggers, ABXY, d-pad, and
      the three left-side system buttons.
  • No detachable modules (no ayaneo-ec EC sysfs interface), unlike the AYANEO 3.

Button mapping (captured on-device)

Six system/face buttons surround the screen, plus four extra buttons (two rear
paddles + two LC/RC inner buttons).

# Physical button Source device Sends (evdev)
1 left-top gamepad (028e) BTN_MODE (316)
2 left-bottom-left gamepad (028e) BTN_SELECT (314)
3 left-bottom-right gamepad (028e) BTN_START (315)
4 right-top composite (0002) KEY_LEFTCTRL (29) + KEY_F23 (193)
5 konkr (right-btm-left) composite (0002) KEY_F23 (193) alone
6 right-bottom-right composite (0002) KEY_LEFTMETA (125) + KEY_D (32)
LC (left inner) composite (0002) KEY_F21 (191)
RC (right inner) composite (0002) KEY_F22 (192)
rear-left paddle composite (0002) KEY_L (38)
rear-right paddle composite (0002) KEY_R (19)

⚠️ #4 (right-top) and #5 (konkr) emit the same key (KEY_F23). right-top
additionally holds KEY_LEFTCTRL. A plain one-code → one-action map can't tell
them apart.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions