2002-03-19 [長年日記]

ATOK Pocket

ATOK Pocketで確定取消が上手く行かない原因の予想

1. Ctrl+BSを押したときのキーコードをVK_PROCESSKEYに変えないままアプリケーションに送りつけているため、アプリ側が単語削除してしまう

2. VK_PROCESSKEYには変換しているけど、その後でさっき確定したばかりの文字列を削除するためにVK_BACKを送るときにCtrlキーの状態を元に戻していない(つまり、アプリ側でGetKeyState(VK_CONTROL)するとトップビットが立っていて、Ctrlキーが押された状態と認識する)ため、結局Ctrl+BSがたくさん押されたかのように振舞ってしまう

どっちもありうるけれど、テストケースを作って試してもらわないとどっちかわかりそうもない。1でも2でもIMEがOnの場合にはCtrl+BSをハンドルしないようにするくらいしか回避方法がなさそうだけど。

しかし、PWZはともかくPocket Wordもそれなりの動きをする(IMEがOnの時には単語削除が効かなくなるらしい)のは納得がいかないな。Pocket WordがATOKのバグを吸収しているとは思えないし。