LINUX.ORG.RU

Эмуляция правой кнопки мыши на тачскрине

 , ,


0

1

Имеется x86 планшет, на который установлен ArchLinux с KDE. Тачскрин нормально определился и работает. Во многих приложениях даже работают тач-специфичные вещи. Например, прокрутка в хроме и некоторых системных приложениях (скажем, диалог изменения фона рабочего стола). Поставил экранную клавиатуру kvkbd. В принципе получается вполне юзабельно, если сделать панельку пошире и выбрать «огромные» границы окон - в кнопочки попадать легко.

Только вот без правой кнопки мыши полноценно работать нельзя. На винде она эмулируется долгим тапом по тачскрину. А как сделать в Linux нечто подобное?

★★★★★

man evdev

Option «EmulateThirdButton» «boolean»
Option «EmulateThirdButtonTimeout» «integer»

Radius ★★★★ ()
Ответ на: комментарий от Radius
$ cat /etc/X11/xorg.conf.d/99-touchscreen.conf 
Section "InputClass"
        Identifier "touch_options"
        Driver "evdev"
        MatchProduct "Goodix Capacitive TouchScreen"
        Option "EmulateThirdButton" "1"
        Option "EmulateThirdButtonTimeout" "750"
        Option "EmulateThirdButtonMoveThreshold" "50"
EndSection

Сделал так. В xprop list-props изменения видны, но по факту долгий тап ни к чему не приводит.

KivApple ★★★★★ ()
Ответ на: комментарий от KivApple

долгий тап

Да ну их, эти долгие нажатия. Только с ритма сбивают.
Повесил на кнопку xprop >& /dev/null ; xvkbd -text "\m3" - УМВР.

arson ★★★★★ ()
Ответ на: комментарий от arson

На какую кнопку? Я хочу использовать тачскрин без клавиатуры.

KivApple ★★★★★ ()

тап двумя/тремя пальцами?

targitaj ★★★★★ ()
Ответ на: комментарий от KivApple

Option «EmulateThirdButtonMoveThreshold» «50»

Возможно слишком маленький радиус разброса выставил. Посмотри какое у тебя разрешение тачскрина и примерно прикинь масштаб области нажатия. А то знаешь кажется что на месте стилус держишь, а оно там бегает +-100500 по координатам.

Radius ★★★★ ()
Ответ на: комментарий от arson

Ты добавил на панельку кнопку, эмулирующую правый клик (а как же координаты мыши, где мы хотим сделать этот клик? они же слетят)? Или ты про кнопку с логотипом винды на корпусе планшета?

Кстати насчёт кнопок - хотелось бы узнать, каким образом можно повесить на хардварные кнопки какие-либо действия? Ну в смысле у меня есть кнопка питания, +- громкость и Win. Они сейчас не работают, хотелось бы, чтобы они делали что-нибудь полезное.

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

Ты добавил на панельку кнопку, эмулирующую правый клик (а как же координаты мыши, где мы хотим сделать этот клик? они же слетят)?

Дважды нужно ткнуть, сначала в кнопку, потом в нужное тебе место.

Кстати насчёт кнопок - хотелось бы узнать, каким образом можно повесить на хардварные кнопки какие-либо действия?

Проще всего средствами твоего WM/DE

Они сейчас не работают,

xev или showkey что-нибудь показывают? Качелька кнопки с кодами 114, 115 (99%)

чтобы они делали что-нибудь полезное.

Переключать fullscreen и переключаться между приложениями

arson ★★★★★ ()
Ответ на: комментарий от arson

xev или showkey что-нибудь показывают?

В том то и дело, что нет.

KivApple ★★★★★ ()
Ответ на: комментарий от KivApple

Опции ядра: INPUT_SOC_BUTTON_ARRAY, KEYBOARD_GPIO, PINCTRL_BAYTRAIL ?

Модули: gpio-keys, soc_button_array ?

arson ★★★★★ ()
Ответ на: комментарий от KivApple

тогда это из одной серии с клавишами подсветки, ловить их нужно через acpid или что там сейчас вместо него...

Долгий тап так и не заработал? Я сейчас проверил у себя на нетбуке, все прекрасно работает именно с этими опциями. Попробуй еще из секции убрать Driver «evdev», хотя по-идее оно мешать и не должно...

Radius ★★★★ ()
Ответ на: комментарий от arson

Опция PINCTRL_BAYTRAIL активна, остальные нет.

Ни одного модуля не загружено.

Мне следует пересобрать ядро с указанными модулями?

KivApple ★★★★★ ()
Ответ на: комментарий от KivApple

Мне следует пересобрать ядро с указанными модулями?

rmmod soc_button_array, кнопки отвалились, modprobe soc_button_array, кнопки появились.

Зачем ты столько тем создал? Чесно сказать, я задолбался по ним прыгать.

arson ★★★★★ ()
Ответ на: комментарий от arson

Удалил тему про кнопки, ибо всё равно тут обсуждаем. Разные же темы насчёт тормозов после запуска хрома, поддержки оборудования и эмуляция клика считаю правильными - эмуляция кнопки мыши не относится к аппаратным проблемам.

KivApple ★★★★★ ()
Ответ на: комментарий от arson

Так, получается, что soc_button_array отвечает за кнопки, значит нужно ядро с таким модулем...

KivApple ★★★★★ ()
Ответ на: комментарий от arson

Скомпилировал модуль soc_button_array. Сделал modprobe. В lsmod модуль имеется. При перезагрузки загружается автоматически, хотя я ничего нигде не прописывал (значит срабатывает автоопределение).

Однако xev на аппаратные кнопки по-прежнему не реагирует.

KivApple ★★★★★ ()
Ответ на: комментарий от KivApple

Скомпилировал модуль soc_button_array.

Ну теперь компилируй gpio-keys ;)

arson ★★★★★ ()
Ответ на: комментарий от arson

Его тоже скомпилировал, да (а иначе и нельзя было). Однако на modprobe gpio_keys ругается на необъявленный символ или неправильный параметр.

KivApple ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.