Мой новый ноутбук с сенсорным экраном не имеет кнопки меню (то есть та, которая ведет себя как щелчок правой кнопкой мыши) - та, что обычно рядом с правой клавишей Ctrl.
так как вы не можете щелкнуть левой кнопкой мыши, я пытаюсь создать настраиваемое сочетание клавиш для Alt GR для этой функции (в меню «Система»> «Клавиатура»> «Сочетания клавиш»> «Сочетания клавиш»)
При использовании xev
команды со встроенной клавиатурой (которая имеет кнопку меню), я обнаружил, что информация о кнопке:
KeyRelease event, serial 42, synthetic NO, window 0x4800001,
root 0xab, subw 0x0, time 2544690, (1236,607), root:(1302,1050),
state 0x0, keycode 135 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Тем не менее, я понятия не имею, что делать с этой информацией ...
Кстати, я использую Ubuntu 13.04.
Любая помощь будет наиболее ценной ...
13.04
keyboard
shortcut-keys
Исмаил Могул
источник
источник
Ответы:
Вам нужно включить вторичный клик (как прокомментировал AliNa) с помощью
gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"
или с помощью редактора dconf.Тогда возможно, что Ubuntu обрабатывает сенсорный экран частично как тачпад, когда прикосновение не вызывает нажатия мыши. Вместо этого вам нужно нажать + коснуться и удерживать.
источник
Просто продолжайте прикасаться к экрану в течение 2 или 3 секунд, и должно появиться так называемое «правильное меню». Это нормальный способ эмулировать щелчок правой кнопкой мыши на любом сенсорном экране.
источник
gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"
помощью или через Dconf Editor.Если у вас есть сенсорный экран Wacom (с драйвером
xf86-input-wacom
) и он поддерживает мультитач двумя пальцами, то щелчок правой кнопкой мыши приведет к следующему:Если он еще не работает, узнайте название продукта вашего сенсорного экрана
xinput --list
и включите эту функцию с помощью:Чтобы сделать это изменение постоянным, см. Мой другой ответ для техники.
В отличие от длинных нажатий правой кнопкой мыши в Gnome / Ubuntu Shell, это работает во всех средах рабочего стола, потому что это (устаревшая) функция уровня драйвера. Просто помните, что в некоторых программах это может вызвать проблемы с щелчком левой кнопкой мыши по сенсорному экрану , поэтому мне пришлось отключить его в моей системе.
источник
Для тех , кто имеет на ≣клавишу Меню на их клавиатуре, нота в вопросе об использовании , что для создания правой кнопкой мыши на самом деле отличная идея. Поскольку это не очевидно, вот как это работает:
Нажмите и удерживайте экран одним пальцем. Не отпускайте палец, так как это вызовет щелчок левой кнопкой мыши, что может привести к нежелательным последствиям в вашем приложении. Однако, нажатие и удержание аналогично нажатию и не отпусканию левой кнопки мыши, и обычно в приложении не происходит никаких действий. Но положение указателя мыши уже изменено на то, где мы хотим щелкнуть правой кнопкой мыши, именно поэтому мы делаем этот шаг.
Нажмите и отпустите ≣клавишу меню. Уже на событии нажатия клавиши срабатывает щелчок правой кнопкой мыши.
Очевидно, что эта техника требует двух рук, и это абсолютно невозможно на конвертируемых ноутбуках в режиме планшета. Так что он имеет ограниченное практическое использование.
источник
Из моих ответов на этот вопрос это мой личный фаворит.
Если у вас есть сенсорный экран, который поддерживает как минимум два пальца, вы можете установить
touchegg
и настроить его для интерпретации (например) касания двумя пальцами как щелчка правой кнопкой мыши. Я попробовал это под Lubuntu 18.10, и это работает.1. Установка
touchegg
доступно в репозиториях Ubuntu 18.10, поэтому вы можете установить его просто так:Чтобы начать, выполните
touchegg
. Выполняя его в терминале, вы можете по выходу проверить, правильно ли он распознает ваши мультитач-жесты.Для
touchegg
автоматического запуска каждого сеанса LXQt просто добавьте его в автозапуск (меню LXQt → «Настройки» → «Настройки LXQt» → «Настройки сеанса» → «Автозапуск»).2. Способы настройки
touchegg
Вы можете настроить
touchegg
двумя альтернативными способами:Конфигурация с помощью файла конфигурации. Отредактируйте файл
~/.config/touchegg/touchegg.conf
. Чтобы изменения вступили в силу, выполните следующие действия в терминале или в диалоговом окне Alt+ F2run:Конфигурация с графическим интерфейсом.
touchegg
имеет приятный графический интерфейс настройкиtouchegg-gui
, который можно увидеть здесь . Тем не менее, он не является частьюtouchegg
пакета Ubuntu. Кроме того, вы можете установить графический интерфейс,touchegg-gce
как описано здесь .touchegg-gce
работает, но вы должны вручную перезапуститьtouchegg
после сохранения изменений в его файле конфигурации, снова выполнив:3. Конфигурация для эмуляции щелчка правой кнопкой мыши
Чтобы настроить щелчок правой кнопкой мыши двумя пальцами, вы можете использовать этот файл конфигурации для
~/.config/touchegg/touchegg.conf
:Комментарии к
touchegg
конфигурации:Щелчок правой кнопкой мыши двумя пальцами, как показано выше, в настоящее время уже содержится в файле конфигурации по умолчанию, который входит в комплект поставки
touchegg
. (Ubuntu 18.10 здесь.)Программа будет ждать
composed_gestures_time
(дается в миллисекундах), чтобы вы выполнили свои действия для жестов, состоящих из нескольких частей (например, двойных нажатий), и только затем интерпретировать их. Таким образом, при использованииtouchegg
только для жестов, состоящих из одной части, например щелчка правой кнопкой мыши двумя пальцами, мы можем установить его так,0
чтобы предотвратить любую заметную задержку в действиях. Это также значение по умолчанию в файле конфигурации, созданномtouchegg
.По крайней мере, на моем сенсорном экране касание двумя пальцами не распознается при касании экрана двумя пальцами в одно и то же время. Но когда есть даже очень маленький промежуток времени (так что можно услышать два постукивания, вероятно, ≥10 мс), он работает надежно. Поэтому я просто перемещаю указательный и средний пальцы с небольшим вертикальным зазором к экрану, и он работает надежно.
Щелчок правой кнопкой будет срабатывать в том месте пальца (из двух в этом жесте), который первым касается экрана.
touchegg
позволяет интерпретировать все события, которые не были настроены для передачи до приложения под курсором. Это хорошо, потому что встроенный пинч-зум и т. Д., Реализованный, например, в Chromium, Chrome, Evince, работает намного плавнее, чем черезtouchegg
.touchegg
может использоваться вместе с (очень рекомендуется!) программным обеспечением для распознавания жестов одним касаниемeasystroke
без помех. Конечно, они не должны быть настроены для запуска одинаковыми событиями.4. Устранение неисправностей
touchegg
может перестать работать после цикла приостановки и возобновления. Мне все еще нужно найти способ, чтобы он автоматически перезагружался.По крайней мере, для меня и других ,
touchegg
будет интерпретировать только сенсорные события на сенсорном экране, а не на сенсорной панели. В этом случае это желательно. Это может быть связано с тем, что моя сенсорная панель использует драйвер, который не отображает события мультитач на X-сервере (synaptics
а неlibinput
). Вы можете проверить, к каким устройствамtouchegg
привязывается, запустив его сGEIS_DEBUG=3 touchegg
.Если
touchegg
для всех программ возникает своего рода «застрявшая половина щелчка», при котором касания будут перемещать указатель мыши, но больше не будут вызывать щелчки левой кнопкой мыши: это не нормальное поведение. В Ubuntu 18.10 с LXQt у меня сначала этого не было, но потом было несколько перезапусковtouchegg
и даже перезагрузок всего компьютера. Он исчез после запуска рабочего стола Ubuntu по умолчанию, а затем вернулся в LXQt.Исправление в
touchegg
файле конфигурации путем установки дополнительного жеста для касания одним пальцем исправит «застрявшую половину щелчка», но другиеtouchegg
ошибки, связанные с этой ошибкой, остаются, так что это не реальное исправление. Это неправильное поведение включает в себя то, что (1)touchegg
теперь будет также потребляться все события, для которых он не настроен, по крайней мере, для одного пальца, и (2) некоторые программыfreemind
на основе Java ( например) теперь будут страдать от обратной проблемы с «застрявшей половиной» щелчков ", где позиция курсора будет застревать, но щелчки левой кнопки мыши будут регистрироваться. Это временно исправляется с помощью действия двумя пальцами в Java-программе дляtouchegg
распознавания.источник
Вы можете использовать
easystroke
для создания щелчков правой кнопкой мыши с модификатором плюс тап, например Ctrl+ Alt+ тап. С дополнительной конфигурацией, это может быть доступно в одиночку только с сенсорным экраном, см. Ниже.Это очень хорошо, так как «модификатор плюс нажатие» в качестве щелчка правой кнопкой мыши не может быть сконфигурирован ни с одним из
touchegg
(не распознает модификаторы),mouseemu
(не распознает касания, поскольку у них нет кодов сканирования) илиxsetwacom "…" set Button 1 …
(не распознает касания, поскольку ввод пальцем не событие кнопки в драйвере).1. Установка
easystroke
Программа поддерживается только минимально, но в примечаниях к выпуску они ссылаются на недавний пакет Ubuntu, построенный на Ubuntu 18.04. Это хорошо сработало для меня (Ubuntu 18.10 здесь). Вы можете установить его следующим образом:2. Конфигурация
Запустите программу с
easystroke
.На второй вкладке «Настройки» нажмите «Кнопка жестов» и Ctrl+ Alt+ нажмите в сером поле. Ctrl+ Altкажется лучшим выбором модификатора, по крайней мере, в LXQt, потому что:
easystroke
.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
абсолютный путь.Добавьте еще один виджет быстрого запуска на панель LXQt. Хотя в принципе вы также можете изменить свой существующий, я обнаружил, что тот, который находится в правом нижнем углу экрана, является наиболее естественным для работы правой рукой, а также случайные нажатия будут показывать только дату (если это то, что находится рядом с осталось, как в моем случае) вместо запуска какого-то большого приложения.
Откройте
~/.config/lxqt/panel.conf
и настройте новый[quicklaunch2]
раздел для ссылки на ваш пользовательский.desktop
файл. Опять же, вы должны поставитьusername
. Пример, как это может выглядеть:Перезапустите панель LXQt, чтобы изменения вступили в силу. Для этого:
(Вы также можете выполнить
killall lxqt-panel && lxqt-panel
в диалоговом окне Alt+ F2запуск, но это будет мешать статусу панели, распознаваемой в вышеупомянутом диалоговом окне, и если вы смешаете оба метода, у вас будет две панели, работающие друг над другом, при этом на одной панели будет отсутствовать некоторая панель значки. Так что лучше не надо. Это все еще глючит.)Кроме того, если у вас есть специальные аппаратные кнопки на боковой стороне сенсорного экрана, вы можете назначить
xdotool keydown ctrl alt
команду для одной из них.4. Другие улучшения и устранение неполадок
Хорошим побочным эффектом является то, что вышеописанная техника для щелчков правой кнопкой мыши также позволяет одним рукой получить доступ ко всем другим жестам, которые вы, возможно, настроили
easystroke
. Это довольно мощная функция для автоматизации использования сенсорного экрана.При настройке других жестов
easystroke
учитывайте следующую ошибку:easystroke
не очищает выбранные вами модификаторы перед выполнением настроенного действия. Все типы действий «Ключ» и «Текст» приводят к комбинации клавиш вместе с Ctrl+ Altв приведенном выше случае, что делает их непригодными для использования. В качестве обходного пути вместо этого выберите тип действия «Команда» и удалите модификаторы самостоятельно, как описано выше. Таким образом, чтобы вызвать Ctrl+ V, команда будет:(
xdotool
Опция--clearmodifiers
здесь не помогает, так как она отключает только модификаторы во время комбинации клавиш для выполнения и повторно применяет их впоследствии. Что в этом случае может привести к следующему нажатию правой кнопкой мыши, как описано выше, но мы бы не хотели что в этом случае.)Если вы когда-либо застревали модификаторы во время тестирования, нажатие и отпускание клавиш-модификаторов на физической клавиатуре исправит это состояние.
Иногда во время тестирования этих вещей, мои LXQt мои события клавиатуры и мыши становились очень запутанными. В таком случае помог только выход из графической среды и повторный вход.
Самый простой способ реализовать операцию
easystroke
, выполняемую одним касанием, в том числе для случая щелчка правой кнопкой мыши, как это требуется здесь, состоит в том, что нажатие наeasystroke
значок панели переводит его в то же внутреннее состояние, что и значок пользовательской панели, настроенный выше, но без фактического изменения состояния модификатора клавиатуры, потому что это может привести к зависанию модификаторов и т. д. Чтобы показатьeasystroke
окно, нужно будет использовать контекстное меню значка его панели. Очевидно, что это требует некоторых изменений вeasystroke
коде.источник