Jak mogę zmienić klawisze na klawiaturze? (Jak mogę utworzyć niestandardowe polecenia / skróty klawiaturowe?)

131

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:


Nadal szukam odpowiedzi za pomocą dconf i dowolnej innej metody.

Seth
źródło
Czy może Xmacro należy do tej odpowiedzi? może „Nagrywać / odtwarzać naciśnięcia klawiszy i ruchy myszy na wyświetlaczach X”.
roadmr
@roadmr Jeśli mogę go użyć do tworzenia niestandardowych skrótów klawiaturowych, to tak!
Seth
Dziękujemy za dodanie tego wątku. Szukam sposobu użycia klawisza tak jak przycisku myszy (przytrzymaj i przeciągnij, kliknij itp.). Wydaje się, że brakuje tego w wątku.
krumpelstiltskin
@krumpelstiltskin Obecnie nie jestem świadomy żadnego sposobu osiągnięcia tak dokładnego powielenia myszy. Proponuję zadać nowe pytanie. Jeśli to wymyślę, nadal mogę tam odpowiedzieć, albo ktoś inny może mieć lepszą odpowiedź :)
Seth
1
oto xkbodpowiedź: askubuntu.com/a/347382/354350
DJCrashdummy

Odpowiedzi:

94

xbindkeys ..

sudo apt-get install 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:

xbindkeys --defaults

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ł:

xbindkeys --defaults > $HOME/.xbindkeysrc

Który drukuje wartości domyślne w ukrytym pliku o nazwie .xbindkeysrczlokalizowanym w home ( ~).

Teraz, aby faktycznie zmienić powiązania klawiszy, najpierw musimy wiedzieć, jak brzmi nazwa lub skrót kluczy. xbindkeyspozwala nam użyć -kuchwytu do znalezienia nazwy klucza lub kombinacji klawiszy. Biegać:

xbindkeys -k

I naciśnij klawisz lub kombinację klawiszy. Jego wynik będzie wyglądać coś podobnego do tego (po naciśnięciu space):

"NoCommand"
m:0x10 + c:65
Mod2 + space

"No Command"informuje nas, że obecnie żadne polecenie nie jest powiązane z Spacekluczem.

m:0x10 + c:65
Mod2 + space  

To nazwa klucza / kombinacji klawiszy.

plik konfiguracyjny ..

Pozwala otworzyć wcześniej utworzony plik konfiguracyjny:

gedit .xbindkeysrc  

Oto fragment domyślnego pliku konfiguracyjnego:

#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#

# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show" 
 control+shift + q  

Każda linia rozpoczynająca się od #jest komentarzem i nie będzie czytana ani uruchamiana przez xbindkeys.

Jak dotąd jedyny wiersz, który nie został skomentowany, to:

"xbindkeys_show" 
 control+shift + q  

Ten fragment pokazuje podstawową składnię xbindkeyspoleceń:

"Command to run (in quotes)"
key to associate with command (no quotes)  

Jak widać:

"xbindkeys_show" 
 control+shift + q  

Uruchamia polecenie xbindkeys_showpo 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 -knazwy klucza lub kluczy, ale istnieje łatwiejszy sposób. W przypadku prostych kombinacji, takich jak Ctrl+ b, możesz po prostu użyć:

Control+b

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ę? xbindkeysPolecenie, aby uruchomić Firefoksa (lub inną ulubioną przeglądarkę) po naciśnięciu Ctrl+ bjest:

"firefox"
Control+b

Teraz umieść to w pliku konfiguracyjnym i zapisz. Teraz możesz zauważyć, że twoje polecenie jeszcze nie działa, ponieważ xbindkeysnie działa. Aby go uruchomić, po prostu uruchom go xbindkeysz 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ż xbindkeysnie obsługuje tego samodzielnie. Znam dwa programy, których możemy użyć, xdotooli xte. Wolę, xtewięc zamierzam z tego skorzystać.

Zainstaluj to:

sudo apt-get install xautomation

Składnia xtejest następująca:

xte 'command key/mousebutton/xyCoordinates'

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 xbindkeysskryptu, w następujący sposób:

"xte 'key b'"
Control+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 xbindkeysi xtenie 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ć xbindkeysdo 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:

