web-dev-qa-db-ja.com

WaylandはキーボードレイアウトにXKBを使用しますか?

XKBはXウィンドウの一部ですが、ウェイランドでも使用されていますか?もしそうなら、ある時点でXKBを置き換える予定のユーティリティはありますか?

ウェストンでは、setxkbmapは明らかに機能しません。キーボードのレイアウトを変更するために現在推奨されている方法は何ですか?

24
knezi

はい、ウェイランドはキーボードレイアウトにXKBを使用しています。しかし、Xとは動作が異なるため、これは完全に正しい質問ではありません。Waylandは単なるプロトコル(およびラッパーライブラリ)であることを忘れないでください。

プロトコルレベルでは、waylandにwl_keyboard.keymapイベントがあります。このイベントには、キーマップへのファイル記述子とフォーマット分類子が含まれています。現在、定義されているフォーマットは「xkb」のみです。そのため、ウェイランドクライアントはXKB互換のキーマップを受け取り、libxkbcommonを使用してそれを解釈し、画面上に正しいグリフを取得できます。

しかし、Waylandはhowを定義していません。このキーマップは決定されています。この決定はコンポジター次第です。 Westonでは起動時に設定ファイルから読み込まれ、GNOMEではgsettingsなどから読み込まれます。したがって、この決定により、実行時にキーマップを変更する方法も定義されます(可能な場合)。 GNOMEでは、設定パネルを使用するか、gsettingsキーを直接設定します。

Xプロトコルには、プロトコルレベルでキーマップを設定する要求があり、これらがsetxkbmapなどのツールを可能にするものです。ウェイランドにはこれらのリクエストはありません。ウェイランドプロトコルだけを使用してキーマップを設定することはできません。

24
whot