zwp_tablet_manager_v2 | |
zwp_tablet_manager_v2_get_tablet_seat | zwp_tablet_seat_v2 を作成 |
---|---|
zwp_tablet_manager_v2_destroy | 破棄 |
zwp_tablet_seat_v2 | |
zwp_tablet_seat_v2_add_listener | ハンドラ設定 |
zwp_tablet_seat_v2_destroy | 破棄 |
zwp_tablet_v2 | |
zwp_tablet_v2_add_listener | ハンドラ設定 |
zwp_tablet_v2_destroy | 破棄 |
zwp_tablet_tool_v2 | |
zwp_tablet_tool_v2_destroy | 破棄 |
zwp_tablet_tool_v2_add_listener | ハンドラ設定 |
zwp_tablet_tool_v2_set_cursor | カーソル形状のセット |
"zwp_tablet_manager_v2" でバインド。
zwp_tablet_manager_v2
static struct zwp_tablet_seat_v2 *zwp_tablet_manager_v2_get_tablet_seat( struct zwp_tablet_manager_v2 *zwp_tablet_manager_v2, struct wl_seat *seat);
zwp_tablet_seat_v2 を作成
zwp_tablet_seat_v2
static int zwp_tablet_seat_v2_add_listener( struct zwp_tablet_seat_v2 *zwp_tablet_seat_v2, const struct zwp_tablet_seat_v2_listener *listener, void *data);
ハンドラ設定。
void (*tablet_added)(void *data, struct zwp_tablet_seat_v2 *zwp_tablet_seat_v2, struct zwp_tablet_v2 *id); void (*tool_added)(void *data, struct zwp_tablet_seat_v2 *zwp_tablet_seat_v2, struct zwp_tablet_tool_v2 *id); void (*pad_added)(void *data, struct zwp_tablet_seat_v2 *zwp_tablet_seat_v2, struct zwp_tablet_pad_v2 *id);
tablet_added
新しいデバイスが利用可能になった時。
アプリケーションの起動時や、デバイスが接続された時に来る。
アプリケーションの起動時や、デバイスが接続された時に来る。
tool_added
タブレットで新しいツールが使用された時。
スタイラスペンの場合、アプリ起動後にまだ使っていないツール (ペン/消しゴムなど) を手にしている状態で、カーソルが初めてクライアントのウィンドウ内に入った時に来る。
スタイラスペンの場合、アプリ起動後にまだ使っていないツール (ペン/消しゴムなど) を手にしている状態で、カーソルが初めてクライアントのウィンドウ内に入った時に来る。
pad_added
新しいパッドが認識された時。
通常は tablet_added の直後に来るが、一部のデバイスでは、wp_table_pad:enter イベントでパッドが認識されるまで待つ必要がある。
通常は tablet_added の直後に来るが、一部のデバイスでは、wp_table_pad:enter イベントでパッドが認識されるまで待つ必要がある。
zwp_tablet_v2
static int zwp_tablet_v2_add_listener(struct zwp_tablet_v2 *zwp_tablet_v2, const struct zwp_tablet_v2_listener *listener, void *data);
ハンドラ設定。
void (*name)(void *data, struct zwp_tablet_v2 *zwp_tablet_v2, const char *name); void (*id)(void *data, struct zwp_tablet_v2 *zwp_tablet_v2, uint32_t vid, uint32_t pid); void (*path)(void *data, struct zwp_tablet_v2 *zwp_tablet_v2, const char *path); void (*done)(void *data, struct zwp_tablet_v2 *zwp_tablet_v2); void (*removed)(void *data, struct zwp_tablet_v2 *zwp_tablet_v2);
name
デバイスの名前。
id
デバイスの USB のベンダー ID と製品 ID。
path
デバイスへのパス。
libwacom でこのパスを使って、追加情報を取得できる。
一つのデバイスに複数のパスがある場合は、複数送信される。
また、パスがない場合は、送信されない。
libwacom でこのパスを使って、追加情報を取得できる。
一つのデバイスに複数のパスがある場合は、複数送信される。
また、パスがない場合は、送信されない。
done
上記の情報の送信が終了した時に来る。
removed
タブレットが取り外された時に来る。
zwp_tablet_v2 を破棄する必要がある。
zwp_tablet_v2 を破棄する必要がある。
zwp_tablet_tool_v2
static int zwp_tablet_tool_v2_add_listener( struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, const struct zwp_tablet_tool_v2_listener *listener, void *data);
ハンドラ設定。
void (*type)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t tool_type); void (*hardware_serial)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t hardware_serial_hi, uint32_t hardware_serial_lo); void (*hardware_id_wacom)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t hardware_id_hi, uint32_t hardware_id_lo); void (*capability)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t capability); void (*done)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2); void (*removed)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2); void (*proximity_in)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t serial, struct zwp_tablet_v2 *tablet, struct wl_surface *surface); void (*proximity_out)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2); void (*down)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t serial); void (*up)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2); void (*motion)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, wl_fixed_t x, wl_fixed_t y); void (*pressure)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t pressure); void (*distance)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t distance); void (*tilt)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, wl_fixed_t tilt_x, wl_fixed_t tilt_y); void (*rotation)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, wl_fixed_t degrees); void (*slider)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, int32_t position); void (*wheel)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, wl_fixed_t degrees, int32_t clicks); void (*button)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t serial, uint32_t button, uint32_t state); void (*frame)(void *data, struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t time);
type
ツールの種類。
"linux/input-event-codes.h" 内に定義されている BTN_TOOL_* の値と同じ。
"linux/input-event-codes.h" 内に定義されている BTN_TOOL_* の値と同じ。
enum zwp_tablet_tool_v2_type { ZWP_TABLET_TOOL_V2_TYPE_PEN = 0x140, ZWP_TABLET_TOOL_V2_TYPE_ERASER = 0x141, ZWP_TABLET_TOOL_V2_TYPE_BRUSH = 0x142, ZWP_TABLET_TOOL_V2_TYPE_PENCIL = 0x143, ZWP_TABLET_TOOL_V2_TYPE_AIRBRUSH = 0x144, ZWP_TABLET_TOOL_V2_TYPE_FINGER = 0x145, ZWP_TABLET_TOOL_V2_TYPE_MOUSE = 0x146, ZWP_TABLET_TOOL_V2_TYPE_LENS = 0x147 }
hardware_serial
ツールの一意のハードウェアシリアル番号。
ツールが 64 bit シリアルで識別できる場合、送られてくる。
ツールが 64 bit シリアルで識別できる場合、送られてくる。
hardware_id_wacom
Wacom 製タブレット固有の 64 bit ハードウェア ID。
capability
ツールが使用可能な機能ごとに送られてくる。
enum zwp_tablet_tool_v2_capability { ZWP_TABLET_TOOL_V2_CAPABILITY_TILT = 1, //傾き ZWP_TABLET_TOOL_V2_CAPABILITY_PRESSURE = 2, //筆圧 ZWP_TABLET_TOOL_V2_CAPABILITY_DISTANCE = 3, //接地面との距離 ZWP_TABLET_TOOL_V2_CAPABILITY_ROTATION = 4, //回転 ZWP_TABLET_TOOL_V2_CAPABILITY_SLIDER = 5, //スライダー ZWP_TABLET_TOOL_V2_CAPABILITY_WHEEL = 6 //ホイール }
done
ツールのすべての情報イベントが終了した時に来る。
removed
ツールがシステムから削除された時に来る。
zwp_tablet_tool_v2 を破棄する必要がある。
zwp_tablet_tool_v2 を破棄する必要がある。
proximity_in
このツールが特定のサーフェスに焦点を合わせている。
カーソルがサーフェス内に入った時。
カーソルがサーフェス内に入った時。
proximity_out
特定のサーフェスから焦点が離れた。
カーソルがサーフェス外に出た時。
カーソルがサーフェス外に出た時。
down
ツールがタブレットの表面に接触した時。
※ 一部のデバイスでは、接触していても、筆圧が最小値を超えるまで接触していないことにする場合がある。
すでに接触している状態で領域に入った時は、proximity_in → down → frame イベントが来る。
※ 一部のデバイスでは、接触していても、筆圧が最小値を超えるまで接触していないことにする場合がある。
すでに接触している状態で領域に入った時は、proximity_in → down → frame イベントが来る。
up
ツールがタブレット接地面から離れた時。
タブレットの表面からツールが離されたか、グラブ中に入力領域を離れた状態で、グラブが終了した時に来る。
グラブをしていない状態で、down 状態のまま領域を離れた時は、up → proximity_out → frame イベントが来る。
グラブ中の場合は、グラブが終了した時に常に来る。
タブレットの表面からツールが離されたか、グラブ中に入力領域を離れた状態で、グラブが終了した時に来る。
グラブをしていない状態で、down 状態のまま領域を離れた時は、up → proximity_out → frame イベントが来る。
グラブ中の場合は、グラブが終了した時に常に来る。
motion
ツールが移動した時。
pressure
筆圧が変わった時。
値は 0〜65535 に正規化されている。
値は 0〜65535 に正規化されている。
distance
ツールとタブレット接地面との距離が変わった時。
値は 0〜65535 に正規化されている。
0 で接地している状態。
値は 0〜65535 に正規化されている。
0 で接地している状態。
tilt
傾きが変わった時。
値は、タブレットの z 軸を基準とした度の単位。
値は、タブレットの z 軸を基準とした度の単位。
rotation
z 回転が変わった時。
値は、ツールの論理的な中立位置から時計回りの度単位。
値は、ツールの論理的な中立位置から時計回りの度単位。
slider
スライダー位置が変わった時。
値は -65535〜65535 で正規化され、中立位置は 0。
値は -65535〜65535 で正規化され、中立位置は 0。
wheel
ホイールが操作された時。
degrees は、度単位の方向。
clicks は、論理的なクリック数。0 になる場合もある。
クライアントはこのどちらかを使う必要がある。
degrees は、度単位の方向。
clicks は、論理的なクリック数。0 になる場合もある。
クライアントはこのどちらかを使う必要がある。
button
タブレットやペンに付いているボタンが、押されたか離された時。
button は、"linux/input-event-codes.h" で定義されている値。
button は、"linux/input-event-codes.h" で定義されている値。
enum zwp_tablet_tool_v2_button_state { ZWP_TABLET_TOOL_V2_BUTTON_STATE_RELEASED = 0, ZWP_TABLET_TOOL_V2_BUTTON_STATE_PRESSED = 1 }
frame
一連のイベントをひとつにまとめ、それらが終了するたびに来る。
time は、ミリ秒単位の時間。
time は、ミリ秒単位の時間。
static void zwp_tablet_tool_v2_set_cursor( struct zwp_tablet_tool_v2 *zwp_tablet_tool_v2, uint32_t serial, struct wl_surface *surface, int32_t hotspot_x, int32_t hotspot_y);
タブレットの各ツールごとのカーソル形状をセットする。
ツールがクライアントのサーフェスのいずれかの上にある場合、または surface が現在のポインタ形状として使われている場合のみ有効。
surface に wp_tablet_tool カーソルとしての役割を与える。
サーフェスにすでに別の役割がある場合、または別のツールのカーソルとして使われていた場合、プロトコルエラーが発生する。
ツールがクライアントのサーフェスのいずれかの上にある場合、または surface が現在のポインタ形状として使われている場合のみ有効。
surface に wp_tablet_tool カーソルとしての役割を与える。
サーフェスにすでに別の役割がある場合、または別のツールのカーソルとして使われていた場合、プロトコルエラーが発生する。
surface
NULL で非表示