Как я могу присоединить среднее нажатие кнопки к определенному ключу в моем ноутбуке? Я могу сделать среднюю кнопку, если бы я касаюсь в правом верхнем углу сенсорной панели, но я хотел бы связать его к ключу, как ключ "окон" или ключ "меню".
Существует ли способ сделать это?
Текущий ответ не работает на Ubuntu 11.10 с классическим отказоустойчивым гномом рабочим столом. Мне был бы нужен кто-то, чтобы выяснить, как это может быть сделано для обновленной версии Ubuntu.
Чтобы вернуть клавишу menu, вам нужно сделать следующее.
установить предварительные условия
Установить пакет xkbset
:
sudo apt-get install xkbset
определить раскладку клавиатуры
Далее вам нужно определить, какую раскладку клавиатуры вы используете. В моем случае gb для британской/единой раскладки клавиатуры королевства или us для Соединенных Штатов
setxkbmap -layout gb
Примечание: если вы запустите
setxkbmap -query
это даст вам результат следующим образом - если модель и раскладка - ваша клавиатура, то вы используете правильную раскладку
rules: evdev
model: pc105
layout: gb
Далее определите, что мы будем следующим отображением клавиш мыши:
xkbset m
xkbset exp =m
найдите Меню код клавиши
Карта клавиши Меню. Для этого нам нужен код клавиши Меню . При запуске терминала xev
, переместите мышь в квадрат и нажмите клавишу Меню .
Конечный результат
В моем случае код клавиши Меню - это значение 135, которое будет отображено на Кнопке мыши 2
xmodmap -e "keycode 135 = Pointer_Button2"
Тестировано следующим образом:
Складывая все это вместе:
Хорошо, как только мы разберемся с правильными кодами клавиш, мы сможем собрать их вместе, чтобы начать с входа в систему.
Сначала создайте файл в вашей домашней папке под названием remapkeys
gedit ~/remapkeys
Теперь скопируйте и вставьте следующее
#!/bin/sh
setxkbmap -layout gb
xkbset m
xkbset exp =m
xmodmap -e "keycode 135 = Pointer_Button2"
Save. Дайте файлу права на выполнение
chmod +x ~/remapkeys
Затем из Dash search для Startup Applications или при использовании Gnome Classic - Applications - Other - Startup Applications
Add a new Startup Applications entry
Add a new Startup Applications entry
Команда должна быть:
bash -c "sleep 5 && ~/remapkeys"
Команда переходит в режим ожидания в течение 5 секунд, чтобы рабочий стол появился перед запуском нового скрипта - если рабочий стол не появится в течение 5 секунд (может быть, вы используете медленный нетбук?), увеличьте этот тайм-аут до 10 или 15 секунд. Выход и вход для тестирования.
Сначала установите xautomation:
sudo apt-get install xautomation
Вы можете послать событие щелчка по центру, используя xte:
xte 'mouseclick 2'
Вы можете создать пользовательский ярлык для этого в Параметры -> Ярлыки клавиатуры (или 'Ярлыки клавиатуры' из поиска Unity). Нажмите 'Добавить', введите имя и вышеприведенную команду и нажмите 'Применить'. Прокрутите вниз и установите ярлык, как для любого другого действия.
Когда я пытался это сделать, я не смог привязать действие только к клавише Windows. Вы можете попробовать сделать следующее, но, похоже, есть ошибка, которая мешает этому:
Откройте терминал и запустите
gconf-редактор
Hit Ctrl+f, выберите опцию 'Search also in key values' (Поиск также в значениях клавиш) и введите следующее в поле поиска:
xte 'mouseclick 2'
В нижней панели должен быть только один результат. Если их больше, выберите тот, который содержит '/десктоп/игнома/клавиатуры/настройки*/действие' в своем названии. В верхней правой панели введите '' (без кавычек) рядом с полем 'привязка'. Если вы получите тот же результат, что и я, все ваши появления в окне изменятся, и новая привязка к клавишам ничего не сделает. Измените это обратно на то, что было (или сделайте его пустым) и откройте Внешний вид (Настройки -> Внешний вид или 'Внешний вид' при поиске по единству). Это должно исправить проблему.
Я бы заметил, для других (так как я нашел это несколько раз, когда искал свою собственную мышь), что у некоторых мышей Logitech есть несколько кнопок (на моей MX1100 они по умолчанию были кнопками "DPI +/-"), которые не посылают сигнал на USB-приемник.
Это можно переопределить и заставить мышь сообщить о нажатии кнопки драйверу мыши, но этот процесс не очень удобен для пользователя (или даже легко воспроизводится, так как для каждой мыши он выглядит по-разному). Пакет "lomoco", очевидно, будет работать для некоторых пользователей, но уже давно не обновлялся для более новых мышей.