Public bug reported: `KEY_F9` is defined as 67 https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/noble/tree/include/uapi/linux/input-event-codes.h?h=Ubuntu-6.8.0-44.44#n142 , so `libevdev.EV_KEY.KEY_F9` should be 67, however, it's 249 in Ubuntu 24.04's python3-libevdev.
```py # Ubuntu 22.04 Ubuntu 24.04 import libevdev # libevdev.EV_KEY.KEY_F1 # 59 59 libevdev.EV_KEY.KEY_F2 # 60 60 libevdev.EV_KEY.KEY_F3 # 61 61 libevdev.EV_KEY.KEY_F4 # 62 62 libevdev.EV_KEY.KEY_F5 # 63 63 libevdev.EV_KEY.KEY_F6 # 64 64 libevdev.EV_KEY.KEY_F7 # 65 65 libevdev.EV_KEY.KEY_F8 # 66 66 libevdev.EV_KEY.KEY_F9 # 67 249 (!) libevdev.EV_KEY.KEY_F10 # 68 68 libevdev.EV_KEY.KEY_F11 # 87 87 libevdev.EV_KEY.KEY_F12 # 88 88 # Ubuntu 22.04 >>> import libevdev >>> libevdev.EV_KEY.KEY_F1 KEY_F1:59 >>> libevdev.EV_KEY.KEY_F2 KEY_F2:60 >>> libevdev.EV_KEY.KEY_F3 KEY_F3:61 >>> libevdev.EV_KEY.KEY_F4 KEY_F4:62 >>> libevdev.EV_KEY.KEY_F5 KEY_F5:63 >>> libevdev.EV_KEY.KEY_F6 KEY_F6:64 >>> libevdev.EV_KEY.KEY_F7 KEY_F7:65 >>> libevdev.EV_KEY.KEY_F8 KEY_F8:66 >>> libevdev.EV_KEY.KEY_F9 KEY_F9:67 >>> libevdev.EV_KEY.KEY_F10 KEY_F10:68 >>> libevdev.EV_KEY.KEY_F11 KEY_F11:87 >>> libevdev.EV_KEY.KEY_F12 KEY_F12:88 # Ubuntu 24.04 >>> import libevdev >>> libevdev.EV_KEY.KEY_F1 KEY_F1:59 >>> libevdev.EV_KEY.KEY_F2 KEY_F2:60 >>> libevdev.EV_KEY.KEY_F3 KEY_F3:61 >>> libevdev.EV_KEY.KEY_F4 KEY_F4:62 >>> libevdev.EV_KEY.KEY_F5 KEY_F5:63 >>> libevdev.EV_KEY.KEY_F6 KEY_F6:64 >>> libevdev.EV_KEY.KEY_F7 KEY_F7:65 >>> libevdev.EV_KEY.KEY_F8 KEY_F8:66 >>> libevdev.EV_KEY.KEY_F9 KEY_F9:249 >>> libevdev.EV_KEY.KEY_F10 KEY_F10:68 >>> libevdev.EV_KEY.KEY_F11 KEY_F11:87 >>> libevdev.EV_KEY.KEY_F12 KEY_F12:88 ``` A workaround is simply set `libevdev.EV_KEY.KEY_F9.value = 67`. ```py import libevdev fd = open('/dev/input/by-path/platform-i8042-serio-0-event-kbd', 'rb') d = libevdev.Device(fd) uinput = d.create_uinput_device() uinput.send_events([libevdev.InputEvent(libevdev.EV_KEY.KEY_F9, 1), libevdev.InputEvent(libevdev.EV_SYN.SYN_REPORT, 0)]) # press F9 (not work) uinput.send_events([libevdev.InputEvent(libevdev.EV_KEY.KEY_F9, 0), libevdev.InputEvent(libevdev.EV_SYN.SYN_REPORT, 0)]) # release F9 (not work) libevdev.EV_KEY.KEY_F9.value = 67 # workaround uinput.send_events([libevdev.InputEvent(libevdev.EV_KEY.KEY_F9, 1), libevdev.InputEvent(libevdev.EV_SYN.SYN_REPORT, 0)]) # press F9 (works) uinput.send_events([libevdev.InputEvent(libevdev.EV_KEY.KEY_F9, 0), libevdev.InputEvent(libevdev.EV_SYN.SYN_REPORT, 0)]) # release F9 (works) ``` ** Affects: python-libevdev (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2080804 Title: KEY_F9.value should be 67 but 249 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/python-libevdev/+bug/2080804/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs