Используйте MC, MV, MA для копирования, вставки, выбора всех

11

Я использую Kubuntu Linux 12.04 на Macbook Pro и ищу возможность использовать клавишу Command / Meta для таких быстрых клавиш, как копирование, вставка и выбор всех.

Попытки решения:

  • Перегруппировать Копировать, Вставить, Выбрать все и другие в Системных настройках KDE> Сочетания клавиш и жесты> Стандартные сочетания клавиш
    • Проблема : эти ярлыки игнорируются большинством приложений. Все веб-браузеры, которые я тестировал, продолжали ожидать Ctrlключ, где я указал желание использовать Metaключ. Из-за невозможности найти работающий веб-браузер я не пробовал никаких других приложений.
    • Проверено в: Firefox, Chromium, Rekonq, Arora, Konqueror.
  • Обмен Metaс Ctrl использованием xmodmap .
    • Проблема : тогда эмуляторы терминала потребовали бы использования Metaклавиши вместо Ctrlклавиши для таких команд, как прерывание клавиатуры, большинство привязок Emacs и бесчисленное множество других привязок в различных приложениях CLI.

Рассмотренные решения:

  • Индивидуально изменять общие ярлыки в приложениях с графическим интерфейсом. К сожалению, возможность изменить привязки для «Копировать», «Вставить» и «Выбрать все» встречается редко.
  • Изменение Ctrl модификатор только для Konsole (или другой эмулятор терминала.) Это в идеале причина Meta- xпроизводить нажатие клавиши Ctrl- xи наоборот. Однако я не могу найти способ сделать это.
  • Используйте stty, чтобы изменить привязки для команд клавиш терминала для использования мета и дополнительно записать пользовательские файлы конфигурации для всех других приложений CLI. Это потребует неоправданного количества усилий для достижения.

Я чрезвычайно удивлен тем, сколько усилий требует эта простая модификация, и я буду признателен за любую помощь, которая может быть оказана, чтобы найти разумное рабочее решение.

Уинстон Грин
источник
Не какая-то помощь в вашей проблеме, но в отношении привязок emacs: Swapped ctrl и meta - это то, для чего была создана привязка emacs, потому что она была разработана для клавиатур Space-cadet, а не для клавиатур ibm. Таким образом, обмен снимает проблему Emacs
Pinky
Посмотри xbindkeysи на этот вопрос на askubuntu о конкретном приложении сочетания клавиша
Герхард Бергер

Ответы:

4

Ядро Linux генерирует код каждый раз при нажатии клавиши на клавиатуре. Этот код сравнивается с таблицей keycodesопределения фигуры, которая затем отображается.

Этот процесс осложняется тем Xorg, что начинает свою собственную таблицу keycodes. Каждый keycodeможет принадлежать keysym. A keysym- это функция, которая начинается с нажатия клавиши. Xmodmapпозволяет редактировать эти keycode-keysymотношения.

Для получения текущей таблицы раскладок используйте Xmodmap:

xmodmap -pke

Это распечатает полную таблицу в следующем формате:

keycode <keycode#> = <boundkey> <boundkey>

Прежде чем что-либо перемещать, обязательно сделайте резервную копию исходного keycodeмакета, используя. xmodmap -pke >> $HOME/Xmodmap.origЭто поместит файл Xmodmap.origв домашнюю директорию вашего пользователя.

Совет: Есть также несколько предопределенных кодов клавиш (например XF86AudioMute, XF86Mail). Эти коды клавиш можно найти в:/usr/include/X11/XF86keysym.h

Вы также можете также редактировать ключи: Shift, Ctrl, Altи Super(всегда существует левый и правый один ( Alt_R=AltGr)).

Вот быстрый пример того, как будет выглядеть ваша конфигурация, если вы хотите поменяться местами CTRLи Super(ключ Windows):

keycode 255  =
!add Shift   = Shift_L Shift_R
!add Lock    = Caps_Lock
add Control  = Super_L Super_R
!add Mod1    = Alt_L Alt_R
!add Mod2    = Mode_switch
!add Mod3    =
add Mod4     = Control_L Control_R
!add Mod5    =

( !используется для комментирования / игнорирования строки. только в этом примере Superи Controlключи настраиваются)

Эта конфигурация будет сохранена $HOME/.Xmodmapи загружена с

xmodmap ~/.Xmodmap

Вы также можете начать это с xwindows, добавив его в свой ~/.xinitrc

И если все становится волосатым, вы всегда можете вернуться к Xmodmap.org.

Любые привязки для приложений, использующих эти ключи, также будут перемещены. Поэтому убедитесь, что все остается связанным, чтобы вы не потеряли никакой функциональности. Это матч перетягивания каната.

Cinelli
источник
2
Должно быть xmodmap -pke- это К ; не X .
OJFord