" [command to run]  "
b:n

Gdzie [command to run]jest polecenie, które chcesz uruchomić, i nnumer przycisku myszy, którego chcesz użyć dla tego polecenia.

Jeśli nie znasz numeru przycisku myszy, możesz xevdowiedzieć się, co to jest:

xev | grep button

Wynik będzie mniej więcej taki:

user@host:~$ xev | grep button
    state 0x10, button 1, same_screen YES
    state 0x110, button 1, same_screen YES
    state 0x10, button 2, same_screen YES
    state 0x210, button 2, same_screen YES
    state 0x10, button 3, same_screen YES
    state 0x410, button 3, same_screen YES

Kiedy naciskam każdy z moich przycisków myszy.

Na przykład:

" firefox "
b:2

Uruchamia Firefoksa po naciśnięciu środkowego przycisku myszy.

Seth
źródło
Czy za pomocą xbindkeys można zmapować Meta + C / V dla kopiowania / wklejania i Meta + Space dla zmiany języka?
Sonique
czy istnieje sposób na dołączenie sekwencji znaków do pojedynczego klawisza, np. dołącz „równanie” do klawisza zwiększania głośności?
JPi
55

Xev i Xmodmap

Zmienianie powiązań klawiszy za pomocą xevi xmodmap.

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 xevaplikację z okna terminala ( Ctrl- Alt- t).

Aplikacja zainicjuje się, wyświetli szereg wierszy i otworzy puste okno. Trzymaj xevokno aplikacji w centrum uwagi i naciśnij klawisz, którego właściwości / zachowania chcesz użyć.

  • Naciśnij ESCklawisz

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.

KeyPress event, serial 32, synthetic NO, window 0x3e00001,
    root 0x256, subw 0x0, time 16245388, (616,73), root:(1487,535),
    state 0x10, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""

W tym przypadku Escklucz (kod klucza 9) używa nazwy „Escape” .

  • Naciśnij Caps Lockklawisz

Tym razem szukamy używanego kodu Caps Lock.

Ponownie zwróć uwagę na trzecią linię:

KeyRelease event, serial 32, synthetic NO, window 0x4c00001,
    root 0x256, subw 0x0, time 94702774, (862,151), root:(1733,613),
    state 0x10, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XKeysymToKeycode returns keycode: 9
    XLookupString gives 1 bytes: (1b) ""

Korzystanie z xmodmap

Po uzyskaniu informacji o klawiszach, z których chcemy zmienić xev, użyjemy xmodmapdo 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

    xmodmap -e "keycode 66 = Escape"
    
  • Ta opcja drukuje tabelę map klawiszy jako wyrażenia w pliku ~/.Xmodmap

    xmodmap -pke > ~/.Xmodmap
    

Aktywuj zmiany (tylko dla tej sesji logowania) za pomocą następującego polecenia:

xmodmap ~/.Xmodmap

Utrwalanie zmian podczas ponownego uruchamiania:

  • Jeśli nie istnieje, utwórz plik w folderze domowym o nazwie .xinitrc.

    touch .xinitrc
    
  • Umieść następujący wiersz w pliku i zapisz plik:

    xmodmap ~/.Xmodmap
    

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)

    $ xmodmap -pm
    shift       Shift_L (0x32),  Shift_R (0x3e)
    mod2        Num_Lock (0x4d)
    

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:

xmodmap -e "keycode 91 mod2 = KP_Delete comma"

Zauważ, że używa to mod2mapowania klawiszy do zmiany zachowania klawiszy po Num Locknaciśnięciu modyfikatora . Składnia tego jest następująca:

xmodmap -e "<KEYCODE> <MODIFIER> = <behaviour> <behaviour_with_modifier>"

Ratunek

Kevin Bowen
źródło
2
+1! Mam bankomat z koreańską klawiaturą bez klawisza alt-gr i potrzebowałem go, więc twoja odpowiedź była bardzo pomocna, aby działał. Na przyszłość, a ponieważ klawisz Alt-gr nie jest najłatwiejszy do ustawienia, oto polecenie (użyłem klawisza Hanja, który ma kod 130): xmodmap -e "keycode 130 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key"
Shautieh
43

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 :

