Jak skonfigurować makra klawiatury?

20

W życiu codziennym zawsze <kbd>Keyboard Character</kbd>piszę i chciałbym skonfigurować makro w Ubuntu, aby automatycznie wchodziło <kbd> </kbd>.

Chciałbym przypisać to do powiedzenia Shift+ Control+ Klub dowolnej kombinacji znaków sterujących klawiaturą, która nie jest przypisana i jest już używana przez Ubuntu.

W czasach programów MS-DOS TSR (Terminate and Stay Resident) było to możliwe. Z pewnością też musi być w Ubuntu?

Czy muszę napisać demona, aby to osiągnąć?


Znalazłem inne pytania bez odpowiedzi: Jak mogę przypisać makra do klawiszy klawiatury na Ubuntu, podobnie jak makra Razer Keyboard w systemie Windows? , co to jest dobry rejestrator makr myszy / klawiatury?

Znalazłem podobne pytanie z odpowiedzią: Czy mogę używać skrótów klawiaturowych do implementacji makr tekstowych? . Pytanie to brzmiało jednak, że odpowiedź nie może być AutoKey.

WinEunuuchs2Unix
źródło
Punkty za podniesienie TSR :-)
drudru

Odpowiedzi:

17

Zrobiłem trochę googlingu i znalazłem program o nazwie AutoKey ( Autokey - narzędzie Linux do skrótów klawiszowych do zastępowania tekstu ) u góry listy.

Zamiast klawisza skrótu używającego Ctrl+ Shift+ Kwybrałem przypisanie skrótu, kzktóry zostanie automatycznie rozwinięty <kbd></kbd>+.

Jest po prostu instalowany przy użyciu:

sudo apt install autokey-gtk

Instaluje się w Launcherze, a ekran jest dość prosty w użyciu:

Autokey

WinEunuuchs2Unix
źródło
14

Można również użyć xdotoolz typeflagą, tak jak:

bash -c ' sleep 0.5; xdotool getactivewindow  type "<kbd></kbd>"'

Przejdź do Ustawień systemu-> Klawiatura-> Skróty -> Niestandardowe i przypisz to polecenie do dowolnego skrótu klawiaturowego. Wybrałam CtrlSuperK. To, co się tutaj dzieje, polega na tym, że dajemy użytkownikowi 0,5 sekundy na zwolnienie skrótu klawiaturowego, a następnie xdotoolwpisujemy znaczniki klawiszy tak, jakbyś robił to sam na klawiaturze. Bardzo łatwe i proste podejście. W rzeczywistości jestem przyzwyczajony do włożenia tych 3 klawiszy powyżej.

Pamiętaj, że xdotooldomyślnie nie jest dostarczany z Ubuntu, więc będziesz musiał zainstalować go za pośrednictwemsudo apt-get install xdotool

Sergiy Kolodyazhnyy
źródło
Czy możesz również cofnąć wskaźnik wstawiania, aby znalazł się między <kbd>a </kbd>?
DK Bose
4
Używam bash -c 'sleep 0.5; xdotool getactivewindow type "[CODE][/CODE]" && sleep 0.5 && xdotool key Left Left Left Left Left Left Left'do umieszczenia kursora tekstowego między znacznikami kodu.
DK Bose
1

Jeśli masz plik tworzenia , możesz go użyć jako narzędzia do wstawiania tekstu dla biednego człowieka.

Możesz użyć kilku modyfikatorów w X. Najwyraźniej możesz użyć Shiftjako modyfikatora:

! Ctrl Shift <k> : "<kbd></kbd>"

Ale to nie działa, przynajmniej na moim komputerze.

Nie działa to również (pominięte Shift, wielkie litery K):

! Ctrl <K> : "<kbd></kbd>"

Możesz jednak użyć Ctrli Ctrl+ Alt:

! Ctrl Alt <k> : "<kbd></kbd>"
! Ctrl <k> : "<kbd></kbd>"

Prawidłowe umieszczanie kursora

Powyższe mapowania umieści kursor za ciągiem ( |wskazuje kursor):

<kbd></kbd>|

Sądzę, że nie ma ogólnego rozwiązania dla umieszczenia kursora wewnątrz tagu; do tego trzeba użyć narzędzia dostosowanego do celu. Ale w niektórych aplikacjach kursor może przejść do znacznika.

Używam gnome-terminalz Bash, który wykorzystuje skróty klawiszowe readline (podobne do Emacsa). Ctrl-bjest kluczem do cofnięcia o jedną postać wstecz. W moim terminalu mogę wpisać Ctrl+v bi uzyskać znak kontrolny ^B(U + 0002 (początek tekstu)). Wpisz sześć następujących znaków na końcu ciągu:

! Ctrl Alt <k> : "<kbd></kbd>^B^B^B^B^B^B"

Kursor zostanie umieszczony wewnątrz znacznika, jeśli jesteś w aplikacji, która interpretuje ^Bpoprawnie (np. Terminale i Emacs):

<kbd>|</kbd>

Korzystanie z klawisza tworzenia

Możesz oczywiście użyć klawisza tworzenia ( <Multi_key>), aby osiągnąć to samo. Na przykład użyj t(„tag”) i k(„klawiatura”):

<Multi_key> <t> <k> : "<kbd></kbd>^B^B^B^B^B^B"
Guildenstern
źródło