!!! GDKイベント !! イベント * マウスやキーボードからの入力は、イベントとしてプログラムに通知される ** xev を使えば、発生しているイベントを確認できる * プログラムにはイベントに対応したコールバックを登録する ! expose_eventの例 * ウィンドウの移動によるウィジェットの前面表示や、アプリケーションが発行する再描画メッセージによって送られる * [[GDK2014::exposeイベント]] ! 入力系イベント * [[GDK2014::マウスイベント]] * [[GDK2014::キー入力イベント]] * ドラッグ&ドロップイベント ** 通常はGTK+側で処理できるので、GDKのイベントとして扱う必要はない * [[GDK2014::IOチャネル]] !! サンプル ! ソースプログラムの所在 * 以下のsvnのリポジトリ ** https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event ! 実行手順 8< #svnから持ってくる(実行した直下にinput_eventディレクトリができる) svn export https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event #持ってきたディレクトリに移動 cd input_event #make make #実行 ./input_event >8 ! 遊び方マニュアル * マウスを動かせばライトが短時間点く * 左クリックで点きっぱなし * shift + 左クリックで消える * 右クリックを離すと全てのライトが消え ** さらに全てのライトがカーソル下のライトの色に変わる * ホイールを回すと色が変わる * ctrl + ホイールを回すと全てのライトの色が変わる * カーソルキーを押すとスクロールする ! ファイルリスト * [input_event.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/input_event.c] ** メインプログラム&サーバプログラム * [input_event_c.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/input_event_c.c] ** クライアントプログラム ** 中谷先生が作成したものを少し変更 * [input_event_lib.h|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/input_event_lib.h] [input_event_lib.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/input_event_lib.c] ** 入力イベントのサンプルウィジェットライブラリ ** 中谷先生が作成したものを少し変更 * [cb_event.h|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/cb_event.h] [|cb_event.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/cb_event.c] ** マウス・キーイベントのコールバックライブラリ ** 中谷先生が作成したものを少し変更 * [channel_lib.h|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/channel_lib.h] [channel_lib.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/channel_lib.c] ** IOチャネル関係のライブラリ ** 中谷先生が作成したものを少し変更 * [light.h|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/light.h] [light.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/light.c] ** ライト関係のライブラリ ** 今回説明した入力イベントの関数とは無関係 ** 中谷先生が作成したものを少し変更 * [udp_socket.h|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/udp_socket.h] [udp_socket.c|https://svn.cis.iwate-u.ac.jp/svn/csd/kimura/input_event/udp_socket.c] ** UDPソケット関係のライブラリ ** 鈴木先生,中谷先生が作成したものを少し変更 * gtk_lib.[ch] ** 既に解説済み !! リンク * [[GDK2014::概要]] * [[GDK2014::GdkPixbuf]] * [[GDK2014::アニメーション]]