2015-4-20[月] KEYEVENTF_EXTENDEDKEY
win で fltk のサンプルを動かしてるとキー入力全般で、拙作のキーバインディングソフトDiaKbdMouse経由でのカーソル移動がテンキー数字に化けてしまった。調べてみると fl_win32.cxx で WK_KEYUP/DOWN処理でlParamのbit24=拡張キーをみて、拡張キーじゃなかったら まさにそのようなキーが押されたようにする処理になっている。状況的に DiaKbdMouse側で設定足りてないせいだろうで ググれば まさにな頁発見。 しかし fltk でこんな処理をしてるってことはIBM拡張キーボードとは非互換かつ多少なりとも普及したテンキー付キーボードがあった?…ではなく、拡張キー扱いでない時の fltk でのキーコードは、単に (virtualでない) bios のキーコードと同じようなので、本来はそういう扱いをするものなんですかね。いままで KEYEVENTF_EXTENDEDKEY 付けてなくても困ってなかったから WK_KEYUP/DOWN処理で律儀にlParamのbit24見てるソフトは滅多にないと思うけれど... fltkなソフトを今まで使ってなかったとも言えるか。 |