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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs