日常生活では常に入力している<kbd>Keyboard Character</kbd>
ので、Ubuntu でマクロを設定して自動的に入力できるようにしたいと思います<kbd> </kbd>
。
Shiftこれを、たとえば+ Control+Kなど、割り当てられておらず Ubuntu で既に使用されているキーボード制御文字の組み合わせに割り当てたいと思います。
TSR (Terminate and Stay Resident) MS-DOS プログラムの時代では、これは可能でした。Ubuntu でも可能だったはずですよね?
これを実現するにはデーモンを作成する必要がありますか?
回答のない他の質問も見つかりました:Windows の Razer キーボード マクロと同様に、Ubuntu のキーボード キーにマクロを割り当てるにはどうすればよいですか?、優れたマウス/キーボード マクロ レコーダーは何ですか?
同様の質問と回答を見つけました:キーボードショートカットを使用してテキストマクロを実装できますか?しかし、その質問では答えは ではないと規定されていましたAutoKey
。
答え1
グーグルで調べてみると、AutoKeyというプログラムが見つかりました(Autokey - テキスト置換ホットキー用の Linux ユーティリティ) をリストの上部近くに表示します。
Ctrl+ Shift+を使用するホットキーではなく、に自動的に展開されるK略語を割り当てることを選択しました。kz
<kbd></kbd>+
以下のコマンドで簡単にインストールできます:
sudo apt install autokey-gtk
ランチャーにインストールされ、画面の使い方は非常にシンプルです。
答え2
xdotool
次のようにフラグを使用することもできますtype
。
bash -c ' sleep 0.5; xdotool getactivewindow type "<kbd></kbd>"'
システム設定 -> キーボード -> ショートカット -> カスタム に移動し、そのコマンドを任意のキーボード ショートカットにバインドします。私は を選択しましたCtrlSuperK。ここで行われることは、キーボード ショートカットをリリースするまでに 0.5 秒の遅延をユーザーに与え、その後、xdotool
キーボードで自分で入力しているのと同じように、キー マークアップ タグを入力することです。非常に簡単でシンプルな方法です。実際、私は今、上記の 3 つのキーを入力するためにこれを使用しています。
Ubuntuにはデフォルトで付属していないのでxdotool
、以下からインストールする必要があります。sudo apt-get install xdotool
答え3
もしあなたが作曲するファイルを使用すると、貧乏人のテキスト挿入ユーティリティとして使用できます。
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
、readline キーバインディング (Emacs のような) を使用する Bash と一緒に使用します。 Ctrl-b
は、1 文字戻るためのキーバインディングです。 私の端末では、Ctrl+v b
制御文字^B
(U+0002 (テキストの開始)) を入力して取得できます。 したがって、文字列の末尾にこれらの文字を 6 つ入力します。
! Ctrl Alt <k> : "<kbd></kbd>^B^B^B^B^B^B"
カーソルはタグ内に配置されますもし正しく解釈するアプリケーション^B
(ターミナルや Emacs など) 内にいる場合:
<kbd>|</kbd>
作成キーの使用
もちろん、コンポーズキー(<Multi_key>
)を使用して同じことを実現できます。たとえば、t
(「タグ」)とk
(「キーボード」)を使用します。
<Multi_key> <t> <k> : "<kbd></kbd>^B^B^B^B^B^B"