BeOS 版のキー名称取得方法として
ファンクションキーとかテンキーが取れないのが問題。
なので、ファンクションキー、テンキーなどはソフトに添付した XML ファイルに定義を書いておいて、それから漏れたものはキーマップから取得(ついでに大文字化)、それでもとれなかったら "keycode-xx" というのが良さそうです。
ということで、再びまとめなおすと、
1. ソフトに添付した XML ファイルに定義があればそのキー名称を使う。
2. (Windowsの場合) GetKeyNameText() API を使ってキー名称を取得。
2. (BeOS/ZETAの場合)キーマップからモディファイアなしの文字を取得して大文字化。
3. それでもダメなら "keycode-xx"。
キーマッピングでマップされた文字をとったりすると小文字ばっかりとれてしまいそうだし、とか書いちゃいましたが、小文字がとれたら大文字にすればいいだけでこれに関しては問題ありません。
ファンクションキーとかテンキーが取れないのが問題。
なので、ファンクションキー、テンキーなどはソフトに添付した XML ファイルに定義を書いておいて、それから漏れたものはキーマップから取得(ついでに大文字化)、それでもとれなかったら "keycode-xx" というのが良さそうです。
ということで、再びまとめなおすと、
1. ソフトに添付した XML ファイルに定義があればそのキー名称を使う。
2. (Windowsの場合) GetKeyNameText() API を使ってキー名称を取得。
2. (BeOS/ZETAの場合)キーマップからモディファイアなしの文字を取得して大文字化。
3. それでもダメなら "keycode-xx"。