GNU/Linux >> Linux の 問題 >  >> Linux

コマンドラインでXキーとポインターグラブを操作しますか?

Xサーバーグラブを一覧表示および管理するためのコマンドラインツールは何ですか? (これは、キーとポインターのグラブのようにグラブします。つまり、特定のキーまたはマウスボタンの使用を特定のアプリケーションに制限するか、マウスポインターを特定の画面領域にとどまるように制限します。)架空のxgrab

のようなものを表示するユーティリティ
Key     0x00f00ba5  0x123   0
Button  0x00f00ba5  2       
Pointer 0x00abcdef  

XGrabKey(display, 0x123, 0, 0x00f00ba5, ...)への呼び出しがあったことを意味します など、XGrabButtonXGrabPointerXGrabKeyboardXGrabServer (もし可能なら)。表示形式は重要ではありません。私が欲しいのは、誰が何をつかんでいるかを確認する方法と、おそらくこれらのつかみを取り消す方法です(可能であれば、X11 APIで許可されているかどうかはわかりません)。

承認された回答:

Xの最近のバージョン(X.orgサーバー≥1.11)は、このコミットで導入されたいくつかのデバッグキーシムをサポートしています。トリガーされると、これらはグラブに関連するアクションを実行します。

デフォルトでは(少なくとも最近のバージョンでは)、これらは無効になっています(デフォルトのキーマップにはありません)。

ただし、xdotoolがある場合 インストール済み、 コマンドラインで実行することにより、それらを呼び出すことができます:

xdotool key NameOfKey

ここで、NameOfKey アクティベートしたいkeysymです。たとえば、アクティブなグラブのリストをXサーバーログに出力するには、xdotool key XF86LogGrabInfoを使用します。 。

関連するキーシムは次のとおりです。

  • XF86LogGrabInfo :アクティブなグラブのリストをXサーバーログに出力します
  • XF86Ungrab :グラブを保持しているアプリケーションを強制終了せずに、アクティブなグラブをすべて破棄します
  • XF86ClearGrab :アクティブなグラブを保持しているすべてのプロセスを強制終了します

XF86LogGrabInfoに注意してください 現在押されていないキーのグラブなどのパッシブグラブではなく、アクティブグラブのみを一覧表示します。パッシブグラブに関する情報を取得する場合は、グラブをアクティブ化する必要があります。xdotool key XF86LogGrabInfoを実行します。 目的のキーコードまたはマウスボタンの組み合わせが押されている間。次のようなことをします:

  1. sleep 1; xdotool key XF86LogGrabInfo
  2. 1秒以内に、キーコードまたはマウスボタンの組み合わせを押します。
  3. 1秒後、キー/ボタンを放します。
  4. Xサーバーログ(多くの場合、/var/log/Xorg.0.log)の「Activegrab…」情報を確認します 。

Linux
  1. コマンドラインでsortを使用してソートする

  2. xclipを使用してLinuxコマンドラインでコピーして貼り付けます

  3. Linuxコマンドラインで力を使用する

  1. Linuxコマンドラインで牛を飼う

  2. Linuxコマンドラインにアクセスしてください

  3. コマンドラインでのSSHファイルコピーの魔法

  1. Linuxコマンドラインでパスワードを生成する

  2. Linuxコマンドラインに関する8つのヒント

  3. sedを使用してコマンドラインでテキストを操作する