Szukam sposobu na mapowanie niektórych kluczy w Ubuntu.
to znaczy
Chciałbym zmienić PgUpna Homelub PgDownna End.
Czy istnieje wbudowane polecenie lub narzędzie do zmiany przypisania kluczy w Ubuntu / GNOME?
Szukam sposobu na mapowanie niektórych kluczy w Ubuntu.
to znaczy
Chciałbym zmienić PgUpna Homelub PgDownna End.
Czy istnieje wbudowane polecenie lub narzędzie do zmiany przypisania kluczy w Ubuntu / GNOME?
xmodmap
jest osłabione! aby uzyskać ustawienie systemowe, którego musisz użyćxkb
. Edytuj plik językowy w,/usr/share/X11/xkb/symbols/
aby dodać tam swoje zmiany. Zobacz askubuntu.com/a/898462/34298Odpowiedzi:
Uwaga: od 2013 r. Ubuntu i pochodne nie używają już
xmodmap
, ale zamiast tego używająxkb
. Aby uzyskać więcej informacji, zobacz tę odpowiedź . Poniższa odpowiedź nie ma już zastosowania do bieżących wersji.Do ponownego mapowania niektórych kluczy potrzebujesz dwóch narzędzi. Pierwszy xev (narzędzie wiersza poleceń) i drugi xmodmap (także narzędzie wiersza poleceń). Oba powinny być dostępne w Ubuntu bez dodatkowej instalacji.
Uruchom okno terminala i uruchom
xev
. Teraz jest aktywny i czeka na naciśnięcie klawisza. Następnie naciśnij klawisz, którego zachowanie chcesz zmienić. tj PgUp.xev
wyświetli informacje o naciśniętym klawiszu. Trzecia linia jest ważna. Powinien wyglądać podobnie do:w tym przykładzie
Prior
jest to nazwa zachowania, do którego przypisany jest obecnie klucz, numer kodu jest wewnętrznym identyfikatorem rozpoznającym klucz. Teraz zrób to z innym kluczem, tj. PgDownPodaj ten wynikOto kolejny interesujący dla nas
keycode 115
iNext
- nazwa zachowanie.teraz, gdy chcesz zamienić dwa klucze, użyj
xmodmap
.Spowoduje to zmianę klawisza z kodem 110 na klawiaturze na akcję
Next
. To całkiem proste.Zauważ, że jeśli mapowany klawisz powinien mieć inne znaczenie, gdy jest używany z Shiftklawiszem (na przykład dla brytyjskich układów klawiatury, Shift+ 2daje cudzysłowy), możesz po prostu wymienić dodatkowe polecenie po pierwszym. Na przykład, jeśli chcesz, aby klucz z kodem 53 był odwzorowywany normalnie na odwrotny ukośnik, ale do symbolu słupka, gdy jest używany z shiftem, możesz:
Dodatkowe informacje: Sekwencja tych przekształceń jest Key, Shift+Key, mode_switch+Key, mode_switch+Shift+Key, AltGr+Key, AltGr+Shift+Key. Aby pominąć kolumnę, użyj
NoSymbol
. Co więcej, tutaj jest pełna lista wszystkich kluczy.Uwaga: Te zmiany dotyczą tylko aktywnej sesji X i zostaną utracone po ponownym uruchomieniu. Jeśli chcesz trwale zapisać zmiany, musisz uruchomić następujące polecenia po powyższych:
(tworzy plik o nazwie
.Xmodmap
w katalogu domowym (~
))Następnie musisz utworzyć plik o nazwie
.xinitrc
w katalogu domowym, w którym umieścisz poleceniexmodmap .Xmodmap
.Możesz teraz zmodyfikować
.Xmodmap
i uruchomićxmodmap .Xmodmap
z konsoli, aby natychmiast zobaczyć zmiany. Zmiany.Xmodmap
będą się utrzymywać.źródło: Ubuntu Foruns
Materiały dodatkowe:
Jeśli mapowany klawisz zachowuje się inaczej w zależności od stanu (na przykład, w jaki sposób klawisze klawiatury numerycznej zależą od NumLock), po prostu musisz zrobić,
xmodmap -pm
aby uzyskać listę modyfikatorów, a następnie:xmodmap -e "KEYCODE MODIFIER = behaviour behaviour_with_modifier"
Załóżmy na przykład, że chcesz uzyskać kropkę zamiast przecinka na klawiaturze numerycznej (przydatne dla większości programistów), ale chcesz zachować zachowanie „usuwania”, gdy NumLock jest wyłączony.
mod2
, ponieważxmodmap -pm
mówi nammod2
toNum_Lock
, że inne nazwy są uzyskiwane przez naciśnięcie klawiszyxev
.źródło
xev
nie jest w stanie złapaćFn
kluczowych naciśnięć-event
flagę w Ubuntu 12.04. Zgłasza błąd i nie wspomina o „zdarzeniu” wman xev
.Jeśli próbujesz przenieść klawisz Shift, istnieje kilka dodatkowych kroków:
źródło
Właśnie się zastanowiłem .. Myślę, że możesz rozumieć coś zupełnie innego przez „remap” .. ale zostawię moją odpowiedź taką, jaka jest ... (Nie wiem, jak zmienić przypisanie jednego klucza do zachowuj się jak inny)
AKTUALIZACJA : moja „refleksja” została potwierdzona; (Odpowiedziałem na złe pytanie:) ... proszę zobaczyć odpowiedź Wiki NES na Wiki (zaakceptowano powyżej).
Istnieją dwa ogólne sposoby ponownego przypisania klucza do
ponownegoprzypisania klucza.(klucz może być używany do różnych rzeczy w różnych aplikacjach / oknach)
(klawisz ma tę samą funkcję we wszystkich oknach)
W przypadku metod „lokalnych dla programu” czasami istnieje sposób zmiany skrótów klawiszowych oferowanych przez samą aplikację ... np.
Firefox
ma dodatek o nazwie keyconfig ... dla niektórych informacji zobacz ten post MozillZineWiększość programów Ubuntu jest oparta na Gnome i istnieje specjalne narzędzie do modyfikowania skrótów klawiszowych dla dowolnego elementu menu tych aplikacji Gnome ... Nazywa się
Editable Menu Accelerator
... Jest to bardzo „drażliwe” narzędzie, ale dość potężne. Możesz włączyć uruchamiając gogconf-editor
(przez Terminal lub Alt + F2) ... przejdź dodesktop
-gnome
-interface
i wybierzcan_change_accels
.... Możesz następnie zmienić elementy menu na wirtualne, co ci się podoba (na program / okno) ... Sugeruję wyłączenie gdy tylko zrobisz to, czego potrzebujesz ...W przeciwnym razie możesz skonfigurować Globalne skróty. Korzystam z programu o nazwie xbindkeys , a także jest dostępna opcja w Menu głównym - Preferencje, zwane
Keyboard Shortcuts
Jeśli używasz xbindkeys, musisz dodać go do „Startup Applications” (Menu główne - Preferencje) ... Również (jak sugeruje Stefano Palazzo) Wcześniej napisałem bardziej szczegółowy opis xbindkeys w odpowiedzi na ten temat strona askubuntu
źródło
xdotool
, sprawdź stronę podręcznika, użyłem go do rozwiązania tego problemu .Oto jak próbowałem przełączyć mapowanie ENTERklucza na SHIFTklucz (i odwrotnie):
RAPORTY:
RAPORTY:
RAPORTY:
(zignoruj kolejne pięćdziesiąt wierszy)
Ważna jest trzecia linia każdego naciśnięcia klawisza:
ODWRÓĆ MAPOWANIE:
ZAPISZ WYNIKI:
DODAJ
Głównym problemem było to, że odwrócenie NIE zadziałało. ENTERKlucz został odwzorowany do SHIFT_Rklucza; ale SHIFT_Rklucz nie został zmapowany na ENTERklucz. Domyśl.
źródło
Aby wykonywać globalne remapy niezależnie od X, możesz zamiast tego skorzystać z konfiguracji konsoli (5) .
W moim przypadku chciałem zmienić mapowanie Caps Lockklucza D, ponieważ mój klawisz Djest zepsuty :)
Najpierw użyłem dumpkeys (1), aby uzyskać szablon do mapowania, w przypadku Dklawisza interesującym bitem jest mapowanie kodu klucza 32 (na mojej klawiaturze); Zauważ, że we wzorze grep są dwie spacje!
Aby zmienić mapę, aby zastosować Caps Lock(kod klucza 58 na mojej klawiaturze)
Teraz czyta
Aby dodać to mapowanie do domyślnej mapy, wystarczy dołączyć go do pliku dołączanego do mapowania w celu konfiguracji konsoli
i konfiguracja konsoli wymaga ponownej konfiguracji (pomijając pytania o niskim priorytecie
-phigh
)Teraz mapowanie powinno zostać zakończone i załadowane automatycznie przy starcie systemu.
źródło
Spędziłem cały dzień, próbując stworzyć skrót do
Ctrl+Pageup
.Najpierw próbowałem,
xmodmap
ale nie można wygenerować zdarzeń modyfikatora. Nie można więc utworzyć skrótu, który generuje na przykładControl
zdarzenie.Potem starał
xbindkeys
sięxmacro
. Ten rodzaj działa, alexbindkeys
nie jest w stanie uchwycić niektórych kluczowych kombinacji w moim systemie, takich jakAlt + ___
.W końcu użyłem własnych skrótów klawiaturowych Unity -> Niestandardowe skróty, aby skonfigurować mój skrót.
I zamiast
xmacro
tego użyłemxvkbd
programu do generowania zdarzeń klawiatury, ale to tylko osobiste preferencje. Obaxmacro
ixvkbd
działają prawie tak samo. Dodatkową wskazówką jest dodanie parametru opóźnieniaxmacro
lubxvkbd
upewnienie się, że zdarzenia nie zostaną utracone.źródło
Dla mnie AutoKey z Software Center działało najlepiej. Ma intuicyjny interfejs graficzny, aby dodać nowe wiązanie kliknij Nowy -> Fraza i
<left>
(lista klawiszy specjalnych jest tutaj ).źródło
Super+C
iSuper+V
doCtrl+C
iCtrl+V
. Idealne rozwiązanie do korzystania z Ubuntu przez VirtualBox na komputerze MacSuper+V
aby „pokazać listę powiadomień”, przejdź do Ustawienia -> Urządzenia -> Klawiatura i wyłącz jąJeśli potrzebujesz ponownie przypisać klucz tylko do określonego programu, właśnie dodałem tę funkcję do hax11.
Aby to zrobić za pomocą hax11, otwórz plik konfiguracyjny profilu programu w
~/.config/hax11/profiles
(np.~/.config/hax11/profiles/usr\lib\firefox\firefox
) I dodaj:źródło