Skip to content

feat(keyboard): add F13-F24 entries - #35

Merged
ABeltramo merged 1 commit into
games-on-whales:stablefrom
4xMSAA:extendedfkeys
Mar 16, 2026
Merged

feat(keyboard): add F13-F24 entries#35
ABeltramo merged 1 commit into
games-on-whales:stablefrom
4xMSAA:extendedfkeys

Conversation

@4xMSAA

@4xMSAA 4xMSAA commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

Moonlight sends out keycodes 124-135 (scancodes 104-115) for F13-F24 keys, but the related entries are missing in keyboard.hpp.

I am rather new to the world of HID and platform differences, but I tested this setup with similar patches to Sunshine on my Moonlight (Linux) -> Sunshine (Linux) setup, and it successfully shows F13-F24 capabilities via evtest and prints them out. Hopefully doesn't break from different keyboard layouts or such...

Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xbeef product 0xdead version 0x111
Input device name: "Keyboard passthrough"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    ...
    Event code 142 (KEY_SLEEP)
    Event code 183 (KEY_F13)
    Event code 184 (KEY_F14)
    Event code 185 (KEY_F15)
    Event code 186 (KEY_F16)
    Event code 187 (KEY_F17)
    Event code 188 (KEY_F18)
    Event code 189 (KEY_F19)
    Event code 190 (KEY_F20)
    Event code 191 (KEY_F21)
    Event code 192 (KEY_F22)
    Event code 193 (KEY_F23)
    Event code 194 (KEY_F24)
    Event code 210 (KEY_PRINT)
    Event code 353 (KEY_SELECT)
    Event code 355 (KEY_CLEAR)
Event: time ***, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 183 (KEY_F13), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 183 (KEY_F13), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 184 (KEY_F14), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 184 (KEY_F14), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 185 (KEY_F15), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 185 (KEY_F15), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 186 (KEY_F16), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 186 (KEY_F16), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 187 (KEY_F17), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 187 (KEY_F17), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 188 (KEY_F18), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 188 (KEY_F18), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 189 (KEY_F19), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 189 (KEY_F19), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 190 (KEY_F20), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 190 (KEY_F20), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 191 (KEY_F21), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 191 (KEY_F21), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 192 (KEY_F22), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 192 (KEY_F22), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 193 (KEY_F23), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 193 (KEY_F23), value 0
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 194 (KEY_F24), value 1
Event: time ***, -------------- SYN_REPORT ------------
Event: time ***, type 1 (EV_KEY), code 194 (KEY_F24), value 0

@ABeltramo
ABeltramo merged commit 73e9fa1 into games-on-whales:stable Mar 16, 2026
12 checks passed
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