Forums » Bugs

RmlUi - Key events not sending identifiers for all keys

Sep 14, 2026 draugath link
It appears that the `keydown` and `keyup` events are not returning `key_identifiers` for all keys on the keyboard.

I am running Linux and my keyboard does not have all keys defined in "RmlUi/Core/Input.h", but I tested all of the ones that my keyboard does have.

In my testing, it has only been sending codes 1-37, 69, 70, 72, 81, 86-93, 98, 99, 107-118, 140. It did not differentiate KI_LCONTROL = 140 and KI_RCONTROL = 141. Both were reported as 140.

Pressing Shift and a key on the number row did not send an identifier.

The key modifiers "ctrl_key", "shift_key", and "alt_key" were working for me.
The key modifiers "meta_key", "caps_lock_key", "num_lock_key", "scroll_lock_key" remained as a value of 0 regardless of their state.

My OS may have superceded the game for "meta_key", since it immediately did OS stuff.

Through this testing, even though many keys did not send a key identifier through the event, they did display in the <input>. The keypad keys didn't do anything.

This was tested with the latest Linux client (vendetta-1.8.774)

[Pastebin] rmlkeyevents - main.lua
[Pastebin] rmlkeyevents - keyevents.rml
Sep 15, 2026 draugath link
Sorry, the keypad does partially work. The math symbols will print to the <input>. The other keys will print to the <input> when the numlock is on. I'm not sure if the Enter key is doing anything. None of they other keys appear to do anything when the numlock is off. Regardless of whether the keys are printing anything to the <input>, none of them are sending a key_identifier to the events.
Sep 15, 2026 raybondo link
Did all key events get sent in IUP?
Tue 09:40PM draugath link
Yes, I created an iup.canvas() that registers and uses the k_any and keypress_cb and all keys that did not send a key_identifier in RmlUi did send one in IUP. Even prssing the Caps Lock, Scroll Lock, and Num Lock registered a key press with a corresponding key id.

----------------------------------
Numlock On
Pressing 7 on the Keypad
canvas(userdata: 0x7f27c17644b0) - k_any Data:
    1: (number) 65463
canvas(userdata: 0x7f27c17644b0) - keypress_cb Data:
    1: (number) 65463
    2: (number) 1
canvas(userdata: 0x7f27c17644b0) - keypress_cb Data:
    1: (number) 65463
    2: (number) 0

Pressing the Numlock
canvas(userdata: 0x7f27c17644b0) - k_any Data:
    1: (number) 65407
canvas(userdata: 0x7f27c17644b0) - keypress_cb Data:
    1: (number) 65407
    2: (number) 1
canvas(userdata: 0x7f27c17644b0) - keypress_cb Data:
    1: (number) 65407
    2: (number) 0

Numlock Off
Pressing 7 on the Keypad
canvas(userdata: 0x7f27c17644b0) - k_any Data:
    1: (number) 65429
canvas(userdata: 0x7f27c17644b0) - keypress_cb Data:
    1: (number) 65429
    2: (number) 1
canvas(userdata: 0x7f27c17644b0) - keypress_cb Data:
    1: (number) 65429
    2: (number) 0
Tue 11:21PM draugath link
I forgot to test a few keys in IUP.
Left and Right Control keys both report as the same ID.
The Windows and Application keys both send an ID, even though the Windows key also does its assigned OS operation as well.
Interestingly, Left and Right Alt are reporting as different keys.