Как переназначить контекстное меню на другой ключ в Linux?

Я только что купил ThinkPad Lenovo, и я так горжусь этим. Он выглядит так же прочно, как и ядро ​​Linux: P.

Проблема в том, что Lenovo решила удалить клавишу контекстного меню, которая является клавишей, выполняющей щелчок правой кнопкой мыши. Они заменили его ключом экрана печати. Моя клавиатура имеет цифровую часть с несколькими кнопками над ней. Есть кнопка с увеличительным стеклом, которую я хотел бы переназначить, чтобы открыть контекстное меню или щелкнуть правой кнопкой мыши. Возможно ли это сделать?

Я пытался найти другие связанные вопросы, но я нашел только вопрос «Как добавить опции в контекстное меню Nautilus». Я хочу сопоставить физическую клавишу моей клавиатуры, чтобы открыть это меню. Прямо как раньше Также кажется, что Dell пропускает эту клавишу в своей клавиатуре inspiron. Я не знаю, что происходит, потому что я использую клавиатуру больше, чем мышь.

Спасибо заранее.

19
задан 5 December 2013 в 04:12

7 ответов

1124 Это немного сложно, но вы можете сделать это. Выполните следующие действия:

Определите код клавиши

  1. Запустите xev, чтобы определить код клавиши:

    xev | grep keycode
    
            state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
            state 0x0, keycode 107 (keysym 0xff67, Menu), same_screen YES,
            state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    
  2. Нажмите ключ, который вы хотите перенастроить. Выход в терминале покажет вам keycode (будьте осторожны, их может быть несколько).

Тестовое отображение

  1. Временно установить новое отображение, для меня это keycode 107:

    xmodmap -e "keycode  107 = Return NoSymbol Return"
    

Если ключ вести себя как положено, вы можете сохранить конфигурацию.

Сохраните вашу конфигурацию

  1. Сохраните вашу текущую таблицу раскладок в $HOME, чтобы переопределить значение по умолчанию:

    xmodmap -pke > ~/.Xmodmap
    
  2. Создать или отредактируйте ~/.xinitrc для загрузки вашей конфигурации:

    $EDITOR ~/.xinitrc
    
  3. Добавьте следующие строки

    if [ -f $HOME/.Xmodmap ]; then
            /usr/bin/xmodmap $HOME/.Xmodmap
    fi
    

Наслаждайтесь

Большая часть информации выше взята из ArchWiki статьи .

0
ответ дан 5 December 2013 в 04:12

Я нашел здесь , что с помощью: shift + F10 открывается контекстное меню.

Я знаю, что это не лучшее решение, но я подумал, что оно может помочь во временном использовании!

P.S: У меня тоже есть e530c, и я протестировал его на Debian 7 (Wheezy).

0
ответ дан 5 December 2013 в 04:12

Я недавно приобрел Lenovo E550 и имел ту же проблему, я решил ее при помощи xte (от xautomation) наряду с xmodmap.

Почему другие ответы не будут работать полностью?

  1. @Ed Villegas (ни @Null Указатель) ответ не будет работать, потому что некоторые ключи, расположенные выше числовой части, не являются уникальными ключами themself (например, ключ блокировки связан с комбинацией Super+L). Когда xev используется, чтобы попытаться найти код клавиши ключа блокировки, он возвращает и Супер и коды клавиши L, просто необходимо интерпретировать xev вывод линию за линией.

  2. Для @Bahax и @John Finegan: Shift+F10 является ключом контекстного меню, он не работает во всех приложениях, и он не обеспечивает те же функции как Меню. Если Вы выбираете файл в файловом менеджере и нажимаете Menu, контекстное меню для самого файла должно раскрыться, этого не происходит с комбинацией Shift+F10, это обеспечило бы контекстное меню для окна вместо этого.

  3. Behzadi @Danial проявляет аналогичный подход людям в 2-м объекте, но соединение комбинации клавиатуры к одному ключу через средство моделирования нажатия клавиши, он свяжет ключ к Shift+F10 и обеспечит тот же результат.

