うーむ、内部仕様をミスった…orz
ちなみにキー入力してから内部にキーコードを保存する部分ですが、例えば「てんき」や「だって」、「きょう」といった「ん」「っ」「三文字構成の文字」部分を素直に「tenki」「datte」「kyou」と保存するようにしたのは間違いでした。おかげでBSで文字を削除する部分のコードがめんどくさい事めんどくさい事…。やるならば「te nn ki」「da xtu te」「ki xyo u」と保存するべきでしたorz。こうすれば文字1文字に対してのローマ字の集合として扱うことができるので。
うーん、どーすっかなぁ。現在の仕様だと「きょ」をBSで消すとまるごと「きょ」が消えてしまいますが…。
M600iのいい所?
おもむろにM600iのNumLock(Alt固定)時のキーコードを調べてみました。例えば「1」のコードは「49」ですが、NumLock時に「E」と「R」を押下すると両方とも「49」が返ってくるという非常に素直な造りをしていました。ちなみにスキャンコードは「1」が押されていても「E」と「R」それぞれのコードが返ってきます(当たり前といえば当たり前か…)。
バージョンアップのお知らせ(Ver0.6.3)
M-FEP3がバージョンアップしました。今回はショートカット機能の実装とバックスペース時の挙動の変更が主な修正内容です。あと初期化処理(リソースのロードタイミング)とかをより安全なものに変更したのでソースコードを見られる方は本バージョンを参考にして下さい*1。一般ユーザーの方も通常の使用をしている限りは問題はありませんがリソースファイルを削除したりすると再起動ループする危険性があるのでなるべく本バージョンに移行して下さい。
最新版のSISファイルはDIGIらいふ分室からダウンロードできます。
- ショートカット機能の追加(「Alt+Shift」→「a,s,d,x,c,b」)。
- ポンドキーでの入力切替を廃止。
- セントキー、ポンドキーでのデバッグモード切替を廃止(ショートカットBへ移行)。
- バックスペースの挙動を一部修正。
- 初期化ルーチンの書き直し。
- 設定ダイアログの修正(Version→About。さらに内容を追加)。
- 状態表示アイコンを8bitColorから24bitColorに変更。
ショートカット機能は「Alt+Shift」でアイコンが紫色に変わります。その状態で各キーを押すとそれぞれに割り振った機能が実行されます。こうすることによってキー不足を解消することが出来ました。なお割り振られている機能は以下のとおりです。
- A:全選択
- S:全選択後カット
- D:先頭から255文字をカット
- X:カット
- C:コピー
- B:デバッグモード
当機能の実装により従来から使用していた「ポンド」「セント」「シャープ」に割り振っていた機能を廃止しました。ただ、一つ解決しない問題がありまして、「Shift+Alt」を押した後に「Alt」または「Shift」のトグル(固定)状態が一瞬で解除されてしまうという不具合が発生します。この問題の詳細はこちらを参考にして下さい。
あとはバックスペースの挙動を一部修正しました。特に「ん」「っ」が絡んだ削除を行うとローマ字が残ったりした不具合を重点的に修正しました。この辺の動作で気になることがありましたらご連絡ください。
*1:というか以前のバージョンは忘れて下さい。