>当方入力SIPに Touchkeysip 使用。タイ語入力を可能にしてタイ日辞書を使用しておりますが、
>タイ語の"ป" = UNICODE の 0x0E1B を検索欄に入力したとたんに入力文字がクリアされて検索欄が空欄になります。
>これはTouchkeysipからpDiceの検索欄に入力したときにのみ起こります。
ご報告ありがとうございます。
夏休みと体調不良が重なったせいでコメントのチェックができてませんでした。遅くなって申し訳ない。
んで、ご報告の件ですが、pDiceはESCキーで入力欄をクリアする仕様です。該当コードの後半の0x1Bが入った時点で、この機能が暴発しているようです。
と当たりをつけて、TouchkeySIPとタイ語用のスクリプトを入れて試してみました。
タイ語用のスクリプトは、ググって一発目の http://www.el-camino-real.com/archives/2008/03/26.html を入れてみました。
予想通り、0x0E1Bの文字を入れたタイミングで、WM_KEYUP(0x1B)が来ていました。
スクリプト(defaultscript.txt)の内容を確認してみたところ、F_KEYUPの処理が下記のようになっていました。(725行目付近)
# Unicode かどうかで処理わける
IF CMP_EQ $GW_SV_U 0
THEN
SendVirtual $GW_SVPARAM2 KEYEVENTF_KEYDOWN
ELSE
SendChar 0 0 $GW_SVPARAM2
ENDIF
SendVirtual $GW_SVPARAM0 KEYEVENTF_SKEYUP
Unicode文字の時はWM_CHARを送るようにしているのに、共通処理でWM_KEYUPもついでに送ってしまっているようです。
ここを、以下のように書き換えたところ、症状は出なくなりました。
# Unicode かどうかで処理わける
IF CMP_EQ $GW_SV_U 0
THEN
SendVirtual $GW_SVPARAM2 KEYEVENTF_KEYDOWN
SendVirtual $GW_SVPARAM0 KEYEVENTF_SKEYUP
ELSE
SendChar 0 0 $GW_SVPARAM2
ENDIF
スクリプト作者さんの意図が掴み切れてないところがあるので、これで正しいかどうかは分かりません。後は、ご自身で確認してください。