diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index e80d32a326..47d317e42b 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -2423,11 +2423,10 @@ static int lookupkey(int key) mpkey = lookup_keymap_table(keymap, key); // XFree86 keysym range; typically contains obscure "extra" keys - if (!mpkey && key >= 0x10080001 && key <= 0x1008FFFF) { + static_assert(MP_KEY_UNKNOWN_RESERVED_START + (0x1008FFFF - 0x10080000) <= + MP_KEY_UNKNOWN_RESERVED_LAST, ""); + if (!mpkey && key >= 0x10080001 && key <= 0x1008FFFF) mpkey = MP_KEY_UNKNOWN_RESERVED_START + (key - 0x10080000); - if (mpkey > MP_KEY_UNKNOWN_RESERVED_LAST) - mpkey = 0; - } return mpkey; } diff --git a/video/out/x11_common.c b/video/out/x11_common.c index 52e661f3f8..7099199e3a 100644 --- a/video/out/x11_common.c +++ b/video/out/x11_common.c @@ -831,11 +831,10 @@ static int vo_x11_lookupkey(int key) mpkey = lookup_keymap_table(keymap, key); // XFree86 keysym range; typically contains obscure "extra" keys - if (!mpkey && key >= 0x10080001 && key <= 0x1008FFFF) { + static_assert(MP_KEY_UNKNOWN_RESERVED_START + (0x1008FFFF - 0x10080000) <= + MP_KEY_UNKNOWN_RESERVED_LAST, ""); + if (!mpkey && key >= 0x10080001 && key <= 0x1008FFFF) mpkey = MP_KEY_UNKNOWN_RESERVED_START + (key - 0x10080000); - if (mpkey > MP_KEY_UNKNOWN_RESERVED_LAST) - mpkey = 0; - } return mpkey; }