web-dev-qa-db-fra.com

Comment configurer les macros du clavier?

Dans ma vie quotidienne, je tape toujours <kbd>Keyboard Character</kbd> et j'aimerais configurer une macro dans Ubuntu pour entrer automatiquement <kbd> </kbd>.

Je voudrais l'assigner à dire Shift+Control+K ou toute combinaison de caractères de contrôle du clavier non attribuée et déjà utilisée par Ubuntu.

À l'époque des programmes MS-DOS de TSR (Terminate and Stay Resident), cela était possible. Certes, cela doit être aussi dans Ubuntu?

Dois-je écrire un démon pour accomplir cela?

14
WinEunuuchs2Unix

J'ai trouvé d'autres questions ici ( Comment assigner des macros à mes touches de clavier sous Ubuntu, semblables aux macros clavier Razer dans Windows? ) et ici ( qu'est-ce qu'un bon enregistreur de macros clavier/souris?)? ) sans réponse.

J'ai trouvé une question similaire avec une réponse ici ( Puis-je utiliser des raccourcis clavier pour implémenter des macros de texte? ). Cependant, cette question précisait que la réponse ne pouvait pas être AutoKey.

J'ai fait quelques recherches sur Google et trouvé le programme appelé AutoKey ( Autokey - Utilitaire Linux pour les touches de raccourci clavier ) en haut de la liste.

Plutôt qu'un raccourci clavier utilisant Ctrl+Shift+K J'ai choisi d'attribuer l'abréviation "k z" (sans espace entre les deux) qui est automatiquement développée en "<k b d> </ k b d> +" (sans espace entre les deux)

Il est simplement installé en utilisant:

Sudo apt install autokey-gtk

Il s'installe dans Launcher et l'écran est assez simple à utiliser:

Autokey

13
WinEunuuchs2Unix

Ce qui peut aussi être fait est d’utiliser xdotool avec__type, comme ceci:

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

Allez dans Paramètres système-> Clavier-> Raccourcis -> Personnalisé et liez cette commande au raccourci clavier de votre choix. j'ai choisi CtrlSuperK. Ce qui se passe ici, c’est que nous donnons à l’utilisateur un délai de 0,5 seconde pour libérer le raccourci clavier, puis xdotool tape les balises de marquage des clés comme si vous le faisiez vous-même au clavier. Approche très facile et simple. En fait, je suis habitué tout à l'heure à mettre ces 3 clés ci-dessus.

Notez que xdotool ne vient pas avec Ubuntu par défaut, vous devrez donc l’installer via Sudo apt-get install xdotool

10

Si vous avez un fichier compose , vous pouvez l’utiliser comme utilitaire d’insertion de texte pour les pauvres.

Vous pouvez utiliser quelques-uns des modificateurs de X. Apparemment vous pouvez utiliser Shiften tant que modificateur:

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

Mais cela ne fonctionne pas, du moins sur ma machine.

Cela ne fonctionne pas non plus (omis Shiftname__, en majuscule Kname__):

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

Cependant, vous pouvez utiliser Ctrlet Ctrlname __ + Altname__:

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

Placer le curseur correctement

Les mappages ci-dessus placeront le curseur après la chaîne (| indique le curseur):

<kbd></kbd>|

Je pense qu'il ne peut y avoir de solution générale pour mettre le curseur à l'intérieur de la balise; pour cela, vous devez utiliser un outil parfaitement adapté. Mais vous pouvez insérer le curseur dans la balise dans certaines applications.

J'utilise gnome-terminal avec Bash, qui utilise readbindings (comme Emacs). Ctrl-b est le raccourci clavier permettant de revenir en arrière d'un caractère. Dans mon terminal, je peux saisir Ctrl+v b et obtenir le caractère de contrôle ^B (U + 0002 (début du texte)). Donc, tapez six de ces caractères à la fin de la chaîne:

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

Le curseur sera placé dans la balise si vous êtes dans une application qui interprète ^B correctement (par exemple, terminaux et Emacs):

<kbd>|</kbd>

Utilisation de la touche de composition

Vous pouvez bien sûr utiliser la touche de composition (<Multi_key>) pour obtenir le même résultat. Par exemple, utilisez t("balise") et k("clavier"):

<Multi_key> <t> <k> : "<kbd></kbd>^B^B^B^B^B^B"
0
Guildenstern