wprowadź opis zdjęcia tutaj

Następnie wybierz Ustawienia systemu :

wprowadź opis zdjęcia tutaj

Tutaj znajdziesz 2 opcje, które mogą wysłać cię do sekcji Tworzenie skrótu.

wprowadź opis zdjęcia tutaj

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.

wprowadź opis zdjęcia tutaj

Jeśli wybierzesz Keyboard opcji, trzeba kliknąć na skróty Tab

wprowadź opis zdjęcia tutaj

Po dotarciu do zakładek Skróty wybierz Niestandardowe skróty u dołu listy po lewej stronie:

wprowadź opis zdjęcia tutaj

A następnie kliknij znak plus u dołu, aby rozpocząć tworzenie własnego skrótu:

wprowadź opis zdjęcia tutaj

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.

wprowadź opis zdjęcia tutaj

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:

wprowadź opis zdjęcia tutaj

Następnie kliknęlibyśmy komunikat „Wyłączony”, aby dodać do niego kombinację klawiszy:

wprowadź opis zdjęcia tutaj

W tej części przypisuję kombinację klawiszy SHIFT+ CTRL+ S, aby po naciśnięciu tej kombinacji otworzyła aplikację Sublime Text.

wprowadź opis zdjęcia tutaj

Następnie możesz po prostu przetestować kombinację, naciskając odpowiednią kombinację klawiszy i widząc, że aplikacja jest otwarta:

wprowadź opis zdjęcia tutaj

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?

