はじめに

このページは、Data Slim 2 のアドイン作成時に思いついたこと等、個人的な覚え書きです。

縦書めも帳読み取り機 弐号

キーイベント取得時の注意 (2002.11.26)

KEY..._Aで処理した直後にDsEventMessageGet();でメッセージを読み込むと、sCodeにKEY..._Cが残っているようです。
(何もしていないのにKEY..._Cで指示した動きをしてしまいました。)

起動直後にKEY_ENTER_Cで作動するようなコードを書くと、キーでアドインを起動したときにそのままKEY_ENTER_Cで作動する箇所が動いてしまいます。

動作に関係のないDsEventMessageGet();を入れて1回余分にメッセージコマンドを読み込んでやれば回避できました。

ああ勘違い (2002.11.20)

message構造体の取得値を勘違いしてました。(訂正済み)

なんかbCodeとsCodeがごっちゃになってますね。

日本語の処理 (2002.11.03)

なんとか手抜きしようと考えていたのですが、任意の1バイトを抽出したときに、それが1バイト文字なのか2バイト文字の1バイト目なのか2バイト目なのかを判別する方法を思いつきません。たぶん不可能なのでしょう

やっぱり素直に頭から順に数えていくしか方法はないのですかねぇ。

SDKに関すること (2002.10.18)

メッセージ構造体を見ていると、POINT ptと言う物が・・・
てことはDsEventMessageGet();でもタップした位置の取得が可能と言うことですね。

/*Sample Program*/
while(1){
  DsEventMessageGet(&msg);
    TRACE("mes.message=%x\n",msg.message);
    TRACE("mes.bCode=%x\n",msg.bCode);
    TRACE("mes.sCode=%x\n",msg.sCode);
    TRACE("mes.pt.PointX=%d\n",msg.pt.PointX);
    TRACE("mes.pt.PointY=%d\n",msg.pt.PointY);
}

上記サンプルプログラムで調べたところ、Event IDを宣言していない場所をタップした時は、msg.messageにMSG_DS_TOUCH_DOWN(0x20)、mes.bCodeにMSG_DS_TOUCH_DOWN(0x20)[触れたとき]、mes.bCodeにMSG_DS_TOUCH_UP(0x21)[離れた時]を取得します。
(ちなみにsCodeは0のままです。)
Event IDを宣言している場所ではmsg.messageにMSG_DS_COMMAND(0x03)、mes.sCodeはMSG_DS_COMMAND_DOWN(0x43)及びMSG_DS_COMMAND_UP(0x45)、mes.bCodeにEvent IDを取得します。

DsEventMessageGet()によるメッセージ構造体取得DATA
状態messagesCodebCode
Tapping ON (No Event ID) MSG_DS_TOUCH_DOWN (0x20) 0x00 MSG_DS_TOUCH_DOWN (0x20)
Tapping OFF (No Event ID) MSG_DS_TOUCH_DOWN (0x20) 0x00 MSG_DS_TOUCH_UP (0x21)
Tapping ON (On Event ID) MSG_DS_COMMAND (0x03) MSG_DS_COMMAND_DOWN (0x43) (Event ID)
Tapping OFF (On Event ID) MSG_DS_COMMAND (0x03) MSG_DS_COMMAND_UP (0x45) (Event ID)
No Event (1second over) MSG_DS_TIMER1 (0x40) 0x00 0x00

仕様に関すること (2002.10.17)

スタイラスを移動させてオペレーションすることを考えたいましたが、どうも操作しにくいので、2点をタップしその位置関係でオペレーションする方法を検討中。

1回目のタップ座標を(X1,Y1)2回目のタップ座標を(X2,Y2)としたとき、X1-X2及びY1-Y2の値によって動作を変える。
誤差は6pxぐらいで良いか?

仕様に関すること (2002.10.15)

タッチパネルオペレーションを追加予定

Copyright 2001-2002 Hideo Morotomi
感想、要望は、moro@deneb.freemail.ne.jp又は、掲示板へお願いします。
個人的にはMAILより掲示板に書きこんでもらえた方が嬉しいです。
当Web Site に関する補足事項