Jak zmapować Super + UpArrow do PageUp?

12

Chciałbym mapować

  • Super+ UpArrowdoPageUp

  • Super+ DownArrowdoPageDown

  • Super+ LeftdoHome

  • Super+ RightdoEnd

na aluminiowej bezprzewodowej klawiaturze Apple. Ci, którzy znają klawiaturę, zauważą, że robi to już Fndomyślnie z klawiszem; to jest w porządku i chciałbym to zachować, ale mogę to samo zrobić z kombinacją klawiszy jedną ręką, dlatego chcę Supermapowania.

Szukałem możliwego sposobu, aby to zrobić za pomocą xmodmap przez 3 godziny, ale nic nie działało.

guest442
źródło

Odpowiedzi:

5

spróbuj edytować definicję klawiatury / usr / share / X11 / xkb / symbols / pc

(to zmieni globalne powiązania, jeśli chcesz coś bardziej precyzyjnie dostrojonego, jest jeszcze trochę do zrobienia, np. tworzenie niestandardowej mapy klawiszy lub niestandardowego wariantu)

jak widać tutaj:

klucz {[Prior]};
klucz {[Dalej]};

jak widać klucz PGUP jest powiązany z „Prior”. Podczas:

 klawisz {[lewy]};
 klawisz {[w dół]};

Klawisze LEWO i DÓŁ są powiązane z „Lewo” i „Dół”.

Część między nawiasami [ ]to lista symboli do wygenerowania. Możesz umieścić więcej niż jeden. Pierwszy to symbol związany z niezmodyfikowanym kluczem, podczas gdy inne pozycje dotyczą symboli związanych z kluczem + jakiś modyfikator.

Zwykle służy do definiowania zachowania klawisza plus modyfikatora „SHIFT”:

  klucz {[l, L]};
  klucz {[średnik, dwukropek]};

Ale można również określić inne modyfikatory, na przykład na mapie esperanto (epo):

  key {[jcircumflex, Jcircumflex, brackleft, braceleft]};
  key {[hcircumflex, Hcircumflex, brackright, braceright]};

możesz wpisać [znak, wpisując AltGr + klawisz (klawisz [na klawiaturze us) i {przez Shift + AltGr + klawisz.

Jak na razie dobrze. Sekwencja, którą możemy zrozumieć z kilku prostych przykładów:

plain shift altgr shift+altgr


Chcemy jednak móc powiązać nasz LEWY i PRAWY klawisz z modyfikatorami zwykłego i CTRL + ALT. Jak to osiągnąć?

Nie mam pojęcia i nigdy nie próbowałem, ale czerpałbym inspirację z / usr / share / X11 / xkb / symbols / pc:

xkb_symbols „funkcja” {
    klucz {
        type = „CTRL + ALT”,
        symbole [Group1] = [F1, XF86_Switch_VT_1]
    };

Być może możemy zrobić to samo z naszymi klawiszami strzałek. Spróbujmy dodać następujące linie:

 klawisz {type = "CTRL + ALT", symbole [Group1] = [Left, Prior]};
 klawisz {type = "CTRL + ALT", symbole [Group1] = [w dół, dalej]};

Tuż pod oryginalnymi definicjami LEWEGO i DÓŁ, ​​w dolnej części pliku „pc”.

Następnie uruchom ponownie serwer X. Przepraszam, ale nie mogę teraz zamknąć mojej sesji, aby ją przetestować.

BTW, możesz być zainteresowany http://code.google.com/p/partiwm/wiki/xpra , abyś mógł ponownie uruchomić sesję X i zachować niektóre aplikacje podczas ponownego uruchamiania.

ithkuil
źródło
Niestety to też nie działa. Zmieniłem twój „CTRL + ALT” na SUPER_R, SUPER, META, ponieważ chcę zmapować odpowiedni superklucz, a nie CTRL + ALT (który również nie działa). Próbowałem także dodać identyfikatory po części „kluczowej” (jak <PGUP>), która moim zdaniem była brakująca, ale bez różnicy.
guest442
4

Próbowałem czegoś podobnego przy użyciu xmodmap i pokrewnych programów i nie udało mi się. Spróbuj xbindkeysw połączeniu z xdotool. Oto, co wstawiłem, ~/.xbindkeysrcaby powiązać klawiaturę numeryczną 1 i 2 z Ctrl- PageUpi Ctrl- PageDown:

"xdotool key ctrl+Prior" 
  Release + KP_End

"xdotool key ctrl+Next" 
  Release + KP_Down
Loevborg
źródło
Dzięki; Próbowałem tego samego, ale wydaje się, że nie działa. Wydaje się, że Super + Down emituje znak „~” co kilka naciśnięć w terminalu (normalne PageDown to robi, więc pomyślałem, że zadziałało), ale tak naprawdę nie wykonuje PageDown.
guest442
Próbowałem także xautomation i xvkbd; oboje zawodzą w ten sam sposób. Jestem pewien, że część xbindkeys działa, ponieważ mogę uzyskać kombinacje klawiszy, aby uruchomić inne aplikacje i tak dalej, ale naciśnięcia klawiszy po prostu się nie emulują.
guest442