У меня есть устройство с сенсорным экраном, для которого я включил эмуляцию третьей кнопки в xinput
:
Device 'ft5x_ts':
...
Evdev Third Button Emulation (257): 1
Evdev Third Button Emulation Timeout (258): 750
Evdev Third Button Emulation Button (259): 3
Evdev Third Button Emulation Threshold (260): 20
...
Однако эмуляция не работает - события нажатия правой кнопки никогда не появляются. Вот пример вывода xev
:
ButtonPress event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2058845, (94,90), root:(96,117),
state 0x100, button 1, same_screen YES
MotionNotify event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2059658, (94,89), root:(96,116),
state 0x100, is_hint 0, same_screen YES
MotionNotify event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2060101, (94,89), root:(96,116),
state 0x100, is_hint 0, same_screen YES
ButtonRelease event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2060101, (94,89), root:(96,116),
state 0x100, button 1, same_screen YES
Как видите, интервал между ButtonPress
и ButtonRelease
превышает 750 мс, а перемещение указателя ниже порога 20 пикселей , однако xev
сообщает о нажатии кнопки 1, а не кнопки 3.
По иронии судьбы, когда я настраиваю USB-мышь таким же образом, длинные нажатия на кнопку 1 делают эмуляцию кнопки 3:
ButtonPress event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2870367, (48,82), root:(50,109),
state 0x0, button 3, same_screen YES
MotionNotify event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2870422, (49,81), root:(51,108),
state 0x400, is_hint 0, same_screen YES
ButtonRelease event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2870590, (49,81), root:(51,108),
state 0x400, button 3, same_screen YES
Кто-нибудь может мне помочь, возможно, указать на некоторые аномалии, которые я не заметил?
PS. Эмуляция третьей кнопки раньше работала с моим сенсорным экраном под Debian Wheezy и перестала работать, когда я обновился до Jessie. На данный момент я вернул свою последнюю резервную копию, чтобы вернуть установку Wheezy, но мне все еще нужно решение, поскольку Wheezy постепенно прекращает работу.