Вопрос Как назначить среднюю кнопку нажатием определенной клавиши на моем ноутбуке?


Как я могу прикрепить среднюю кнопку к конкретному ключу на моем ноутбуке? Я могу сделать среднюю кнопку, если я коснусь верхнего правого угла сенсорной панели, но я хотел бы связать ее с ключом, например клавишей «windows» или «menu».

Есть ли способ сделать это?

Текущий ответ не работает для Ubuntu 11.10 с классическим gnome-отказоустойчивым рабочим столом. Мне нужен кто-то, чтобы понять, как это можно сделать для обновленной версии Ubuntu.


7
2018-05-25 23:13


происхождения




ответы:


Чтобы переназначить меню вам нужно будет сделать следующее.

установить предварительные условия

Установить пакет xkbset:

sudo apt-get install xkbset

определить раскладку клавиатуры

Затем вам нужно определить, какую клавиатуру вы используете. В моем случае гигабайт для раскладки клавиатуры британского / объединенного королевства или нас для США

setxkbmap -layout gb

Примечание: если вы запустите

setxkbmap -query

он даст вам результат следующим образом: если модель и макет - ваша клавиатура, то вы используете правильный макет

rules:      evdev
model:      pc105
layout:     gb

Затем определите, что мы будем следующим отображением клавиш мыши:

xkbset m
xkbset exp =m

найти Меню ключевой код

Составьте карту Меню ключ. Для этого нам нужно Меню ключевой код. В терминальном режиме xev, переместите мышь в квадрат и нажмите Меню ключ.

enter image description here

Конечный результат

В моем случае мой Меню key-code - значение 135, и это будет отображаться на кнопку мыши 2

xmodmap -e "keycode 135 = Pointer_Button2"

Протестировано следующим образом:

  1. Копирование некоторого текста в терминал - инициировано действие Paste
  2. Наведите указатель мыши на заголовок - Окно переместится на задний план

Объединяя это все вместе:

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

Сначала создайте файл в своей домашней папке remapkeys

gedit ~/remapkeys

теперь скопируйте и вставьте следующие

#!/bin/sh
setxkbmap -layout gb
xkbset m
xkbset exp =m
xmodmap -e "keycode 135 = Pointer_Button2"

Сохранить. Предоставить права на выполнение файла

chmod +x ~/remapkeys

Затем из поиска Dash для Запуск приложений или при использовании Gnome Classic - Приложения - Другое - Запуск приложений

Добавить новую запись в приложение для запуска

enter image description here

Команда должна быть:

bash -c "sleep 5 && ~/remapkeys"

Команда засыпает в течение 5 секунд, чтобы ваш рабочий стол отображался перед запуском нового скрипта - если ваш рабочий стол не отображается в течение 5 секунд (возможно, вы используете медленный нетбук?), То увеличивайте этот таймаут на 10 или 15 секунд. Выйдите из системы и войдите в систему для тестирования.


10
2017-10-26 23:41



Могу ли я спросить, после выполнения этих шагов обязательная привязка должна быть постоянной, или я должен помещать ее где-нибудь, чтобы она загружалась каждый раз при перезагрузке? - 719016
конечно, не постоянный - я бы добавил инструкции к сценарию и запускал как часть запуска приложений, поэтому он запускается при входе в систему. Помогает ли вам ответ - это было в моем тестировании ... - fossfreedom♦
он работает, но, как вы говорите, не постоянно - 719016
... просто в случае, если я не дал понять, я добавил, как начать это с входа в ответ. - fossfreedom♦


Сначала установите xautomation:

sudo apt-get install xautomation

Вы можете отправить событие среднего щелчка с помощью xte:

xte 'mouseclick 2'

Вы можете создать специальный ярлык для этого в разделе «Настройки» -> «Ярлыки клавиш» (или «Ярлыки клавиш» из поиска Unity). Нажмите «Добавить», введите имя и приведенную выше команду и нажмите «Применить». Прокрутите вниз и установите ярлык так же, как и для любого другого действия.

Когда я попробовал это, я не смог привязать действие только к ключу Windows. Вы можете попробовать это, выполнив следующее, но, похоже, есть ошибка, которая мешает этому работать:

Откройте терминал и запустите

gconf-editor 

Нажмите Ctrl + f, выберите поле «Поиск также в ключевых значениях» и введите в поле поиска следующее:

xte 'mouseclick 2' 

В нижней панели должен быть только один результат. Если есть больше, выберите тот, который содержит имя «/ desktop / gnome / keybindings / custom * / action» в его имени. В верхней правой панели введите «» (без кавычек) рядом с полем «привязка». Если вы получите тот же результат, что и я, все ваши окна появятся, и новый keybinding ничего не сделает. Измените это до того, что было (или сделайте его пустым), и откройте «Внешний вид» («Настройки» - «Внешний вид» или «Внешний вид») в разделе «Поиск по единству»). Это должно решить проблему.


5
2018-05-26 02:57



Большой! Мне не нужно было делать бит gconf-editor, пока он работает, я дважды проверю после перезагрузки. Спасибо! - 719016
Это больше не работает в Ubuntu 11.10 с классическим gnome-отказоустойчивым рабочим столом. Я уверен, что должен быть способ сделать то же самое. - 719016


Я хотел бы отметить, что для других (поскольку я нашел это несколько раз, ища свою собственную мышь), что у некоторых мышей Logitech есть несколько кнопок (на моем MX1100 они были по умолчанию «кнопки DPI +/-»), которые не отправляют сигнал к USB-приемнику.

Можно переопределить это и сообщить мыши, что кнопка нажимает на ваш драйвер мыши, но этот процесс даже не близок к удобному для пользователя (или даже легко реплицируемому, так как для каждой мыши он отличается). Пакет «lomoco», по-видимому, будет работать для некоторых пользователей, но не обновляется для новых мышей через некоторое время.


1
2017-08-10 21:39