xorgのxdotoolのWaylandの代替品?


16

xdotoolは優れたXアプリケーションです。マクロコマンド(alt + f4、ctrl + w、ctrl + alt + backspaceなど)の作成に使用する傾向があります。

それは本当に使いやすくて便利ですが、このようなウェイランド互換のプログラムは知りません。XとXdotoolのように、マウスとキーボードの入力信号をウェイランドに送信する方法はありますか?

現在は主にxwaylandで動作しますが、すべてのコマンドが機能するわけではありません(alt + f4など、xevはalt + f4入力を読み取ることもできますが、キーボードで押すなど、アプリケーションの終了をトリガーしません)。 xwaylandを使用していない可能性があります。


回答:


3

いいえ、セキュリティ上の理由から、このような機能はWayland設計から明示的に除外されました。(他のプログラムの入力を読み取ることが最大の問題ですが、偽の入力を他のプログラムに送信できるようにすることもトラブルにつながる可能性があります。)

そうは言っても、一部のWayland WMが最終的に何らかのマクロ機能を実装することを期待しています。結局のところ、画面上のキーボードと音声制御をサポートする必要あります(アクセシビリティのため)。

しかし、そのような機能が存在する場合、使用しているWaylandコンポジターによって異なります:Weston?KDEのKWin?GNOME Shell?啓発?Waylandには「ディスプレイサーバー-ウィンドウマネージャー」の分割はありません。ウィンドウマネージャー Waylandサーバーであり、どの機能を実装するかを決定します(Waylandサブプロトコルとして、またはD-Bus APIなどとして)。


1
すべてのウェイランドコンポジターに有効なプログラムを作成することは可能だと思います。Libinputは、ユーザー入力をウェイランドに転送します。また、alt + f4およびウェイランド関数を使用する他のコマンドをトリガーできるのは、libinputを介してです。必要なことは、libinputをだまして、キーボードまたはマウス入力としてマクロを読み取ることです。私が思うことですが、私はそれを自分で行う方法がわかりません。
セスタリアン

@Cestarian:カーネルのuinput機能を使用して偽の入力デバイスを作成する必要があります。
user1686

1
そんなに難しくないはずです。一度ドライバーの作業でそれをやったことを思い出します。たぶんそのコードを見るだけで何らかの方法を見つけられるかもしれません。(私はその時何をしていたか知らなかったが)
セスタリアン

1
メーリングリストにRFCがありました。RFC:入力イベント挿入するためのインターフェイス、スクリーンショットを撮り、スクリーンキャストを記録するためのAPIを追加します。いくつかの追加のセキュリティ強化作業で課題に対処できるように思えます。
ベンクリーシー

3

現在、完璧な解決策はありませんが、それに近いものがあります:ydotool

バックエンドとしてuinputインターフェイスを使用し、ディスプレイサーバーに依存しません。


残念ながら、Ubuntu 19.04で実行できませんでした。私がインストールされlibboost-program-options-devlibevdevpluslibuinputplusそして最終的にはydotool自分自身が、私はまだ取得していますydotool: error while loading shared libraries: libboost_program_options.so.1.65.1: cannot open shared object file: No such file or directory
m93a
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.