wlroots語句整理
構造体
display
wayland display。libwaylandのものをそのまま使う。
クライアントの通信などを管理する
wl_display_create(): displayを作成する
backend
レイヤの低い入出力部分の操作を抽象化し提供する。wayland自体に依存しない。
DRMやX11などから選択される。
wlr_backend_autocreate(): 適切なバックエンドを自動で判断し作成する
renderer
レンダリング部分の操作を抽象化し提供する。
Pixman、OpenGL ES2、Vulkanから選択される。
wlr_renderer_autocreate(): 適切なバックエンドを自動で判断し作成する
allocator
画面描画に必要なバッファ (メモリ領域) を管理する。(Waylandではバッファを自分で確保する必要がある)
確保されたバッファは、backendとrendererの間の情報共有に用いられる。
wlr_allocator_autocreate(): バッファを自動で確保する
compositor (要再調査)
サーフェイス (描画の対象) を作成し、バッファの中身を適用する。
wlr_compositor_create(): コンポジタを作成する
subcompositor (要再調査)
ポップアップウインドウなど、各サーフェイスの子要素を管理する。
device_manager
クリップボードを管理する。
seat
あるユーザーがコンピュータに対して入力を行うための仮想的な「席」 (いわばコックピット的なもの) を提供する。
(なぜ「席」?: 1台のコンピュータに複数の入力環境が接続されている場合に対応するため。リモートデスクトップなど)
また、入出力デバイスが変化した時にも対応する。
output
接続されている入力デバイス。
scene (要調査)
scene graphはデータ構造のこと?
socket
Unixソケット。wayland displayに適用することでクライアントとやり取りすることができる
wl_display_add_socket_auto: ソケットをwayland displayに適用する
仕様/規格
XKB(X keyboard extension)
https://wiki.archlinux.jp/index.php/X_keyboard_extension
入力されたキーボードのコードをXで適切に処理(変換)する規格?
xkbcommon/xkbcommon.h を通して利用可能