Як налаштувати макроси клавіатури?


20

У своєму щоденному житті я завжди набираю текст, <kbd>Keyboard Character</kbd>і я хотів би створити макрос в Ubuntu для автоматичного введення <kbd> </kbd>.

Я хотів би призначити його, щоб сказати Shift+ Control+ Kабо будь-яку комбінацію символів управління клавіатурою, не призначена і вже використовується Ubuntu.

Ще в часи програм TSR (припинити та залишитися резидентом) MS-DOS це було можливо. Звичайно, це має бути і в Ubuntu?

Чи потрібно мені написати демона, щоб досягти цього?


Я знайшов інші запитання без відповідей: Як я можу призначити макроси клавішам клавіатури на Ubuntu, подібно до макросів Razer Keyboard в Windows? , що таке хороший макрореєстратор миші / клавіатури?

Я знайшов подібне запитання з відповіддю: Чи можна використовувати клавіші швидкого доступу для реалізації текстових макросів? . Однак на це запитання відповідь не могла бути AutoKey.


Окуляри за виховання ТСР :-)
друдру

Відповіді:


17

Я трохи погуглився і знайшов програму під назвою AutoKey ( Autokey - утиліта Linux для гарячих клавіш заміни тексту ) біля верхньої частини списку.

Замість швидкої клавіші за допомогою Ctrl+ Shift+ Kя вирішив призначити абревіатуру, kzяка автоматично розширюється на <kbd></kbd>+.

Він просто встановлюється за допомогою:

sudo apt install autokey-gtk

Він встановлюється в Launcher, і екран досить простий у використанні:

Автозапуск


14

Що також можна зробити, це використовувати xdotoolз typeпрапором, наприклад:

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

Перейдіть у Налаштування системи-> Клавіатура-> Ярлики -> Спеціальні та зв’яжіть цю команду з будь-якою комбінацією клавіш. Я вибрав CtrlSuperK. Тут відбувається те, що ми надаємо користувачеві затримку на 0,5 секунди, щоб випустити ярлик клавіатури, а потім xdotoolнаберемо ключові теги розмітки так само, як якщо б ви робили це самостійно на клавіатурі. Дуже легкий і простий підхід. Насправді я зараз його використовую для введення цих 3 клавіш вище.

Зауважте, що xdotoolза замовчуванням не поставляється Ubuntu, тому вам доведеться встановити його черезsudo apt-get install xdotool


Чи можете ви також змусити вказівник вставки повернутися назад, щоб він знаходився між <kbd>і </kbd>?
ДК Босе

4
Я використовую bash -c 'sleep 0.5; xdotool getactivewindow type "[CODE][/CODE]" && sleep 0.5 && xdotool key Left Left Left Left Left Left Left'для отримання текстового курсору між кодовими тегами.
ДК Бозе

1

Якщо у вас є складений файл, ви можете використовувати його як утиліту для введення тексту для чоловіка.

Ви можете використовувати декілька модифікаторів у X. Мабуть, ви можете використовувати Shiftяк модифікатор:

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

Але це не працює, принаймні на моїй машині.

Це також не працює (пропущено Shift, з великої літери K):

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

Однак ви можете використовувати Ctrlі Ctrl+ Alt:

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

Правильно розмістити курсор

Наведені вище відображення розмістять курсор після рядка ( |вказує курсор):

<kbd></kbd>|

Я вважаю, що не може бути рішення загального призначення для введення курсору всередину тегу; для цього вам знадобиться використовувати підходящий за призначенням інструмент. Але ви можете ввести курсор у тег у певних програмах.

Я використовую gnome-terminalз Bash, який використовує перекладки для читання ліній (як Emacs). Ctrl-b- це зв'язування клавіш для повернення одного символу назад. У своєму терміналі я можу набрати Ctrl+v bта отримати контрольний символ ^B(U + 0002 (Початок тексту)). Тому введіть шість цих символів в кінці рядка:

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

Курсор буде розміщений всередині тегу, якщо ви знаходитесь у програмі, яка ^Bправильно інтерпретує (наприклад, термінали та Emacs):

<kbd>|</kbd>

Використовуючи клавішу складання

Звичайно, ви можете використовувати клавішу compose ( <Multi_key>), щоб досягти того самого. Наприклад, використовуйте t("тег") та k("клавіатура"):

<Multi_key> <t> <k> : "<kbd></kbd>^B^B^B^B^B^B"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.