シェルスクリプトからキーボードコントロールを取得する

シェルスクリプトからキーボードコントロールを取得する

一度に 1 文字ずつ読み込み、操作を実行する特定のシェル (zsh) スクリプトがあります。シェルはループで "read -k"を使用してこれを行います。シェルを開かずにキーボードショートカットでスクリプトを実行したいです。

キーボード入力を取得する最も簡単な方法は何ですか?文字列全体を読み取るにはdmenuを使用できますが、スクリプトは一度に1文字ずつ解析できる必要があります。

ありがとうございます。

ベストアンサー1

(コメントを残そうとしましたが、エラーが発生しました。回答として試してみます。)

「シェルを開かずにショートカットで実行する」と言うと、ターミナルエミュレータウィンドウを開かずにグラフィック環境(X11)で話すのでしょうか?

シェルコマンドは、read「標準入力」文字ストリームから文字を読み込みます。必ずしもキーボードである必要はありません。

ターミナルエミュレータはウィンドウからX11キーボードイベントを受け取り、それを文字ストリーム(通常は標準入力で始まる)にマッピングします。

ターミナルエミュレータを使用したいがread使用したくない場合は、一部のウィンドウのX11キーイベントを文字ストリームにマッピングする別のものが必要です。 (おそらく「ルートウィンドウ」)

スクリプトが文字で実行する操作によっては、小さなグラフィックプログラムを作成する方が簡単かもしれません。

おすすめ記事