Chcę zmienić powiązania klawiszy na niektórych klawiszach na klawiaturze. Chcę, aby niektóre uruchamiały polecenia, a inne aktywowały różne klawisze.
Z jakich aplikacji mogę to zrobić?
Indeks:
Domyślne ustawienia klawiatury i skrótów (z poziomu ustawień systemu)
- xkb
xkb
odpowiedź: askubuntu.com/a/347382/354350Odpowiedzi:
xbindkeys ..
Xbindkeys to bardzo wszechstronny program, który pozwala bardzo łatwo mapować klucze. Używa pliku konfiguracyjnego, domyślnie znajdującego się w twoim katalogu domowym, do zmiany przypisania klawiszy na określone polecenia.
Aby utworzyć domyślny plik konfiguracyjny, użyj polecenia:
Który drukuje domyślny plik konfiguracyjny. Więc jeśli chcesz utworzyć plik zawierający wartości domyślne, którego byś użył:
Który drukuje wartości domyślne w ukrytym pliku o nazwie
.xbindkeysrc
zlokalizowanym w home (~
).Teraz, aby faktycznie zmienić powiązania klawiszy, najpierw musimy wiedzieć, jak brzmi nazwa lub skrót kluczy.
xbindkeys
pozwala nam użyć-k
uchwytu do znalezienia nazwy klucza lub kombinacji klawiszy. Biegać:I naciśnij klawisz lub kombinację klawiszy. Jego wynik będzie wyglądać coś podobnego do tego (po naciśnięciu space):
"No Command"
informuje nas, że obecnie żadne polecenie nie jest powiązane z Spacekluczem.To nazwa klucza / kombinacji klawiszy.
plik konfiguracyjny ..
Pozwala otworzyć wcześniej utworzony plik konfiguracyjny:
Oto fragment domyślnego pliku konfiguracyjnego:
Każda linia rozpoczynająca się od
#
jest komentarzem i nie będzie czytana ani uruchamiana przezxbindkeys
.Jak dotąd jedyny wiersz, który nie został skomentowany, to:
Ten fragment pokazuje podstawową składnię
xbindkeys
poleceń:Jak widać:
Uruchamia polecenie
xbindkeys_show
po naciśnięciu Ctrl+ Shift+ q.powiąż klawisze z poleceniami ..
Teraz spróbujmy powiązać kilka kluczy. Zalecam wyczyszczenie całego pliku domyślnego, aby był pusty. Zawiera predefiniowane powiązania klawiszy, których prawdopodobnie nie chcesz.
Powiedzmy teraz, że chcesz użyć Ctrl+, baby otworzyć przeglądarkę. Po pierwsze trzeba wiedzieć, jaka jest nazwa lub keysym z Ctrl+ bjest. Jak wspomniano wcześniej, możesz użyć
xbindkeys -k
nazwy klucza lub kluczy, ale istnieje łatwiejszy sposób. W przypadku prostych kombinacji, takich jak Ctrl+ b, możesz po prostu użyć:O wiele łatwiej, prawda!
Teraz znajdź polecenie swojej ulubionej przeglądarki:
W przeglądarce Firefox:
firefox
Dla chromu:
chromium-browser
Dla Opery:
opera
Pamiętasz wcześniejszą składnię?
xbindkeys
Polecenie, aby uruchomić Firefoksa (lub inną ulubioną przeglądarkę) po naciśnięciu Ctrl+ bjest:Teraz umieść to w pliku konfiguracyjnym i zapisz. Teraz możesz zauważyć, że twoje polecenie jeszcze nie działa, ponieważ
xbindkeys
nie działa. Aby go uruchomić, po prostu uruchom goxbindkeys
z terminala. Twój Ctrl+ bpowinien teraz uruchomić przeglądarkę!powiąż klucze z innymi kluczami ..
Jeśli chcesz, aby klawisz na klawiaturze wywoływał inny klawisz na klawiaturze, będziesz potrzebować dodatkowego oprogramowania, ponieważ
xbindkeys
nie obsługuje tego samodzielnie. Znam dwa programy, których możemy użyć,xdotool
ixte
. Wolę,xte
więc zamierzam z tego skorzystać.Zainstaluj to:
Składnia
xte
jest następująca:Przykłady:
Aby połączyć się z jednym klawiszem, naciśnij:
xte 'key keyName'
Aby wywołać kombinację klawiszy:
xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName
Aby wywołać przycisk myszy:
xte 'mouseclick buttonNumber'
(Omówimy nieco późniejsze wyszukiwanie numerów przycisków)Aby przesunąć mysz:
xte 'mousemove xCoordinate yCoordinate'
I więcej! Czytać
man xte
Teraz, gdy znasz polecenie symulacji naciśnięć klawiszy, możesz je wywołać ze
xbindkeys
skryptu, w następujący sposób:Jak można się domyślać, wywołuje to
xte 'key b'
po naciśnięciu klawisza Ctrl+ b, co wprowadza bdowolny dokument, nad którym aktualnie pracujesz.I rzeczą, aby pamiętać, że to jednak
xbindkeys
ixte
nie zawsze działa bardzo dobrze. Czasami musisz nacisnąć klawisze dokładnie w tym samym czasie, aby uzyskać wyjście, innym razem działa to dobrze. Może to, ale nie musi mieć związku z konfiguracją systemu i / lub sprzętem. Nie jestem pewien. Zobacz odpowiedź maggotbrain na bardziej niezawodny sposób wiązania kluczy z innymi kluczami.powiąż przyciski myszy z poleceniami ..
Możesz także użyć
xbindkeys
do powiązania przycisków myszy z poleceniami (i stąd skróty klawiaturowe, patrz wyżej). Podstawowy format przycisków myszy powinien być Ci teraz znany:Gdzie
[command to run]
jest polecenie, które chcesz uruchomić, in
numer przycisku myszy, którego chcesz użyć dla tego polecenia.Jeśli nie znasz numeru przycisku myszy, możesz
xev
dowiedzieć się, co to jest:Wynik będzie mniej więcej taki:
Kiedy naciskam każdy z moich przycisków myszy.
Na przykład:
Uruchamia Firefoksa po naciśnięciu środkowego przycisku myszy.
źródło
Xev i Xmodmap
Zmienianie powiązań klawiszy za pomocą
xev
ixmodmap
.Obie aplikacje wiersza poleceń są domyślnie dostępne, więc nie ma potrzeby instalowania dodatkowego oprogramowania.
Xev „tworzy okno, a następnie prosi serwer X o wysyłanie zdarzeń za każdym razem, gdy coś się dzieje w oknie (np. Jest ono przenoszone, zmieniane, wpisywane, klikane itp.)”. strona podręcznika Xev
xmodmap to „program służący do edycji i wyświetlania mapy modyfikatorów klawiatury i tabeli map klawiszy, które są używane przez aplikacje klienckie do konwersji kodów zdarzeń na klucze”. strona podręcznika użytkownika xmodmap
Poniższy przykład zamapuje Caps_Lockklucz do jego zachowania Esc(wielu użytkowników vi / vim uważa to za przydatne mapowanie klawiatury).
Korzystanie z xev
Uruchom
xev
aplikację z okna terminala ( Ctrl- Alt- t).Aplikacja zainicjuje się, wyświetli szereg wierszy i otworzy puste okno. Trzymaj
xev
okno aplikacji w centrum uwagi i naciśnij klawisz, którego właściwości / zachowania chcesz użyć.W oknie terminala zobaczysz kilka wierszy wyników. Zanotuj zwróconą trzecią linię. Będzie zawierać nazwę właściwości, którą chcesz przenieść do drugiego klucza.
W tym przypadku Escklucz (kod klucza 9) używa nazwy „Escape” .
Tym razem szukamy używanego kodu Caps Lock.
Ponownie zwróć uwagę na trzecią linię:
Korzystanie z xmodmap
Po uzyskaniu informacji o klawiszach, z których chcemy zmienić
xev
, użyjemyxmodmap
do modyfikacji map klawiszy. Z poziomu terminalu poleceń ( Ctrl+ Alt+ t) uruchom następujące polecenia:To polecenie modyfikuje, Caps Lockaby użyć tego samego zachowania coEsc
Ta opcja drukuje tabelę map klawiszy jako wyrażenia w pliku
~/.Xmodmap
Aktywuj zmiany (tylko dla tej sesji logowania) za pomocą następującego polecenia:
Utrwalanie zmian podczas ponownego uruchamiania:
Jeśli nie istnieje, utwórz plik w folderze domowym o nazwie
.xinitrc
.Umieść następujący wiersz w pliku i zapisz plik:
Modyfikowanie kluczy za pomocą różnych zachowań stanowych
(takie jak Num Lock)
Uzyskaj tabelę map klawiszy dla klawiszy modyfikujących (wyjście tutaj skrócone)
Jeśli chcesz zmienić, na przykład, zachowanie terminu na Del/ Periodklawisza na klawiaturze numerycznej, aby przecinkiem, należy użyć następującego polecenia:
Zauważ, że używa to
mod2
mapowania klawiszy do zmiany zachowania klawiszy po Num Locknaciśnięciu modyfikatora . Składnia tego jest następująca:Ratunek
źródło
Domyślnie (tylko w celu uzupełnienia doskonałej odpowiedzi Setha) Ubuntu (w tym przykładzie używam 16.04) ma 2 kategorie, które domyślnie są dostępne w Ustawieniach systemu:
Aby przejść do Ustawień systemu, w prawym górnym rogu kliknij ikonę koła zębatego :
Następnie wybierz Ustawienia systemu :
Tutaj znajdziesz 2 opcje, które mogą wysłać cię do sekcji Tworzenie skrótu.
Jeśli wybierzesz Wpis tekstu , będziesz musiał wybrać link Ustawienia klawiatury w prawym dolnym rogu, który przekieruje cię bezpośrednio do opcji Skrótów.
Jeśli wybierzesz Keyboard opcji, trzeba kliknąć na skróty Tab
Po dotarciu do zakładek Skróty wybierz Niestandardowe skróty u dołu listy po lewej stronie:
A następnie kliknij znak plus u dołu, aby rozpocząć tworzenie własnego skrótu:
Odtąd to tylko kwestia dodania nazwy skrótu (nie myl nazwy skrótu z nazwą rzeczywistego polecenia, które będziesz wykonywać). A poniżej w polu Polecenie umieścisz polecenie, które zostanie wykonane dla tego skrótu. W poniższym przykładzie nazwałem skrót „Sublime Text 3”, aby wiedzieć, do czego odnosi się ten konkretny skrót. I w polu poleceń dodałem rzeczywiste polecenie, które jest
subl
.Na ekranie pojawi się następujący komunikat, który pokazuje, że ponieważ skrót nie ma jeszcze przypisanego klawisza lub kombinacji klawiszy, domyślnie jest wyłączony:
Następnie kliknęlibyśmy komunikat „Wyłączony”, aby dodać do niego kombinację klawiszy:
W tej części przypisuję kombinację klawiszy SHIFT+ CTRL+ S, aby po naciśnięciu tej kombinacji otworzyła aplikację Sublime Text.
Następnie możesz po prostu przetestować kombinację, naciskając odpowiednią kombinację klawiszy i widząc, że aplikacja jest otwarta:
UWAGA: W przypadku specjalnych kombinacji, takich jak ta, aby zabić X Server, sugeruję odwiedzić następujący link: Jak włączyć Ctrl-Alt-Backspace, aby zabić X Server?
źródło
If you click on the Options button at the bottom right (Found on 13.04 or previous versions)...
Gdzie jest przycisk opcji w wersjach> 13.04?Przejdź do Ustawienia systemu → Keboard , wybierz kartę Skróty i dodaj nowy niestandardowy skrót do przeglądarki. Jeśli domyślnym narzędziem do przeglądania jest Firefox, użyj
firefox
w polu polecenia in; jeśli domyślnym narzędziem do przeglądania jest Firefox, użyjchromium-browser
itd.:źródło
Możesz tworzyć złożone (wieloprzyciskowe) skróty klawiaturowe, instalując AutoKey z centrum oprogramowania. W przeciwieństwie do xmodmap, AutoKey nie ponownie wiąże rzeczywistych klawiszy na klawiaturze; działa w tle i przechwytuje zdefiniowane skróty klawiaturowe, a następnie wysyła symulowane naciśnięcia klawiszy do aplikacji.
Przy pierwszym uruchomieniu AutoKey uruchomi usługę w tle (ikona powiadomienia nie została zaktualizowana dla jedności, więc nie ma wizualnego wskazania). Po uruchomieniu możesz uruchomić interfejs konfiguracyjny, uruchamiając ponownie program uruchamiający:
Teraz otwórz Edycja> Preferencje i wybierz „Automatycznie uruchamiaj AutoKey przy logowaniu”, aby upewnić się, że skróty działają po każdym zalogowaniu.
Mapowanie skrótu klawiaturowego na inny skrót klawiaturowy
Wpisz klucze chcesz mapować do w polu tekstowym.
+
między nimi (np.<ctrl>+c
Skopiuje w większości aplikacji;<ctrl>+c<ctrl>+n<ctrl>+v
utworzy nowy dokument zawierający zaznaczenie;<shift>+ubuntu
napisze tekst „Ubuntu”)Naciśnij przycisk „Set” obok „Hotkey”. Spowoduje to wyświetlenie okna dialogowego, które umożliwia określenie kombinacji klawiszy chcesz zmapować z :
Wybierz Plik> Zapisz
Przykład ukończonej konfiguracji (wysyłanej
<enter>
po naciśnięciu<ctrl>+m
) wygląda następująco:źródło
Spróbuj tego:
Zainstaluj program o nazwie XKeyCaps. Aby zainstalować, wystarczy nacisnąć Ctrl+ Alt+ Tna klawiaturze, aby otworzyć Terminal. Kiedy się otworzy, uruchom poniższe polecenia:
Po zainstalowaniu możesz wykonać polecenie xkeycaps po wyświetleniu monitu o uruchomienie programu. Po uruchomieniu wybierz odpowiedni układ klawiatury i kliknij przycisk OK
Następnie, gdy pojawi się klawiatura na ekranie, kliknij prawym przyciskiem myszy żądany klawisz, w twoim przypadku jest to S, i wybierz klucze wymiany.
Pamiętaj, aby dodać poniższy wiersz do swoich sesji, aby uruchamiał się automatycznie przy każdym uruchomieniu.
Źródło: UFM ytsejam1138
źródło
uname-n
byćuname -n
?unmae-n
. Nie mam dostępu do maszyny Ubuntu do testowania, ale kiedy to zrobię, sprawdzę dalej.Jeśli chcesz po prostu ponownie przypisać klucze, inne odpowiedzi są świetne.
Istnieje jednak inny sposób na to. AutoKey to makroprocesor klawiatury, który pozwala powiązać dowolną kombinację klawiszy / modyfikatorów ze skryptem, który może zrobić prawie wszystko, co możesz zrobić z klawiatury i wiele więcej.
AutoKey ma rejestrator skryptów i prosty sposób wprowadzania podstawowych sekwencji klawiszy, ale jego skrypty są napisane w języku Python i mogą zrobić prawie wszystko, co można kodować.
Najprostszym sposobem korzystania z niego jest wysyłanie naciśnięć klawiszy do aplikacji / pulpitu. Przy takim użyciu system / aplikacje nie mogą stwierdzić, że to nie ty piszesz, więc nie jest potrzebny interfejs API ani inny interfejs, po prostu robią to, co napisałeś „ty”.
AutoKey może także przetwarzać frazy. Po wpisaniu ciągu znaków wyzwalających może on zastąpić nowy tekst tym ciągiem (natychmiast lub po wpisaniu znaku separatora, takiego jak znak nowej linii lub tabulator).
Ma również filtry okien, dzięki czemu możesz ograniczyć określoną frazę lub skrypt do uruchamiania tylko w określonych typach okien (takich jak te, które mają tytuł Mozilla, więc działają tylko w takich rzeczach, jak Firefox lub Thunderbird).
AutoKey ma obecnie wersje Gtk i Qt.
Edycje:
Instrukcja instalacji
Forum użytkowników Aktywne forum użytkowników.
Istnieje wiele przykładowych skryptów na wiki. Ponieważ jest to przede wszystkim aplikacja GUI z wieloma opcjami, przykłady wymagałyby wielu zrzutów ekranu i całego artykułu.
Mam zdefiniowaną frazę, która po wpisaniu „ Jmail! ” Natychmiast zastępuje ją moim dość długim adresem e-mail.
Napisałem skrypt uruchamiany przez pisanie Ctrl- Pktóry jest aktywny tylko w oknach, które mają tytuł „Mozilla”. Wpisywanie Ctrl- Pwyświetla okno dialogowe drukowania (Firefox lub Thunderbird), wybiera Drukuj do pliku, a następnie wypełnia nazwę następnego dostępnego pliku wydruku w mojej kolejce wydruku (numeruję je 01, 02, ... a skrypt odczytuje kolejkę katalog, znajduje ostatni numer pliku i zwiększa go o 1). Używam go z moim oprogramowaniem do emulacji drukowania dwustronnego ( duplexpr ), aby wyeliminować mnóstwo naciśnięć klawiszy i ruchów myszy.
Widziałem inne skrypty od graczy, które pozwalają im bardzo szybko uzyskać dostęp do informacji o swojej postaci i zasobach, dzięki czemu mogą skupić się na akcji.
źródło
UŻYWANIE KLAWIATUR KLAWIATURY JAKO PRZYCISKÓW MYSZY
Możesz zamapować klawisz klawiatury na przycisk myszy. Jeśli chcesz kliknąć za pomocą klawisza klawiatury (przydatne, jeśli masz komputer Macbook lub zły przycisk gładzika), możesz wykonać następujące czynności.
zainstaluj niektóre narzędzia:
znajdź kod klucza dla klucza, który chcesz zmapować:
xev | grep keycode
w terminalunaciśnij klucz zainteresowania, a pojawi się taka linia:
za pomocą kodu klucza przypisz klucz, aby zrobić to samo, co lewy przycisk myszy:
xkbset m
xmodmap -e "keycode 64 = Pointer_Button1"
Pointer_Button3
to prawy przycisk myszy iPointer_Button2
środek.źródło
Korzystanie z xkb
xkb
jest rozszerzeniem X Keyboard. Odpowiada za mapowanie klawiszy klawiatury na wyznaczoną funkcję.xkb
symbole można znaleźć w/usr/share/X11/xkb/symbols/
. Klawisze modyfikatora są zmapowane/usr/share/X11/xkb/symbols/pc
.Powiedz, że muszę zmienić funkcje klawiszy
Caps Lock
iLeft Control
. Te zmiany są wymagane wpc
pliku:Aby zastosować nowe mapowania, musisz wyczyścić
xkb
pamięć podręczną z/var/lib/xkb
:Teraz po prostu zrestartuj sesję X i możesz zacząć.
Źródło: https://radu.cotescu.com/remapping-keys-in-ubuntu-14.04/
Edycja: wykonanie
ls
wewnątrzsymbols
katalogu daje:Odwzorowania w pliku
ru
oparte są na standardowej rosyjskiej klawiaturze.macintosh_vndr
Folder zawiera mapowania dla klawiatur Apple. Krótko mówiąc, takie podejście jest bardzo wszechstronne. Śmiało i baw się z tym :)źródło
/usr/share/X11/xkb/symbols/pc
.Okazało się, że znajduje się pod aplikacją „klawiaturową”.
Jeśli poruszysz tę kwestię, możesz w razie potrzeby zmienić skróty ...
zmiana jest nieco dziwna przy pierwszym użyciu. Kliknij po prawej stronie (kolumna, która ma ctrl-alt-T, wyłączone itp.), A następnie kliknij właściwe klucze, np. ctrlaltb, Które chcesz. Zobaczysz nową sekwencję klawiszy pojawiającą się teraz w tym miejscu. Zamknij okno ( lub kliknij) i nowy skrót będzie teraz działać.
źródło
Skrót istnieje już jako WWW, wystarczy zmienić go na Ctrl+ Alt+ b. Nie ma potrzeby tworzenia nowego.
źródło
CompizConfig Settings Manager (CCSM)
CCSM umożliwia zmianę niektórych skrótów klawiaturowych systemu.
Aby go zainstalować, użyj Centrum oprogramowania lub tego polecenia:
Na przykład
Użyłem go do zmiany skrótu „Rozprzestrzenianie okna” z domyślnego Super+ Wna Super+ Tab, tak jak w Windows 10. Z mojej odpowiedzi w innym wątku :
źródło
Chciałem nacisnąć Print Screen, aby zapisać zrzut ekranu za pomocą
gnome-screenshot
aplikacji, jak w MennicyAle chciałem to zrobić za pomocą terminala, a nie GUI, ponieważ chcę ustawić go jako domyślny podczas tworzenia niestandardowego ISO za pomocą
squashfs
narzędzi.Najpierw zainstalowałem zrzut ekranu gnome za pomocą polecenia
Następnie przypisałem niestandardowy skrót za pomocą Ustawienia -> Klawiatura -> Niestandardowe skróty -> Przycisk Dodaj (+) ->
W oknie dialogowym:
Naciśnij przycisk Dodaj
Następnie naciśnij Print screenklawisz.
Klucz jest teraz związany i mogę zapisać zrzuty ekranu według potrzeb.
Ale nie używając terminala, to sposób GUI
Następnie zainstalowałem
dconf-editor
za pomocąI
gnome-screenshot
znajdź moje niestandardowe powiązania klawiszy na tej ścieżce
Wartości kluczy to:
Teraz je kopiuję i usuwam niestandardowy klawisz skrótu GUI
Otwieram terminal i wpisuję te polecenia
I voila
Teraz mogę zapisywać zrzuty ekranu bez graficznego interfejsu użytkownika
dconf
i terminala. Nie potrzebujędconf-editor
już więcej, został właśnie zainstalowany, aby uzyskać wartości.źródło
Próbowałem rozwiązania Kevina (podejście xmodmap) na Ubuntu 18.04. W moim przypadku nie zadziałało. Jednak ta procedura w końcu zadziałała:
xmodmap .Xmodmap
do pliku o nazwie.xsession
zamiast.xinitrc
./home/<YOUR_USER_NAME>/.xsession
polecenia.źródło