Skip to content

Konkr button profiles#331

Open
b3n0b1 wants to merge 5 commits into
hhd-dev:masterfrom
b3n0b1:konkr-button-profiles
Open

Konkr button profiles#331
b3n0b1 wants to merge 5 commits into
hhd-dev:masterfrom
b3n0b1:konkr-button-profiles

Conversation

@b3n0b1

@b3n0b1 b3n0b1 commented Jun 21, 2026

Copy link
Copy Markdown

Heads-up: this one's fairly Konkr-Fit-specific 🙏

Fair warning — this PR is admittedly pretty specific to the AYANEO Konkr Fit, so I completely understand if it's more than you'd want upstream. Posting it in case it's useful, and very open to feedback / reworking it however you'd prefer.

The Konkr has six system/face buttons around the screen, and a couple are awkward to map:

  • right-top and the konkr logo button both emit the same keycode (F23) — right-top just also holds Ctrl — so a plain one-code→one-action map can't tell them apart.
  • The gamepad BTN_MODE and the composite-keyboard F23/Ctrl+F23/Meta+D keys don't line up with any existing fixed mapping.

So instead of hardcoding a layout, this adds a per-button "Konkr Button Map" with a dropdown for each of the six buttons:

  • I tried to reuse the action values/labels from overlay/shortcuts.yml rather than invent my own (hhd_qam, hhd_expanded, steam_qam, etc.) — but I'm not sure I picked the right ones in every case, so please correct me on naming.
  • The right-top/konkr F23 collision is split by a small ChordGamepadEvdev that latches the resolved action on press (so it can't get stuck if Ctrl releases first).
  • Everything is gated behind a face_remap dconf flag, so the AYANEO 3's identical gamepad buttons are never touched.
  • The standard Aya Button Map (swap_guide) dropdown is hidden on the Konkr since the per-button map supersedes it.

Totally understand if the scope or approach isn't what you'd want — happy to adjust, or to keep this downstream-only. Thanks for taking a look either way!

b3n0b1 and others added 5 commits June 21, 2026 08:47
The AYANEO Konkr Fit reports DMI product_name 'KONKR FIT' (vendor 'KONKR')
and uses the same controller hardware as the AYANEO 3 (1c4f:0002 composite
+ 045e:028e gamepad), so it is not autodetected. Add a CONFS entry. It has
no detachable modules (no ayaneo-ec EC interface) and two back paddles, so
magic_modules is omitted and extra_buttons is set to dual. The paddles emit
KEY_L/KEY_R, which the existing driver already maps to extra_l1/extra_r1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Konkr Fit has four extra buttons (two rear paddles emitting KEY_L/KEY_R
-> extra_l1/r1, plus LC/RC emitting KEY_F21/F22 -> extra_l2/r2), so use
extra_buttons=quad. Its main system button is the gamepad BTN_MODE; map it
to the guide/Steam button (mode) instead of the QAM/overlay (share) via a
new mode_is_guide dconf flag, leaving the AYANEO 3 behaviour unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a "Konkr Button Map" section with a dropdown per system/face button
(Steam/Guide, QAM, Select, Start, Disabled). Right-top (Ctrl+F23) and konkr
(F23) share a keycode, so split them with a new ChordGamepadEvdev that
latches the resolved action on press. Gated behind a face_remap dconf flag
so the AYANEO 3's identical gamepad buttons are untouched. Documents the
hardware layout and evdev codes in KONKR.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds two direct-emit actions to the Konkr Button Map dropdowns: HHD Overlay
(open_expanded) and HHD Side Menu (open_qam). They are sentinel codes the
multiplexer turns into the matching special event immediately, bypassing the
multi-tap QAM state machine so the binds are deterministic. Replaces the
ambiguous "share" option; right-bottom-right now defaults to HHD Side Menu.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Align the Konkr Button Map dropdowns with HHD's official shortcut vocabulary
from overlay/shortcuts.yml: Steam Side Menu (steam_qam), Steam Overlay
(steam_expanded), HHD Side Menu (hhd_qam), HHD Overlay (hhd_expanded). Fixes
the previously invented value hhd_overlay -> hhd_expanded and label "HHD QAM"
-> "HHD Side Menu". Adds Steam's own QAM/overlay as options.

Hide the standard Aya Button Map (swap_guide) on the Konkr since the
per-button map supersedes it; base.py falls back to swap_guide=oem (no swap).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@antheas

antheas commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

This will take a bit to review. It is quite large

@b3n0b1

b3n0b1 commented Jun 22, 2026

Copy link
Copy Markdown
Author

@antheas this is a stacked PR on #330
That's a smaller one that's simple and most likely uncontroversial if you want to look at that first. Would make the boyz on discord happy.

This one could probably use some DRYness / cleanup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants