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