Skip to content

Add missing key mappings for F15-F18 and Right Ctrl for Ayaneo Air 1S - #637

Open
bl1nk wants to merge 1 commit into
ShadowBlip:mainfrom
bl1nk:bl1nk/fix-ayaneo-air-1s-button-mappings
Open

Add missing key mappings for F15-F18 and Right Ctrl for Ayaneo Air 1S#637
bl1nk wants to merge 1 commit into
ShadowBlip:mainfrom
bl1nk:bl1nk/fix-ayaneo-air-1s-button-mappings

Conversation

@bl1nk

@bl1nk bl1nk commented Aug 5, 2026

Copy link
Copy Markdown

Hey! First contribution here.

I just updated to Bazzite 44 as there has been a call for testers.

The PR at #617 introduced an allowlist for keys. The Ayaneo Air 1S (7840U+780M) sends and expects:

  • LeftMeta + D -> QAM
  • RightCtrl + LeftMeta + F15 -> TopLeft
  • RightCtrl + LeftMeta + F16 -> TopRight
  • RightCtrl + LeftMeta + F17 -> Guide
  • RightCtrl + LeftMeta + F18 -> Keyboard

The only button that was working with the previous allowlist was QAM as RightCtrl and F15-F18 were not included. This commit adds those missing keys to the allowlist so that the Ayaneo Air 1S can properly be used with InputPlumber.

This allowlist matches the chord mapping in rootfs/usr/share/inputplumber/capability_maps/ayaneo_type4.yaml. I verified this using an override in

Partly fixes ublue-os/bazzite#5373


I verified this is working as expected by creating an override in /etc/inputplumber/devices.d/50-ayaneo_air_1s.yaml reflecting the diff of this PR. Also I tested what chord the device is sending by stopping inputplumber and running evtest.

@pastaq

pastaq commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Thanks, must have used the wrong map when figuring this out somehow.

Are the other keys in the allow list part of the mapping? If not we should remove them so they don't show up in the input test.

- Keyboard:KeyF18
- Keyboard:KeyLeftAlt
- Keyboard:KeyLeftCtrl
- Keyboard:KeyLeftMeta

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

KeyLeftAlt, KeyLeftCtrl, and KeyO don't appear in the capability map, so they should be removed at the same time.

Volume keys are fine because we want to expose those to the system.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right! I did not see it emit the O or LeftAlt and LeftCtrl keys so I removed them. Thanks for the review.

…rl to allowlist

The PR at ShadowBlip#617 introduced
an allowlist for keys. The Ayaneo Air 1S (7840U+780M) sends and expects:

- LeftMeta + D -> QAM 
- RightCtrl + LeftMeta + F15 -> TopLeft
- RightCtrl + LeftMeta + F16 -> TopRight
- RightCtrl + LeftMeta + F17 -> Guide
- RightCtrl + LeftMeta + F18 -> Keyboard

The only button that was working with the previous allowlist was QAM as
RightCtrl and F15-F18 were not included. This commit adds those missing
keys to the allowlist so that the Ayaneo Air 1S can properly be used
with InputPlumber. It also removes LeftAlt, LeftCtrl and O from the
allowlist as they are not used by the device.

This allowlist now matches the chord mapping in
rootfs/usr/share/inputplumber/capability_maps/ayaneo_type4.yaml

Fixes: ublue-os/bazzite#5373
@bl1nk
bl1nk force-pushed the bl1nk/fix-ayaneo-air-1s-button-mappings branch from 0a403dd to 88b8247 Compare August 5, 2026 17:52
@bl1nk
bl1nk requested a review from pastaq August 5, 2026 18:11
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.

Steam button and QAM-long-press unresponsive on Bazzite 44 on Ayaneo Air 1S

2 participants