Ответ, который работает

Важно принять во внимание, что ключом, который не присутствует в клавиатуре ThinkPad, является Меню (который является, это - имя), это показывают в следующем изображении:

Menu key

Хотя ключ не присутствует, это - код клавиши, должен существовать в Вашем компьютере, можно найти его путем печати таблицы кода клавиши с xmodmap -pke | grep Menu который должен дать Вам что-то как:

xmodmap output

Имея это в виду, установка xautomation (для использования xte для моделирований нажатия клавиши) как в @Danial ответе Behzadi:

sudo apt-get install xautomation

И создайте пользовательский ярлык, в Триггере нажимают клавишу, что Вы хотите быть ярлыком, и в Action вставка xte 'key Menu'. Примените и протестируйте.

1
ответ дан 5 December 2013 в 04:12

Это помогло мне. Для меня код клавиши «PrtSc» на моем ThinkPad 107. Я нашел это с помощью инструмента «xev» в Ubuntu.

xmodmap -e "keycode  107 = Menu"

Это временное изменение.

Вы можете сделать это постоянным, добавив эту команду в / etc / profile, и она будет выполняться при каждой загрузке, и это будет постоянное изменение.

0
ответ дан 5 December 2013 в 04:12

Я наконец нашел способ сделать это после нескольких часов тестов и не удалось: D

Прежде всего, установите xautomation:

sudo apt-get install xautomation

Затем перейдите на вкладку «Ярлыки» раздела «Клавиатура» в Настройки системы Ubuntu. Сначала перейдите к записи «Снимки экрана» и переназначьте действия на другую клавишу или отключите их, если хотите. Я заменил клавишу PrtSc (Печать) черной кнопкой Thinkpad (Launch1).

Теперь перейдите в раздел «Пользовательские ярлыки» и добавьте ярлык. Назовите его как хотите, например, Меню. В поле Command введите:

xte 'keydown Shift_L' 'key F10' 'keyup Shift_L'

Работа выполнена! Это работает как чудо;)

0
ответ дан 5 December 2013 в 04:12

для оболочки gnome, достаточно отредактировать этот файл: / usr / share / X11 / xkb / symbols / pc . а затем перезагрузитесь.

0
ответ дан 19 January 2020 в 03:47

Следующее наконец сработало для меня!

У меня была такая же проблема с моим Huawei Matebook 14, где клавиша меню отсутствует. Хотя я показываю, как сопоставить работу меню с правым элементом управления (поскольку лично я им не пользуюсь), эта инструкция работает для любой кнопки.

Метод работает постоянно.

Полное руководство (шаги):

  1. Знайте код клавиши, к которой вы хотите привязать команду Меню. Выполнить :

    xev | ключевой код grep
    

    затем нажмите кнопку и запомните код. Например. Я хочу, чтобы мой правый элемент управления вызывал контекстное меню. Нажимаю и получаю код: 105.

  2. Измените файл конфигурации кодов клавиш:

    Примечание: вам нужно сделать это как суперпользователь.

    Необязательно, но настоятельно рекомендуется! Сделайте резервную копию файла конфигурации:

     sudo cp /usr/share/X11/xkb/keycodes/evdev /usr/share/X11/xkb/keycodes/evdev_back
    

    Откройте файл для редактирования:

    sudo vim /usr/share/X11/xkb/keycodes/evdev
    # или используйте любой другой редактор, например.
    # sudo gedit /usr/share/X11/xkb/keycodes/evdev
    

    Находим строку с исходным сопоставлением (в моем случае = 105;), комментируем ее и добавляем новое сопоставление команды меню на нужную клавишу (в моем случае

    = 105;)

    // старое отображение закомментировано
    //  = 105;
    // новое отображение
    <МЕНЮ> = 105;
    

    сохраните и закройте файл.

  3. Выйдите/зарегистрируйтесь (перезагрузитесь) и наслаждайтесь!

2
ответ дан 12 October 2020 в 02:39

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

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