Użyj MC, MV, MA do kopiowania, wklejania, zaznaczania wszystkich

11

Używam Kubuntu Linux 12.04 na Macbooku Pro i szukam możliwości użycia klawisza Command / Meta do typowych skrótów, takich jak kopiowanie, wklejanie i zaznaczanie wszystkich.

Próby rozwiązań:

  • Zmień mapowanie Kopiuj, Wklej, Zaznacz wszystko i inne w Ustawieniach systemu KDE> Skróty i gesty> Standardowe skróty klawiaturowe
    • Problem : Te skróty wydają się być ignorowane przez większość aplikacji. Wszystkie przeglądarki, które testowałem, nadal spodziewały się Ctrlklucza, w którym wyraziłem chęć użycia tego Metaklucza. Ponieważ nie mogłem znaleźć działającej przeglądarki internetowej, nie próbowałem żadnych innych aplikacji.
    • Testowane w: Firefox, Chromium, Rekonq, Arora, Konqueror.
  • Zamień Metaza Ctrl pomocą xmodmap .
    • Problem : Emulatory terminali wymagałyby wtedy użycia Metaklawisza zamiast Ctrlklawisza dla poleceń takich jak przerwanie klawiatury, większość powiązań Emacsa i niezliczona ilość innych powiązań w różnych aplikacjach CLI.

Rozważane rozwiązania:

  • Indywidualnie zmieniaj typowe skróty w aplikacjach GUI. Niestety zmiana powiązań dla opcji Kopiuj, Wklej i Zaznacz wszystko wydaje się być rzadka.
  • Zmień modyfikator Ctrl tylko dla Konsoli (lub innego emulatora terminala). Idealnie spowodowałoby to Meta- xnaciśnięcie klawisza Ctrl- xi odwrotnie. Nie mogę jednak znaleźć sposobu na osiągnięcie tego.
  • Użyj stty, aby zmienić powiązania dla poleceń klawiszy terminala, aby używać meta, a także zapisać niestandardowe pliki konfiguracyjne dla wszystkich innych aplikacji CLI. Wymagałoby to nieuzasadnionego wysiłku.

Jestem bardzo zaskoczony, jak wiele wysiłku wydaje się wymagać ta prosta modyfikacja i będę wdzięczny za wszelką pomoc w znalezieniu rozsądnego rozwiązania.

Winston Green
źródło
Nie ma żadnej pomocy z twoim problemem, ale w odniesieniu do powiązań emacsa: Zamienione ctrl i meta są w rzeczywistości tym, do czego zaprojektowano wiązanie emacsa, ponieważ zostało ono opracowane dla klawiatur Space-Cadet, a nie dla IBM. Tak więc zamiana usuwa problem emacsa pinky ...
Trudbert
Spójrz xbindkeysi zadaj to pytanie na askubuntu o kluczach specyficznych dla aplikacji
Gerhard Burger

Odpowiedzi:

4

Jądro Linux generuje kod za każdym razem, gdy klawisz jest naciskany na klawiaturze. Ten kod jest porównywany z tabelą keycodesdefiniującą liczbę, która jest następnie wyświetlana.

Proces ten jest skomplikowany Xorg, ponieważ rozpoczyna własną tabelę keycodes. Każdy keycodemoże należeć do keysym. A keysymjest jak funkcja, która rozpoczyna się od wpisania klawisza. Xmodmappozwala edytować te keycode-keysymrelacje.

Aby uzyskać bieżącą tabelę map klawiszy, Xmodmapużyj:

xmodmap -pke

Spowoduje to wydrukowanie pełnej tabeli w następującym formacie:

keycode <keycode#> = <boundkey> <boundkey>

Przed przeniesieniem czegokolwiek należy wykonać kopię zapasową oryginalnego keycodeukładu za pomocą xmodmap -pke >> $HOME/Xmodmap.origTo umieści plik Xmodmap.origw katalogu domowym użytkowników.

Wskazówka: Istnieje również kilka predefiniowanych kody klawiszy (np XF86AudioMute, XF86Mail). Te kody dostępu można znaleźć w:/usr/include/X11/XF86keysym.h

Można również edytować klucze: Shift, Ctrl, Alti Super(zawsze istnieje lewy i prawy jeden ( Alt_R=AltGr)).

Oto szybki przykład tego, jak wyglądałaby Twoja konfiguracja, gdybyś chciał zamienić CTRLi Super(klawisz Windows):

keycode 255  =
!add Shift   = Shift_L Shift_R
!add Lock    = Caps_Lock
add Control  = Super_L Super_R
!add Mod1    = Alt_L Alt_R
!add Mod2    = Mode_switch
!add Mod3    =
add Mod4     = Control_L Control_R
!add Mod5    =

( !służy do komentowania / ignorowania wiersza. tylko w tym przykładzie Superi Controlklucze się dostosowują)

Ta konfiguracja zostanie zapisana $HOME/.Xmodmapi załadowana

xmodmap ~/.Xmodmap

Możesz także rozpocząć to od xwindows, dodając go do swojego ~/.xinitrc

A jeśli coś stanie się owłosione, zawsze możesz wrócić do Xmodmap.org.

Wszelkie powiązania aplikacji opartych na tych kluczach również zostaną przeniesione. Upewnij się więc, że wszystko pozostaje związane, abyś nie stracił żadnej funkcjonalności. To jest pojedynek w przeciąganiu liny.

cinelli
źródło
2
Powinno być xmodmap -pke- to jest K ; nie X .
OJFord,