Вы можете использовать easystroke
для создания щелчков правой кнопкой мыши с модификатором плюс тап, например Ctrl+ Alt+ тап. С дополнительной конфигурацией, это может быть доступно в одиночку только с сенсорным экраном, см. Ниже.
Это очень хорошо, так как «модификатор плюс нажатие» в качестве щелчка правой кнопкой мыши не может быть сконфигурирован ни с одним из touchegg
(не распознает модификаторы), mouseemu
(не распознает касания, поскольку у них нет кодов сканирования) или xsetwacom "…" set Button 1 …
(не распознает касания, поскольку ввод пальцем не событие кнопки в драйвере).
1. Установка
easystroke
Программа поддерживается только минимально, но в примечаниях к выпуску они ссылаются на недавний пакет Ubuntu, построенный на Ubuntu 18.04. Это хорошо сработало для меня (Ubuntu 18.10 здесь). Вы можете установить его следующим образом:
wget http://openartisthq.org/easystroke/easystroke_0.6.0-0ubuntu8_amd64.deb
sudo apt install ./easystroke_0.6.0-0ubuntu8_amd64.deb
2. Конфигурация
Запустите программу с easystroke
.
На второй вкладке «Настройки» нажмите «Кнопка жестов» и Ctrl+ Alt+ нажмите в сером поле. Ctrl+ Altкажется лучшим выбором модификатора, по крайней мере, в LXQt, потому что:
- И Shift+ щелчок, и Ctrl+ щелчок уже используются для множественного выбора и станут недоступными для этого, если они назначены
easystroke
.
- Alt, SuperИ любая комбинация с участием Superне будет рассматриваться
easystroke
. Вероятно, это проблема конфигурации LXQt или Openbox, но я до сих пор не смог ее решить.
Под первой вкладкой «Действия» нажмите «Добавить действие».
Настройте свое действие с помощью «Тип: Команда» и «Детали: xdotool keyup ctrl alt; xdotool click 3
». Адаптируйте в соответствии с выбранными вами модификаторами.
В зависимости от модификаторов, очистка модификаторов в первую очередь важна для предотвращения побочных эффектов. Например, Shiftщелчок правой кнопкой мыши в Chrome приведет к выделению текста. Кроме того, явная очистка модификаторов необходима для предотвращения застревания модификаторов при запуске этих нажатий клавиш с помощью программного обеспечения (см. Раздел 3 ниже). Самостоятельная очистка модификаторов перед выполнением команды может считаться ошибкой easystroke
.
Нажмите «Записать ход» и запишите одно нажатие.
Вы можете отключить (здесь довольно бесполезные) всплывающие окна в «Настройки → Внешний вид → Показать всплывающие окна».
Вы можете ограничить это распознавание жестов только вашим сенсорным экраном и, возможно, пером устройства ввода в «Advanced → Devices».
Теперь Ctrl+ Alt+ коснитесь, чтобы создать щелчок правой кнопкой мыши.
Обратите внимание, что он easystroke
обладает отличным распознаванием жестов для жестов одним касанием («рисование фигур на экране»), которые можно использовать для автоматизации многих задач при использовании сенсорного экрана. Это его основная цель, в то время как эмуляция правой кнопкой мыши является лишь побочным эффектом.
3. Улучшение: только касание правой кнопкой мыши
Теперь давайте улучшим эту конфигурацию, чтобы вы могли запускать щелчки правой кнопкой мыши одной рукой и сенсорным экраном, (1) нажав на специальную экранную кнопку, которая будет означать «следующий щелчок правой кнопкой мыши» и (2) затем нажав на экране просто нормально.
Вот рецепт для Lubuntu (LXQt) и использования модификатора Ctrl+ Alt, выбранного выше, но принцип тот же во всех средах рабочего стола и со всеми модификаторами: настраиваемая запись быстрого запуска на панели.
Создайте пользовательский значок для записи быстрого запуска и сохраните его как ~/.icons/default/rightclick.png
.
Создайте пользовательский .desktop
файл и сохраните его как .local/share/applications/rightclick.desktop
со следующим содержимым. Обратите внимание, что вы должны указать username
абсолютный путь.
[Desktop Entry]
Name=Rightclick
Comment=Next tap is a rightclick via Ctrl + Alt + easystroke gesture.
Icon=/home/matthias/.icons/default/rightclick.png
Exec=xdotool keydown ctrl alt
Type=Application
Categories=System;Utility;
StartupWMClass=localdomain.rightclick
Добавьте еще один виджет быстрого запуска на панель LXQt. Хотя в принципе вы также можете изменить свой существующий, я обнаружил, что тот, который находится в правом нижнем углу экрана, является наиболее естественным для работы правой рукой, а также случайные нажатия будут показывать только дату (если это то, что находится рядом с осталось, как в моем случае) вместо запуска какого-то большого приложения.
Откройте ~/.config/lxqt/panel.conf
и настройте новый [quicklaunch2]
раздел для ссылки на ваш пользовательский .desktop
файл. Опять же, вы должны поставить username
. Пример, как это может выглядеть:
[quicklaunch2]
alignment=Left
apps\1\desktop=/home/username/.local/share/applications/rightclick.desktop
apps\size=1
type=quicklaunch
Перезапустите панель LXQt, чтобы изменения вступили в силу. Для этого:
- Перейдите в «Меню LXQt → Настройки → Настройки LXQt → Настройки сеанса».
- Выберите «Основные настройки → Модули LXQt → Панель».
- Нажмите «Стоп».
- Нажмите «Пуск».
(Вы также можете выполнить killall lxqt-panel && lxqt-panel
в диалоговом окне Alt+ F2запуск, но это будет мешать статусу панели, распознаваемой в вышеупомянутом диалоговом окне, и если вы смешаете оба метода, у вас будет две панели, работающие друг над другом, при этом на одной панели будет отсутствовать некоторая панель значки. Так что лучше не надо. Это все еще глючит.)
Кроме того, если у вас есть специальные аппаратные кнопки на боковой стороне сенсорного экрана, вы можете назначить xdotool keydown ctrl alt
команду для одной из них.
4. Другие улучшения и устранение неполадок
Хорошим побочным эффектом является то, что вышеописанная техника для щелчков правой кнопкой мыши также позволяет одним рукой получить доступ ко всем другим жестам, которые вы, возможно, настроили easystroke
. Это довольно мощная функция для автоматизации использования сенсорного экрана.
При настройке других жестов easystroke
учитывайте следующую ошибку: easystroke
не очищает выбранные вами модификаторы перед выполнением настроенного действия. Все типы действий «Ключ» и «Текст» приводят к комбинации клавиш вместе с Ctrl+ Altв приведенном выше случае, что делает их непригодными для использования. В качестве обходного пути вместо этого выберите тип действия «Команда» и удалите модификаторы самостоятельно, как описано выше. Таким образом, чтобы вызвать Ctrl+ V, команда будет:
xdotool keyup ctrl alt; xdotool key "ctrl+v"
( xdotool
Опция --clearmodifiers
здесь не помогает, так как она отключает только модификаторы во время комбинации клавиш для выполнения и повторно применяет их впоследствии. Что в этом случае может привести к следующему нажатию правой кнопкой мыши, как описано выше, но мы бы не хотели что в этом случае.)
Если вы когда-либо застревали модификаторы во время тестирования, нажатие и отпускание клавиш-модификаторов на физической клавиатуре исправит это состояние.
Иногда во время тестирования этих вещей, мои LXQt мои события клавиатуры и мыши становились очень запутанными. В таком случае помог только выход из графической среды и повторный вход.
Самый простой способ реализовать операцию easystroke
, выполняемую одним касанием, в том числе для случая щелчка правой кнопкой мыши, как это требуется здесь, состоит в том, что нажатие на easystroke
значок панели переводит его в то же внутреннее состояние, что и значок пользовательской панели, настроенный выше, но без фактического изменения состояния модификатора клавиатуры, потому что это может привести к зависанию модификаторов и т. д. Чтобы показать easystroke
окно, нужно будет использовать контекстное меню значка его панели. Очевидно, что это требует некоторых изменений в easystroke
коде.