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.


Punkty za podniesienie TSR :-)
drudru

Odpowiedzi:



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


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"
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.