GadgetSeed  0.9.6
システムイベント

GadgetSeed のシステムイベントは FIFO 構造のバッファにより管理されます。

標準的なモデルのユーザアプリケーションは get_event() よりシステム イベントを取得し、取得したシステムイベントに応じた処理を実行します。

キーボード等のデバイスドライバは、システムイベントとして set_event() で検知したイベントを登録します。

割り込みハンドラからシステムイベントを登録する場合、 set_event_interrupt() を使用して下さい。

システムイベントは最大 GSC_KERNEL_MAX_SYSTEMEVENT_COUNT までバッファすることが出来ます。

システムイベントには時間的寿命があります。

登録されたシステムイベントは、取得されるまで GSC_KERNEL_SYSTEMEVENT_LIFE_TIME (ms)経過すると寿命切れイベントと して取得されます。


システムイベントデータ

システムイベントデータ構造体は st_sysevent で定義されています。


システムイベントAPI

include ファイル : sysevent.h

API名 機能
set_event() システムイベントを登録する
push_event_interrupt() 割り込みハンドラからシステムイベントを登録する
set_event_interrupt() 割り込みハンドラからシステムイベント待ちタスクを起床する
create_event() システムイベントを作成し、追加する
get_event() システムイベントを待つ

予約済みシステムイベント定義

システムイベントデータ構造体のメンバ what は、発生したイベントの種類を示します。 what は以下のマクロが定義済みです。

include ファイル : sysevent.h

イベント名(マクロ定義) イベント説明
EVT_NULL イベント無し
EVT_KEYDOWN キーを押した
EVT_KEYUP キーを離した
EVT_KEYDOWN_REPEAT キーを押した(リピート)
EVT_TOUCHSTART (画面に)タッチした
EVT_TOUCHMOVE (画面に)タッチしたまま動かした
EVT_TOUCHEND (画面に)タッチした状態から離した