Jak odznaczyć klawisz Super lub Logo, aby mógł być używany przez aplikacje?

9

Korzystam z kubuntu-desktop na Lubuntu 17.04. Chciałbym użyć klawisza Super w aplikacjach, ale obecnie aktywuje on menu aplikacji komputerowej.

Zajrzałem do środka

Ustawienia systemowe -> Obszary robocze -> Skróty -> Globalne skróty -> Plazma.

Ale pokazuje tylko wiązanie Alt+ F1. Pole Alternate jest puste.

wprowadź opis zdjęcia tutaj

takatakatek
źródło
1
Wypróbuj wymienione tutaj rozwiązanie: unix.stackexchange.com/a/369452/28893
Seth
Jeśli usuniesz powiązanie [Alt] [F1], klawisz Super nie otworzy programu uruchamiającego.
Geoffrey Wheeler,
1
Zauważ, że Kubuntu 16.04 i starsze wersje domyślnie nie mają tego zachowania (klawisz Super / Meta sam nic nie robi po naciśnięciu).
clearkimura
1
Chciałbym wskazać inną odpowiedź na askubuntu: askubuntu.com/questions/521202/…
Gautam,

Odpowiedzi:

0

Zabawa w. xmodmap

Po naciśnięciu klawiszy na klawiaturze istnieje kilka miejsc, które określają, co się dzieje. Sama klawiatura, jądro, X lub inny menedżer wyświetlania. W tym celu możemy nauczyć X, jak inaczej traktować klawisz Super.

Klawisz Super jest zwykle mapowany na Mod4. Tak więc, kiedy naciśniesz Mod4 + Tab, możesz spodziewać się, że będziesz mógł tabulować przez różne okna. Nie zawsze, ale wiele razy aplikacje ignorują ten modyfikator lub go nie otrzymują.

Dostępną opcją jest dostosowanie sposobu traktowania klawisza Super. Jeśli to zrobisz, najprawdopodobniej będziesz chciał wymienić funkcjonalność na inny klucz. Ma to na celu upewnienie się, że możesz kontynuować wykonywanie takich czynności, jak poprzedni przykład Mod4 + Tab lub innych typowych kombinacji.

Jeśli chcesz zobaczyć, jak X działa z twoimi obecnymi modyfikatorami, możesz je wydrukować, używając 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)

Tutaj widzimy, że wszystkie klucze Super i Hyper są mapowane na Mod4. Jeśli twoja klawiatura ma lewy i prawy klawisz super, możesz nawet dokonać regulacji tylko na jednym lub drugim. Na przykład możesz usunąć Super Left z Mod4, zachowując Super Right jak zwykły przycisk Super.

Powinieneś poświęcić trochę czasu, aby przyjrzeć się, w jaki sposób inni używali klawiszy modyfikujących przez lata, aby zapoznać się z tym pomysłem i sposobem, w jaki ludzie nauczyli się jak najlepiej wykorzystać. Chodzi o to, aby usunąć modyfikator, a następnie dodać go ponownie. Możesz skonfigurować coś takiego, ~/.xmodmaprca następnie uruchomić xmodmap ~/.xmodmaprc.

# .xmodmaprc
clear mod4
clear control

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

Dlaczego na początek nie użyć klawisza Control? Jest bardzo prawdopodobne, że masz klawisz Control obok swojego Super klucza, więc od ciebie zależy znalezienie innego modyfikatora, takiego jak Mod3, i użycie go. Inni używają Mod2 lub Mod5 w całkiem sprytny sposób, aby zwiększyć liczbę dostępnych modyfikatorów.

Gdy uzyskasz wszystko tak, jak chcesz, możesz aktywować te ustawienia za pomocą X i użytkownika za każdym razem, gdy się logujesz, dodając xmodmapwiersz do ~/.xinitrcpliku:

xmodmap ~/.xmodmaprc

Po zmianie przypisania klawisza Super_L, aby nie był częścią Mod4, ale częścią innej grupy modyfikatorów, globalne skróty klawiaturowe powinny rozpoznać kombinacje klawiszy.

Problemy, które mogą być powiązane

Chociaż faktycznie jest to błąd Gnome (?), Czy ten problem lub podobny problem może się zdarzyć? Bardziej prawdopodobne jest, że chcesz zastosować to obejście konfiguracji Plazmy zatytułowane „Jak mogę zapobiec Meta przed otwarciem programu uruchamiającego KDE Plazmy?”:

Jak sugerowano tutaj , edytuj ~/.config/kwinrc, dodając następujące linie na dole.  

[ModifierOnlyShortcuts]
Meta=

 

Następnie uruchom ponownie kwin za pomocą kwin_x11 --replace & disown.

EarthmeLon
źródło