Luis Alvarado
źródło
Mam 13.10 i w ogóle nie mam ikony „Wprowadzanie tekstu” w Ustawieniach systemu. :(
wim
Cześć Wim, czy możesz podać link do obrazu, który pokazuje twoje ustawienia systemowe.
Luis Alvarado,
2
Niestety teraz mamy 15.04. Ta odpowiedź to zniekształcony bałagan. Układ klawiatury zniknął, a wraz z nim możliwość zabicia X serwera. Zrzuty ekranu mieszają się przed 13.04 (kogo to obchodzi!?!) I późniejszymi zrzutami ekranu, a ktoś wstawił je w niewłaściwe miejsce, więc „kliknij Opcje w prawym dolnym rogu” jest daleki od faktycznego, przestarzałego zrzutu ekranu. :-(
skierpage
@skierpage Dlatego udzieliłem tej odpowiedzi: askubuntu.com/questions/367983/… mam nadzieję, że to pomoże.
Luis Alvarado
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?
dinozaur
21

Przejdź do Ustawienia systemuKeboard , 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 firefoxw polu polecenia in; jeśli domyślnym narzędziem do przeglądania jest Firefox, użyj chromium-browseritd.:

dodaj niestandardowy skrót

Radu Rădeanu
źródło
Dzięki. Zobacz też moją własną odpowiedź na pewne osobliwości dotyczące ustawiania kluczy. Z początku mnie mistyfikowałem, mimo że byłem we właściwym miejscu.
Michael Durrant,
2
Ale to nie działa w moim przypadku. Ubuntu (z jakiegoś powodu) w ogóle nie pozwala mi ustawić klawiszy skrótów! Postępowałem zgodnie z krokiem 4 (jak pokazano na zdjęciu). Czy coś mi brakuje?
Vaibhav Kaushal
2
Wolę tę odpowiedź od tych dostępnych w zduplikowanym pytaniu.
Pan B
3
@VaibhavKaushal: w kroku 5 musisz kliknąć przycisk „dezaktywowany” po prawej stronie, a następnie zrobić skrót, który ci się podoba, który zostanie natychmiast wyświetlony
rubo77
Ponowne uruchomienie może być konieczne, aby zmiany zaczęły obowiązywać
Shirley Temple
18

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:

wprowadź opis zdjęcia tutaj

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

  1. Wybierz Plik> Nowy> Fraza.
  2. Upewnij się, że „Wklej za pomocą” jest ustawione na „Klawiatura”.
  3. Wpisz klucze chcesz mapować do w polu tekstowym.

    • Klucze specjalne (niebędące znakami) są reprezentowane przez kody tutaj udokumentowane .
    • Jeśli wpiszesz wiele kluczy, zostaną one wysłane kolejno, chyba że umieścisz +między nimi (np. <ctrl>+cSkopiuje w większości aplikacji; <ctrl>+c<ctrl>+n<ctrl>+vutworzy nowy dokument zawierający zaznaczenie; <shift>+ubuntunapisze tekst „Ubuntu”)
  4. Naciśnij przycisk „Set” obok „Hotkey”. Spowoduje to wyświetlenie okna dialogowego, które umożliwia określenie kombinacji klawiszy chcesz zmapować z :

    wprowadź opis zdjęcia tutaj

  5. Wybierz Plik> Zapisz

Przykład ukończonej konfiguracji (wysyłanej <enter>po naciśnięciu <ctrl>+m) wygląda następująco:

wprowadź opis zdjęcia tutaj

cscarney
źródło
Uwaga: Obecnie Debian (gdzie Ubuntu otrzymuje pakiet AutoKey) nie utrzymuje swojego pakietu AutoKey. Aktualne instrukcje instalacji można znaleźć na stronie: github.com/autokey/autokey/wiki/Installing
Joe
15

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:

sudo apt-get install xkeycaps

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

wprowadź opis zdjęcia tutaj

Następnie, gdy pojawi się klawiatura na ekranie, kliknij prawym przyciskiem myszy żądany klawisz, w twoim przypadku jest to S, i wybierz klucze wymiany.

wprowadź opis zdjęcia tutaj

Pamiętaj, aby dodać poniższy wiersz do swoich sesji, aby uruchamiał się automatycznie przy każdym uruchomieniu.

xmodmap ~/.xmodmap-`uname-n`

Źródło: UFM ytsejam1138

Mitch
źródło
Ma uname-nbyć uname -n?
wjandrea
Według źródła jego unmae-n. Nie mam dostępu do maszyny Ubuntu do testowania, ale kiedy to zrobię, sprawdzę dalej.
Mitch
8

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 wpisaniuJmail! ” 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.

Joe
źródło
1
Czy możesz dodać jakieś informacje na temat instalacji, a może także korzystania? To byłoby niesamowite!
Seth
AutoKey został częściowo migrowany z code.google do GitHub. Zobacz github.com/autokey/autokey . Istnieje również gałąź Python 3 - github.com/guoci/autokey-py3 .
Joe
Aktualna wersja AutoKey znajduje się na stronie github.com/autokey/autokey Oddział Python 2 został uznany za nieaktualny .
Joe
7

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.

  1. zainstaluj niektóre narzędzia:

    sudo apt-get install x11-utils xkbset x11-xserver-utils
    
  2. znajdź kod klucza dla klucza, który chcesz zmapować:

    • wpisz xev | grep keycodew terminalu
    • naciśnij klucz zainteresowania, a pojawi się taka linia:

      state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,  
      
  3. za pomocą kodu klucza przypisz klucz, aby zrobić to samo, co lewy przycisk myszy:

    • xkbset m
    • xmodmap -e "keycode 64 = Pointer_Button1"

Pointer_Button3to prawy przycisk myszy i Pointer_Button2środek.

krumpelstiltskin
źródło
4

Korzystanie z xkb

xkbjest rozszerzeniem X Keyboard. Odpowiada za mapowanie klawiszy klawiatury na wyznaczoną funkcję. xkbsymbole 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 Locki Left Control. Te zmiany są wymagane w pcpliku:

key <CAPS> {        [ Control_L             ]       };
key <LCTL> {        [ Caps_Lock             ]       };

Aby zastosować nowe mapowania, musisz wyczyścić xkbpamięć podręczną z /var/lib/xkb:

rm -rf /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 lswewnątrz symbolskatalogu daje:

af        cm            gn       kz              nec_vndr    sk
al        cn            gr       la              ng          sn
altwin    compose       group    latam           nl          sony_vndr
am        ctrl          hp_vndr  latin           no          srvr_ctrl
apl       cz            hr       level3          nokia_vndr  sun_vndr
ara       de            hu       level5          np          sy
at        digital_vndr  ie       lk              olpc        terminate
az        dk            il       lt              pc          th
ba        ee            in       lv              ph          tj
bd        empty         inet     ma              pk          tm
be        epo           iq       macintosh_vndr  pl          tr
bg        es            ir       mao             pt          tw
br        et            is       md              ro          typo
brai      eurosign      it       me              rs          tz
bt        fi            jp       mk              ru          ua
bw        fo            ke       ml              rupeesign   us
by        fr            keypad   mm              se          uz
ca        fujitsu_vndr  kg       mn              sgi_vndr    vn
capslock  gb            kh       mt              sharp_vndr  xfree68_vndr
cd        ge            kpdl     mv              shift       za
ch        gh            kr       nbsp            si

Odwzorowania w pliku ruoparte są na standardowej rosyjskiej klawiaturze. macintosh_vndrFolder zawiera mapowania dla klawiatur Apple. Krótko mówiąc, takie podejście jest bardzo wszechstronne. Śmiało i baw się z tym :)

chips
źródło
Wspomniałeś o 2 plikach. Do jakiego pliku wprowadzane są zmiany? :)
Seth
Wspomniałem tylko o jednym pliku - /usr/share/X11/xkb/symbols/pc.
crisron
Mój błąd. Po raz drugi przyjrzałem się, że pierwszą ścieżką był folder, a nie plik. Edytowane, aby było trochę bardziej oczywiste :)
Seth
3

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ć.

