web-dev-qa-db-ja.com

キーボードマクロを設定するにはどうすればよいですか?

私の日常生活では常に<kbd>Keyboard Character</kbd>と入力していますが、Ubuntuで<kbd> </kbd>を自動的に入力するマクロを設定したいと思います。

言うように割り当てたい Shift+Control+K または、キーボード制御文字の組み合わせが割り当てられておらず、Ubuntuで既に使用されているもの。

TSR(居住および滞在)MS-DOSプログラムの時代に、これは可能でした。確かにUbuntuにもあるのでしょうか?

これを達成するためにデーモンを作成する必要がありますか?

15

ここに他の質問が見つかりました( WindowsのRazerキーボードマクロに似たUbuntuのキーボードキーにマクロを割り当てる方法? )そしてここに( 良いマウス/キーボードマクロレコーダーとは何ですか? )回答なし。

私はここで答えと同様の質問を見つけました( キーボードショートカットを使用してテキストマクロを実装できますか? )。しかし、その質問は答えがAutoKeyになり得ないと規定していました。

いくつかのグーグル検索を行ったところ、リストの上部近くにAutoKey( Autokey-テキスト置換ホットキー用Linuxユーティリティ )というプログラムが見つかりました。

使用するホットキーではなく Ctrl+Shift+K 「<k b d> </ k b d> +」(間にスペースを入れない)に自動的に展開される略語「k z」(間にスペースを入れない)を割り当てることにしました

以下を使用して簡単にインストールされます。

Sudo apt install autokey-gtk

Launcherにインストールされ、画面は非常に簡単に使用できます。

Autokey

13

また、次のようにxdotool withtypeフラグを使用することもできます。

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

[システム設定]-> [キーボード]-> [ショートカット]-> [カスタム]に移動し、そのコマンドを任意のキーボードショートカットにバインドします。私が選んだ CtrlSuperK。ここで起こることは、キーボードショートカットをリリースするためにユーザーに0.5秒の遅延を与え、xdotoolがキーボードで自分でやっているようにキーマークアップタグを入力することです。非常に簡単でシンプルなアプローチ。実際、私は今、上記の3つのキーを入力するために使用しています。

xdotoolにはデフォルトでUbuntuが付属していないため、Sudo apt-get install xdotool経由でインストールする必要があります。

12

compose ファイルがある場合は、貧乏人のテキスト挿入ユーティリティとして使用できます。

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>|

タグ内にカーソルを置くための汎用的な解決策はあり得ないと思います。そのためには、目的に合ったツールを使用する必要があります。ただし、特定のアプリケーションでは、カーソルをタグ内に移動できます。

Readlineキーバインディング(Emacsのような)を使用するBashでgnome-terminalを使用します。 Ctrl-bは、1文字前に戻るためのキーバインディングです。ターミナルでCtrl+v bと入力して、制御文字^B(U + 0002(テキストの開始))を取得できます。そのため、文字列の最後に次の6文字を入力します。

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

カーソルはタグ内に置かれますifあなたは^Bを正しく解釈するアプリケーション(例:端末とEmacs)内にいます:

<kbd>|</kbd>

作成キーを使用する

もちろん、構成キー(<Multi_key>)を使用して同じことを実現できます。たとえば、t(「タグ」)およびk(「キーボード」)を使用します。

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