テキスト文字列をプログラムに送信するキーボードショートカット


14

現在のプログラムにテキスト文字列を送信するショートカットキーを構成するにはどうすればよいですか?

目的は、一般的なエントリをすばやく入力することです(電子メールアドレス、住所、電話番号、ユーザー名、お気に入りの引用など)。

テキストを入力するだけで、これ以上自動化する必要はありません。

Gentoo Linux(3.2.12-gentoo)Xfceデスクトップ環境(バージョン4.8)

回答:


14

1つの簡単なアプローチはxdotool

xdotool type 'text'

それは解決策の半分です...それを実行するためにキーボードショートカットを割り当てるにはどうすればよいですか?Xfce 4.8設定でショートカットを作成すると、キーボードが機能しませんでした。
スティーブン

@Steven端末から直接動作しますか?
jw013

3
はい。また、「sleep 5 && xdotool type text」は、テキストを「アクティブ」ウィンドウに送信します。
スティーブン

2
@Steven私はしばらくXfceを使用していませんが、私の次の予感は、コマンドが実行されると、アクティブウィンドウがどういうわけか間違っているということです。xdotool getwindowfocus同じ端末が開いているときに、端末とキーボードショートカットの両方で実行して、結果が等しいかどうかを比較します。表示するには、キーボードショートカットバージョンを一時ファイルにリダイレクトする必要があります。
jw013

3
を使用しますxbindkeys
ミケル

6

xdotoolは機能します。ただし、キーボードショートカットと統合すると、単純なxdotoolタイプの 'text'が失敗します。

次のシェルスクリプトはその点で私を助けてくれました

windowid=$(xdotool getwindowfocus)
sleep 0.5 && xdotool windowactivate --sync $windowid type 'text'

2
のマニュアルxdotoolには、内部スリープがあることが示されています。xdotool sleep 0.3 type 'Emotional 2003'十分です。(短いスリープは何らかの理由で必要です、私にはわかりません。コマンドを実行するときに、アクティブ化されたウィンドウまたはフォーカスされたウィンドウの短いスイッチがあるようです?)
k.stm

4

AutoKeyを使用できます。Webサイトの説明を次に示します。「AutoKeyは、LinuxおよびX11用のデスクトップ自動化ユーティリティです。スクリプトとフレーズのコレクションを管理し、略語とホットキーをこれらに割り当てることができます。これにより、スクリプトを実行したり、使用しているプログラムにオンデマンドでテキストを挿入したりできます。

私の知る限り、Gentoo用にパッケージ化されていますこちらでお知らせします)。Ubuntuの場合(ここ); Debian(ここ)...


0

私のために働いたワンライナー(k.tsmによるコメントから盗まれた)

xdotool sleep 0.3 type 'string that you want to type / paste'

次に、KDEでこのコマンドにショートカットを割り当て、ショートカットを押すと、必要なテキストが魔法のように入力されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.