Michael Durrant
źródło
1

Skrót istnieje już jako WWW, wystarczy zmienić go na Ctrl+ Alt+ b. Nie ma potrzeby tworzenia nowego.

wprowadź opis zdjęcia tutaj

Mitch
źródło
1

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:

sudo apt-get install compizconfig-settings-manager

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 :

  1. Uruchom CCSM z deski rozdzielczej.
  2. Przejdź do Zarządzanie oknami -> Skala -> karta Wiązania -> Zainicjuj Próbnik okien
  3. Kliknij skrót klawiaturowy ( <Super>wna komputerze, ale <Super>Tabna tym zrzucie ekranu).

    CCSM - Zarządzanie oknami - Skala

  4. Kliknij opcję Chwyć kombinację klawiszy , naciśnij żądane klawisze, a następnie kliknij przycisk OK.

    Edytuj inicjuj próbnik okien

wjandrea
źródło
1

Chciałem nacisnąć Print Screen, aby zapisać zrzut ekranu za pomocą gnome-screenshotaplikacji, jak w Mennicy

Ale chciałem to zrobić za pomocą terminala, a nie GUI, ponieważ chcę ustawić go jako domyślny podczas tworzenia niestandardowego ISO za pomocą squashfsnarzędzi.

Najpierw zainstalowałem zrzut ekranu gnome za pomocą polecenia

sudo apt-get install gnome-screenshot

Następnie przypisałem niestandardowy skrót za pomocą Ustawienia -> Klawiatura -> Niestandardowe skróty -> Przycisk Dodaj (+) ->

W oknie dialogowym:

  • Nazwa: zrzut ekranu
  • Polecenie: gnome-screentshot

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-editorza pomocą

sudo apt-get install dconf-editor

I gnome-screenshot
znajdź moje niestandardowe powiązania klawiszy na tej ścieżce

/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/

Wartości kluczy to:

  • oprawa „Drukuj”
  • polecenie „gnome-screenshot”
  • nazwa „drukuj ekran”

Teraz je kopiuję i usuwam niestandardowy klawisz skrótu GUI

Otwieram terminal i wpisuję te polecenia

dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-screenshot'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding  "'Print'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'print screen'"

I voila

Teraz mogę zapisywać zrzuty ekranu bez graficznego interfejsu użytkownika dconfi terminala. Nie potrzebuję dconf-editorjuż więcej, został właśnie zainstalowany, aby uzyskać wartości.

Subhani Minhas
źródło
1

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:

  • skopiuj xmodmap .Xmodmapdo pliku o nazwie .xsessionzamiast .xinitrc.
  • zmień uprawnienia do pliku (kliknij prawym przyciskiem myszy, właściwości, zakładkę uprawnień, zmień uprawnienia na „odczyt i zapis” i zaznacz pole w oknie)
  • dodaj aplikację startową za pomocą /home/<YOUR_USER_NAME>/.xsessionpolecenia.
wysypka
źródło