Skip to content

Add support for Aorus 16x and additional Fn key combinations#30

Open
sasa-tomic wants to merge 1 commit into
blmhemu:masterfrom
sasa-tomic:master
Open

Add support for Aorus 16x and additional Fn key combinations#30
sasa-tomic wants to merge 1 commit into
blmhemu:masterfrom
sasa-tomic:master

Conversation

@sasa-tomic

Copy link
Copy Markdown
Contributor

Extend the HID driver to handle more Fn key combinations:

  • Fn+F2: WiFi toggle (KEY_WLAN)
  • Fn+F5: Display switch (KEY_SWITCHVIDEOMODE)
  • Fn+F8/F9: Volume down/up via Consumer Control device
  • Fn+F11: Airplane mode (KEY_RFKILL)
  • Fn+F12: Programmable key (KEY_PROG1)
  • Fn+ESC: Fan control placeholder (KEY_PROG2)

Changes include:

  • Create dedicated input device for Fn key events
  • Find and use Consumer Control device for volume keys to enable proper desktop environment integration
  • Add ELAN0A04 touchpad identifier for Aorus 16X
  • Add proper remove callback for cleanup
  • Refactor code for consistency and maintainability
  • Use ARRAY_SIZE() macro and kernel coding style

The volume keys work correctly but may not show OSD on some desktop environments due to how they handle input events from non-native devices.

Tested on Aorus 16X (0414:8005).

Extend the HID driver to handle more Fn key combinations:

- Fn+F2: WiFi toggle (KEY_WLAN)
- Fn+F5: Display switch (KEY_SWITCHVIDEOMODE)
- Fn+F8/F9: Volume down/up via Consumer Control device
- Fn+F11: Airplane mode (KEY_RFKILL)
- Fn+F12: Programmable key (KEY_PROG1)
- Fn+ESC: Fan control placeholder (KEY_PROG2)

Changes include:

- Create dedicated input device for Fn key events
- Find and use Consumer Control device for volume keys to enable
  proper desktop environment integration
- Add ELAN0A04 touchpad identifier for Aorus 16X
- Add proper remove callback for cleanup
- Refactor code for consistency and maintainability
- Use ARRAY_SIZE() macro and kernel coding style

The volume keys work correctly but may not show OSD on some
desktop environments due to how they handle input events from
non-native devices.

Tested on Aorus 16X (0414:8005).
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.

1 participant