Wayland でのマウスカーソル

今までの実装では、ウィンドウの移動したときや、マウスの In/Out でマウスカーソルの表示がおかしいままであることが発覚しました。まずはこれを修正したいと思います。

マウスカーソル用のサーフェース

wl_shm のオブジェクトを取得する際に、一緒にデフォルトのマウスカーソルの wl_surface を作成して準備してしまうのが通常の方法のようでした。
ウィンドウの更新の手続きと同じようにマウスカーソルについてもいえる、という感じでした。

マウスカーソルの適用

サーフェースが準備できても適用しなければいけないようなので、これを pointer_handler_enter_leave に追加しました。
このイベントリスナーに引数で渡ってくる serial 値が wl_pointer_set_cursor に必要になったので若干コードの修正を行いました。

ちなみに wl_cursor_theme_get_cursor で与えている文字列 “left_ptr” を別のものに変えると他のマウスカーソルがデフォルトとして表示されることは確認できました。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする