Однако эмуляция не работает - события нажатия правой кнопки никогда не появляются. Вот пример 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 постепенно отключается.
Есть ли какая-то разница, если вы установите «Порог эмуляции третьей кнопки Evdev» (260): «50?
Leathe 9 лет назад
0
@ Leathe Нету. Кроме того, 20 пикселей - это уже достаточно большой порог, из-за этого иногда трудно выполнить небольшие действия прокрутки / перетаскивания.
Dmitry Grigoryev 9 лет назад
0
1 ответ на вопрос
0
Dmitry Grigoryev
В соответствии с этим и этим, эмуляция правого клика является распространенной проблемой в Debian Jessie, не ограничиваясь конкретным дистрибутивом. Обходной путь, который мне помог (на 10-точечном сенсорном экране), заключается в использовании утилиты twofing :
git clone https://github.com/Plippo/twofing sudo apt-get install build-essential libx11-dev libxtst-dev libxi-dev x11proto-randr-dev libxrandr-dev cd twofing; make ./twofing /dev/input/eventXX
eventXXустройство, соответствующее сенсорному экрану, которое можно найти с помощью xinput list. Событие щелчка правой кнопкой мыши выполняется нажатием двумя пальцами, и в качестве бонуса вы получаете жест прокрутки (перетаскивание двумя пальцами) и жест увеличения / уменьшения масштаба (щепотка двумя пальцами). Я не пробовал twofingс резистивным сенсорным экраном, но я полагаю, что он не будет работать, так как резистивные сенсорные экраны не поддерживают мультитач.