Jak powiązać Alt + Strzałki z PageUp / PageDown?

10

Właśnie próbowałem użyć loadkeystego pliku mapy:

alt keycode 73 = Prior
string Prior = "\033[5~"
alt keycode 81 = Next
string Next = "\033[6~"

Ale to nie działa.

int_ua
źródło
Czy musisz użyć loadkeys?
Seth
Okazuje się, że klawisze load są dla TTY. Będziemy musieli także użyć xkbcomp, powoli go kopie.
int_ua
1
Co z xbindkeys lub xmodmap?
Seth
1
xbindkeys jest do tego zbyt duży, xmodmap - tak, może być :) Pracuję już ze zrzutem xkbcomp.
int_ua
Ale jeśli znajdziesz sposób z xbindkeys, to też byłoby w porządku, chyba :)
int_ua

Odpowiedzi:

7

Zainstaluj xbindkeysi xte:

sudo apt-get install xbindkeys xautomation

Następnie musimy znaleźć kluczowe odwzorowania dla Alt+ Arrow.

Uruchom xbindkeys -ki naciśnij Altplus dowolny klawisz strzałki. Za Alt+ Up Arrowotrzymuję:

"NoCommand"
m:0x18 + c:111
Alt+Mod2 + Up

Teraz, gdy wiemy, jakie są powiązania dla naszych kluczy, musimy utworzyć .xbindkeysplik konfiguracyjny. Biegać:

touch .xbindkeysrc
gedit .xbindkeysrc

touchtworzy plik i geditotwiera go. Teraz dodaj:

"xte 'key Page_Up'"
m:0x18 + c:111
Alt+Mod2 + Up

Do pliku i zapisz go. Spowoduje to powiązanie Alt+ Up Arrowz PgUp.

Podstawowa składnia xbindkeysto:

"command to run (in quotes)"
keysym of key

Twój kompletny plik powinien wyglądać prawie identycznie z tym:

"xte 'key Page_Down'"
m:0x18 + c:116
Alt+Mod2 + Down  

"xte 'key Page_Up'"
m:0x18 + c:111
Alt+Mod2 + Up  

Teraz dodaj xbindkeysdo „Aplikacji startowych”, aby działał po uruchomieniu komputera.
Kliknij „Dodaj” i wpisz /usr/bin/xbindkeysw polu „Polecenie”.

wprowadź opis zdjęcia tutaj

Kliknij „Dodaj” ponownie i uruchom ponownie.

Seth
źródło
1
Nie działa dla mnie :( Próbowałem zarówno m:0x8 + c:111(tylko Alt + Up), m:0x18 + c:111jak i zarówno w Unity, jak i KDE.
int_ua
@int_ua Czy dostałeś swoje powiązania xbindkeys -klub skopiowałeś je z mojego postu? Powinieneś wziąć swój własny xbindkeys -k.
Seth
Próbowałem obu, ale teraz użyłem go drugi raz w Unity i daje inny wynik: m:0x18 + c:64Edycja: nie, to samo. Musiałem zabić kolejne xbindkeys.
int_ua
Dla mnie też nie działa. Próbowałem przemapować Alt + Leftdo Home.
Rasmus
1
@Rasmus To dziwne. Jaka jest twoja zawartość .xbindkeysrc? (opublikuj go na paste.ubuntu.com, abym mógł sprawdzić).
Seth
0

To:

key   <UP> {
    type= "PC_ALT_LEVEL2",
    symbols[Group1]= [           Up,         KP_Prior ]
};
key <DOWN> { 
    type= "PC_ALT_LEVEL2",
    symbols[Group1]= [           Down,         KP_Next ]
};
key <LEFT> {
    type= "PC_ALT_LEVEL2",
    symbols[Group1]= [           Left,         KP_Home ]
};
key <RGHT> {
    type= "PC_ALT_LEVEL2",
    symbols[Group1]= [           Right,         KP_End ]
};

działa tylko w niektórych przypadkach, wysyłanie tylko w celach informacyjnych , jest to dalekie od ostatecznego rozwiązania.

PS s/KP_//gdaje ten sam wynik.

int_ua
źródło
0

Przeczytałem ten https://help.ubuntu.com/community/KeyboardShortcuts, który pomógł mi zrozumieć następujące. Podczas gdy pakiet xautomation zawierający xtenarzędzie może być używany zamiast xvkbdemitować kody kluczy, których użyłem, xvkbdaby zrobić to samo.

sudo apt-get install xbindkeys xbindkeys-config xvkbd

xbindkeys --defaults > /home/your-user-name/.xbindkeysrc

Z jakiegoś powodu dodało to powiązanie dla ctrl-f, które musiałem skomentować. Chociaż być może przydatny domyślny przykład, potrzebuję ctrl-f, aby znaleźć wewnątrz stron internetowych.

Po ustaleniu „kluczy” Prior dla PgUp i Next dla PgDown nie było to zbyt trudne. Uruchomienie i użycie xbindkeys-configspowodowało dla mnie następujące wpisy w .xbindkeysrc.

#alt-up
"xvkbd -xsendevent -text "\[Prior]""
    m:0x18 + c:111
    Alt+Mod2 + Up

#alt-down
"xvkbd -xsendevent -text "\[Next]""
    m:0x18 + c:116
    Alt+Mod2 + Down

podczas korzystania z precyzyjnej pangoliny Ubuntu 12.04 po utworzeniu pliku .xbindkeysrc został wykryty i xbindkeysprogram został uruchomiony automatycznie przy następnym logowaniu.

To samo będzie działać dla ctrl.

#ctrl-up
"xvkbd -xsendevent -text "\[Prior]""
    m:0x14 + c:111
    Ctrl+Mod2 + Up

#ctrl-down
"xvkbd -xsendevent -text "\[Next]""
    m:0x14 + c:116
    Ctrl+Mod2 + Down
przyznać
źródło