Jak ustawić prawy Alt, aby działał jako klawisz Win (Super)?

11

Chociaż istnieje wiele różnych artykułów na temat zmiany lewego Alt, aby symulować wygraną, chcę zmapować prawy Alt, aby to zrobić. Chcę przejść do 11.10, wracam do jedności 2d i nie mam klucza do wygranej. Nie dostaję nawet kodu dostępu do artykułów, które znalazłem ... Jakaś pomoc lub dobre sugestie?

decoff
źródło

Odpowiedzi:

12

Możesz użyć xmodmap, aby zmienić przypisanie dowolnego klawisza na klawiaturze; w szczególności możesz zmienić mapowanie prawego klawisza Alt, aby działał jako klawisz Super / Win .

Utwórz plik o nazwie .Xmodmapw katalogu domowym o następującej treści:

! free up right-Alt for remapping
remove mod1 = Alt_R

! Right-Alt remapped to Super
clear mod4
keycode 108 = Super_R
add mod4 = Super_R

Po wylogowaniu, a następnie ponownym zalogowaniu, GNOME powinien zapytać, czy chcesz załadować .Xmodmapplik; odpowiedz „tak” i jesteś gotowy. (Zapytasz tylko raz.)

Alternatywnie możesz załadować .Xmodmapkonfigurację z terminala w dowolnym momencie:

xmodmap .Xmodmap

Istnieje kilka rzeczy, które mogą się różnić w zależności od wersji serwera X i modelu klawiatury. Następujące elementy mogą pomóc w dostosowaniu .Xmodmappliku do określonego środowiska.

  1. Sprawdź, czy prawy Alt klucz jest początkowo na MOD1 : Wydaj komendę xmodmapw oknie terminala, i powinieneś dostać wyjście jak ten:

    xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):
    
    shift       Shift_L (0x32),  Shift_R (0x3e)
    lock        Caps_Lock (0x9),  Caps_Lock (0x4e)
    control     Control_L (0x25),  Control_R (0x69)
    mod1        Alt_L (0x40),  Alt_R (0x6c),  Alt_L (0xcc)
    mod2      
    mod3        Mode_switch (0xcb)
    mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce)
    mod5      
    

    Jeśli Alt_Rtag nie pojawia się w wierszu mod1 , ale w innym, dostosuj .Xmodmapodpowiednio.

  2. Sprawdź, czy prawym klawiszem Alt jest kod klucza 108: w oknie terminala wpisz polecenie xev , a następnie ustaw małe kwadratowe okno, które się pojawiło. Jeśli wpiszesz tam prawy klawisz Alt , powinieneś zobaczyć linie pojawiające się w oknie terminala. Poszukaj takiej zwrotki:

    KeyPress event, serial 25, synthetic NO, window 0x5000001,
        root 0xbd, subw 0x5000002, time 867397196, (53,48), root:(54,49),
        state 0x0, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    Liczba po keycodesłowie jest tą, którą chcesz w .Xmodmappliku do ponownego mapowania z prawej strony Alt .

Riccardo Murri
źródło
Dziękuję Ci. Mogę zatrzymać lewą stronę wszystkich rzeczy, których potrzebuję.
deckoff
dziwne, chociaż rozwiązanie kiedyś działało, teraz przestało ??? Po ponownym uruchomieniu komputera i odtworzeniu rozwiązania działa ono do następnego ponownego uruchomienia ...
deckoff,
1
@deckoff Oznacza, że ​​Twój .Xmodmapplik nie jest odczytywany na początku sesji X. Spróbuj dodać xmodmap ~/.Xmodmapdo swojego .gnomerc(lub równoważnego) pliku.
Riccardo Murri,
Spróbuję. Wygląda na to, że nie działa, gdy logowanie hasłem jest wyłączone. Jeśli zobaczę ekran logowania (bez względu na to, czy się wyloguję i zaloguję, czy też włączyłem logowanie hasłem na początku, będzie działać). Proszę spojrzeć tutaj, jeśli chcesz pomóc. Wygląda na to, że plik został załadowany, ale nie został poprawnie wykonany.
deckoff
1
Tak, dodanie xmodmap ~ / .Xmodmap do .gnomerc działało
deckoff
3

Znalazłem to po prostu:

remove mod1 = Alt_R
add mod4 = Alt_R

działa zgodnie z oczekiwaniami. Czy tęsknię za jakimś „gotcha”?

Brian Harvey
źródło