1

デーモンのように機能するアプリを作成し、グローバルキーストロークで、現在アクティブなアプリケーション(テキストエディター、ブラウザー、jabberクライアント)にテキストを貼り付けます。低レベルのxserverAPIを使用する必要があると思います。PythonまたはC++でこれを行うにはどうすればよいですか?

4

2 に答える 2

1

おそらくあなたはxmonをハックしたいです...


Xプロトコルをフックする簡単な方法はありません。「ディープパケットインスペクション」を実行する必要があります。これは、アプリケーションイベントループではかなり簡単ですが、「デーモンのように」、または「グローバルキーストローク」ではそれほど簡単ではありません。

ですから、これは本当に野蛮な力と無知であることは知っていますが、SSHトンネルのようなものを使用して転送するのと同じように、Xサーバーを非標準のポートで起動するか、環境変数を公開してラップする必要があると思いますXサーバー接続。

ソースが利用可能なXmonと呼ばれるXプロトコルモニターがあります。それは良い出発点かもしれません。

于 2009-09-26T08:03:14.120 に答える
0

xmacroのxmacroplayユーティリティを使用して、Xウィンドウでこれを行うことができると思います。直接使用するか、サブプロセスモジュールを使用してコマンドを標準入力に送信するか、ソースコードを読んでそれがどのように行われるかを確認してください。Pythonバインディングはないと思います。

xmacroplayのWebサイトから

xmacroplay:
Reads lines from the standard input. It can understand the following lines:

Delay [sec]     - delays the program with [sec] secundums
ButtonPress [n] - sends a ButtonPress event with button [n]
          this emulates the pressing of the mouse button [n]
ButtonRelease [n]   - sends a ButtonRelease event with button [n]
          this emulates the releasing of the mouse button [n]
... snip lots more ...

これはおそらくあなたが興味を持っているコマンドです

String [max. 1024 long string]
        - Sends the string as single characters converted to
          KeyPress and KeyRelease events based on a
          character table in chartbl.h (currently only
          Latin1 is used...)

同様のことをするXneeもあります。

于 2009-09-26T09:16:02.827 に答える