Как я могу присвоить среднее нажатие кнопки определенному ключу в моем ноутбуке?

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

Существует ли способ сделать это?

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

9
задан 26 October 2011 в 01:57

3 ответа

Чтобы вернуть клавишу 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, переместите мышь в квадрат и нажмите клавишу Меню .

enter image description here

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

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

xmodmap -e "keycode 135 = Pointer_Button2"

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

  1. Скопируйте некоторый текст в терминал - Вставьте инициированное действие
  2. Наведите курсор мыши на строку заголовка - Перемещение окна в фон

Складывая все это вместе:

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

Сначала создайте файл в вашей домашней папке под названием 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

enter image description here

Add a new Startup Applications entry

enter image description here

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

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

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

10
ответ дан 23 November 2019 в 05:28

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

sudo apt-get install xautomation

Вы можете послать событие щелчка по центру, используя xte:

xte 'mouseclick 2'

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

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

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

gconf-редактор

Hit Ctrl+f, выберите опцию 'Search also in key values' (Поиск также в значениях клавиш) и введите следующее в поле поиска:

xte 'mouseclick 2'

В нижней панели должен быть только один результат. Если их больше, выберите тот, который содержит '/десктоп/игнома/клавиатуры/настройки*/действие' в своем названии. В верхней правой панели введите '' (без кавычек) рядом с полем 'привязка'. Если вы получите тот же результат, что и я, все ваши появления в окне изменятся, и новая привязка к клавишам ничего не сделает. Измените это обратно на то, что было (или сделайте его пустым) и откройте Внешний вид (Настройки -> Внешний вид или 'Внешний вид' при поиске по единству). Это должно исправить проблему.

5
ответ дан 23 November 2019 в 05:28

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

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

1
ответ дан 23 November 2019 в 05:28

Другие вопросы по тегам:

Похожие вопросы: