Как отсоединить ключ Super или Logo, чтобы его могли использовать приложения?

9

Я запускаю kubuntu-desktop на Lubuntu 17.04. Я бы хотел использовать клавишу Super в приложениях, но в настоящее время она активирует меню приложений на рабочем столе.

Я заглянул в

Системные настройки -> Рабочие пространства -> Ярлыки -> Глобальные ярлыки -> Плазма.

Но это показывает только привязку Alt+ F1. Альтернативное поле пусто.

введите описание изображения здесь

takatakatek
источник
1
Попробуйте решение, упомянутое здесь: unix.stackexchange.com/a/369452/28893
Сет
Если вы удалите привязку [Alt] [F1], то клавиша Super не откроет панель запуска.
Джеффри Уилер
1
Обратите внимание, что Kubuntu 16.04 и более ранние версии не имеют такого поведения по умолчанию (клавиша Super / Meta сама по себе ничего не делает при нажатии).
Clearkimura
1
Хотелось бы указать на другой ответ на askubuntu: askubuntu.com/questions/521202/…
Гаутам

Ответы:

0

Веселье Xmodmap

Когда вы нажимаете клавиши на клавиатуре, есть несколько мест, которые определяют, что происходит. Сама клавиатура, ядро, X или другой диспетчер отображения. Для вашей цели мы можем научить X обращаться с Супер ключом по-разному.

Супер ключ обычно отображается в Mod4. Поэтому, когда вы нажимаете Mod4 + Tab, вы можете ожидать, что сможете переключаться между различными окнами. Не всегда, но приложения часто игнорируют этот модификатор или не получают его.

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

Если вы хотите увидеть, как X работает с вашими текущими модификаторами, вы можете распечатать их, используя xmodmap:

$ xmodmap
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

Здесь мы видим, что все супер-ключи и гипер-ключи отображаются в Mod4. Если на вашей клавиатуре есть левая и правая супер-клавиши, вы можете даже выполнить настройку только на одну или другую. Например, вы можете убрать Super Left из Mod4, оставив Super Right как обычную кнопку Super.

Вы должны уделить некоторое время тому, чтобы узнать, как другие использовали клавиши-модификаторы на протяжении многих лет, чтобы ознакомиться с этой идеей и узнать, как люди научились использовать все преимущества. Идея в том, что вы очищаете модификатор, а затем добавляете его обратно. Вы можете настроить что-то, например, ~/.xmodmaprcи затем запустить xmodmap ~/.xmodmaprc.

# .xmodmaprc
clear mod4
clear control

add mod4 = Super_R
add control = Super_L
add control = Control_L
add control = Control_R 

Почему бы просто не использовать клавишу Control для начала? Весьма вероятно, что у вас есть управляющая клавиша рядом с вашей суперключем, так что вам придется найти применение для другого модификатора, такого как Mod3, и использовать его. Другие используют Mod2 или Mod5 довольно умными способами, чтобы увеличить количество доступных модификаторов.

Как только вы получите все, что хотите, вы можете активировать эти настройки при помощи X и вашего пользователя при каждом входе в систему, добавив xmodmapстроку в ваш ~/.xinitrcфайл:

xmodmap ~/.xmodmaprc

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

Проблемы, которые могут быть связаны

Хотя на самом деле это ошибка Gnome (?), Может ли эта проблема или что-то подобное происходить с вами? Скорее всего, вам понадобится обходной путь для настройки плазмы под названием «Как я могу предотвратить запуск Meta Plasma?»:

Как здесь подразумевается , отредактируйте ~/.config/kwinrc, добавив следующие строки внизу.  

[ModifierOnlyShortcuts]
Meta=

 

Затем перезапустите Kwin с помощью kwin_x11 --replace & disown.

earthmeLon
источник