** Summary changed:

- KEY_F9.value should be 67 but 249
+ KEY_F9.value should be 67 but 249 (0xF9)

** Description changed:

  `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.
+ , so `libevdev.EV_KEY.KEY_F9` should be 67, however, it's 249 (== 0xF9) in 
Ubuntu 24.04's python3-libevdev.
  
  ```py
-                          # Ubuntu 22.04  Ubuntu 24.04
+                          # 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)
  ```

-- 
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 (0xF9)

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

Reply via email to