Dropbox

Nokia 3030 (Asha 303) に対応したKKJConv v1.15b (jadファイルでは未だ1.15のまま)をテスト版として以下のURLにて公開しています。朝一番にv1.15aを公開していましたが、ちょっとバグっていました。

http://www.nkozawa.com/kkjtest/ デバイスから直接アクセスしてOTAで導入してください。

Nokia 3030 (Asha 303)向けの新機能:
- Ctrlキーが働くようになりました。漢字入力画面でCtrl+Cなどが使えます。KKJSetupのショートカットの指定画面も同様にCtrlキーが働きます。
- 方向キー(十字キー)の代替としてSymキーとT, F, G, H, Bの組み合わせを使用できるようにしました。

  • Sym + T 上
  • Sym + F 左
  • Sym + H 右
  • Sym + B 下
  • Sym + G 中央ボタン

として働きます。

その他、自前のファイルダイアログなどが正しく機能していない事がわかっていますので、それが解決するまではテスト版として公開していきます。

その他、未公開だった変更が幾つか含まれています。
- 漢字モードでもスペースは半角のものを使用するようにした。
- カーソルを上に移動しつづけた時、最後は文頭に移動、下に移動しつづけた時は最後は文末に移動するようにした。

実験中だったNokia E7-00対応(一部 N97mini対応)部分を取り入れた KKJConv v1.15 を公開致します。

修正内容:

- Nokia E7-00のフルキーボード対応
詳しくは後述

- CAPS時のバックスペース・キー機能変更
以前はShift/CAPS表示の時はバックスペース・キーを削除キーとして機能させていましたが、自分でも時々動作に戸惑うのでShift時は削除、CAPS時は通常のバックスペースとしました。<- 別のアイデアもあるので、近いうちにまた変更するかもです。

- ブログ「今日の○○」の管理人さまがKKJConv用のアイコンを大きくしてくれました。かなり大きいですがE90のQVGAでも表示できているので最近のノキアであれば大丈夫と思います。念のため従来のアイコンを使用したものも用意しています。

ダウンロードなどの詳細につきましては、ブログ上部にありますKKJConvタブをクリックしてください。もしくは以下のリンクをクリックください。

http://www.nkozawa.com/wiki/index.php?KKJConv

また、OTAによる導入はデバイスから以下のURLを開いてお好きな辞書サイズのリンクをクリックして導入してください。

http://www.nkozawa.com/kkjconv/

[ E7-00 での使用方法 ]

- 改行キーの代替
改行キーが機能しません。そのため、代替キーとして’@'キーを割り当てています。改行あるいは変換文字列の確定には’@'キーを押してください。また、Ctrl+jも同様に機能します。

-  シフト・モード
シフトキーの扱いが従来機種と変わりましたので、画面表示に忠実に入力するための「厳格なシフトモード」という設定をKKJSetupに新設しました。E7-00では、これがディフォルトでオンになっています。

- 数字、記号入力
数字記号入力のためのキーを押してもKKJConvのシフトモードが変化してしまいますが、実際の数字記号入力には関係有りません。数字記号入力の現在の状態はKKJConv動作時には表示されませんのでご注意下さい。他の画面で数字記号入力の挙動になれていただくしか有りません。

- Ctrlキー
Ctrl+c, Ctrl+jなどを使用する事が多いと思います。しかしながらE7-00本体が持つシフトモードによりCtrl+c等を押下してもCが入力されてしまう事があります。その場合はシフトを一度もしくは二度押してからお試しください。

Nokia E7-00のKKJConv対応で、どうやっても解決出来無い部分が残ってしまいました(これはN97miniやN97から同じかも知れないです)。E7-00に搭載されているQWERTYキーボードがMIDPアプリケーションからどのように見えるかという問題です。

[ 改行キーでキーコードが発生しない ]

改行キーが何も役割を与えられていない訳ではありません。通常のMIDPアプリケーションで改行キーを押すと左側ソフトキーに対応するメニューが開くようになっています。タッチデバイスということで何かしらの配慮から、こうなったのかも知れませんがQWERTYキーボードとして使用する上では、かなり不自然で不便です。メニューの存在しない(正確にはリスナーを登録しない)テストプログラムも試してみましたが、やはりkeyPressed(int)やkeyReleased(int)でキーコードを得ることは出来ませんでした。

CtrlキーがあるE7-00ではCtrl+jで改行キーを代用出来るのですが、ここにも落とし穴(後述します)あるので’@'キーを改行キーの代用として割り当てています。

[ シフトモードが分からない ]

通常のシフト、数字記号用のシフト、あるいはSymキーを押すと通常の画面ではシフトモードが画面上部に表示されます。ところがMIDPでは、非フルスクリーンな表示でもシフトモードが表示されません。シフトモードは通常と同じく、一回押すとシフト、2回押すとシフトロックという動作なので、それを自分で把握して入力しなければ行けません。

E90やE63もMIDPではシフト状態の表示はありません。しかしながらシフトを押しても次に入力される英字には影響されず常に小文字が入力されました。つまりアプリケーションにシフト状態の管理が任されていました。それ故、何の表示もないことが正しかった訳です。またE63では数字記号モードはMIDPに入る前に効いていますが、それだけを使用者が自己管理すれば良かったので然程混乱することはありません。

[ 数字記号シフト、Symキーもシフトキーと同じキーコードが発生する ]

どれもシフトの仲間だからということでシフトキーと同じキーコードを割り当てたのかも知れませんが、それが役に立つ場面が思いあたりません。E90やE63では数字記号シフトは何もキーコードを発生しませんでした。それ故にシフト状態をアプリケーション内部で管理するということが容易に出来ていました。

KKJConvとしては、いっそのことシフト表示を止めてしまうかと思いましたが、今のところはシフト表示に合わせて大文字、小文字の相互変換を行っています。ロジックの都合によりシフトを押したままで英字入力が二文字目からは小文字に成ってしまいます。これも、致し方なしです。

[ Ctrl + 英字が効かない事がある ]

英字を入力する際、本体のシフトモードに応じてMIDPアプリケーションに渡されるキーコードが小文字だったり大文字だったりするのは構いません。ところが、Ctrlキーと英字キーを同時に押して発生させるコントロール・コードがシフトモードによって左右されています。シフトモードが大文字に成っている時にCtrl+Jが押されると、キーコードは’J'が発生してしまいます。E90, E63では常に期待どおりのコントロール・コードが発生します。特にE63では数字記号シフトにロックされていてもCtrl+jなら改行キーとして機能します。

Ctrlキーはもともと押下状態かどうかがMIDPアプリケーションでは感知出来ないのでKKJConv側では対処の方法がありません。

ps. 一縷の望みを託してForum Nokiaにてバグレポートいたしました。直ると良いなぁ。

数日前の記事にNokia E7-00のMIDPにてナビキーがQWERTYキーボードのa,w,s,dに割り当てられていると書きました。この解釈は間違ってはいませんが、もう少し詳しい仕組みが分かりました。現在確認されているところではN97 miniも同じ仕組です。他にも該当デバイスがあるかも知れません。

MIDPにおいては幾つかのキーが予め定義されています。携帯電話の10キー(0-9, *, #)とゲーム用のキーです。詳しくはCanvasクラスの説明の冒頭部分に記述されています。ゲーム用のキーについてはキーコードが決め打ちされている訳ではありません。CanvasクラスのgetKeyCode(int)メソッドでキーコードを取得すると、そのデバイスで使用するゲームキー(Up, Down, Left, Right, Fire)が初めて分かるという仕組みになっています。

KKJConvでは、上下左右にカーソルを動かすためのキーコードをgetKeyCodeで取得しています(一部例外あり)。その結果、E7-00ではa, w, s, dが上下左右のキーとして返っていました。そのためKKJConvにおいてもa, w, s, dを押すとカーソルが動くという結果になりました(同じ理由で本当のカーソルキーは無視)。ただし実際のキーコードはascii文字としてのa, w, s, dそのものでした。また、キーボード右下にあるカーソルキーも正しく反応していて、他のデバイスと全く同じキーコードが出ていました。

ということで、KKJConvではE7-00とN97mini(あと詳細は忘れましたがソニエリも以前から)ではgetKeyCodeを使わず決め打ちのキーコードでカーソルを移動することにしました。もしかすると全くgetKeyCodeを使わなくても良いような気もします。

[ まだ残る謎 ]
これでカーソル移動については簡単に解決しましたが、改行キーの謎は残っています。現在の所、改行キーを押すとメニューが表示されてしまいます。 これが、ちゃんと改行キーとして働けば、素直な動作環境になります。今現在は仕方なく@を改行キーの代替キーとして割り当てています。

日刊KKJConv状態ですが、今日も小さな変更を行いました。
- 昨日のバージョンでN97mini向けに発信ボタンを改行に割り当てましたが失敗しました。詳しくは紅玉さんのブログを御覧ください。改行キーの割り当てそのものも失敗ですが、通話画面が立ち上がるのは想定外でした。暫定的にN97miniもE5-00同様に’@'に割り当てました。
- E7-00に置いてKKJConvのシフト表示が無いときにも大文字で英字が入力されてしまう事があるので、これを修正。ただしBTキーボードなどでシフトを押したまま英字を入力する時に小文字になってしまう副作用があります。設定画面で従来の動きとの切り替えを出来るようにするつもりです。

[ 導入 ]
以下のURLにデバイスからアクセスしKKJConvの所をクリックします。

http://www.nkozawa.com/kkjtest/

辞書の大きさ別にL版, MML版, M版を用意しました。お好きな物をお選び下さい。

[ 使用方法 ]
改行キーの代替はE7-00, N97mini共に’@'キーになっています。N97miniでは記号キーとの併用になると思います。

ご意見、ご希望がありましたら、コメント、メール、呟き何でも構いませんのでお寄せください。

昨日のバージョンは一部、想像と違う動きをしていました。ナビキーのアサインを勘違いしていたためですが、それを調査する過程でより本質的にナビキーの謎を解くことが出来ました。結果から言うと通常のカーソルキーが使用できるようになったはずです。ただし改行キーについては未だ解決出来無いので、代替キーをアサインする方向で考えています。

[ 導入 ]
以下のURLにデバイスからアクセスしKKJConvの所をクリックします。

http://www.nkozawa.com/kkjtest/

辞書の大きさ別にL版, MML版, M版を用意しました。お好きな物をお選び下さい。

[ 使用方法 ]
昨日のNaviモードは廃止しました。普通にカーソルキーを使用してみてください。

改行キーは未だ機能しません。代わりにE7-00ではCtrl+jもしくは’@'キー、N97 miniでは緑の発振キーを使用してみてください。改行キーの代替方法については、何か良いアイデアがありましたら教えて下さい。

[ 予測される不具合 ]
KKJConvのシフトモードが無いときにも大文字の英字が入力されるかも知れないです。また、記号シフトの場合は記号が入力されますが画面上、そのシフトモードであることが分からないと思います。

[ その他の変更点 ]
昨日のバージョンでは記号入力パネルは未対応でしたが、今回は通常の入力モードと同様にカーソルキーと改行キーを代替するキーで選択可能と思います。

ご意見、ご希望がありましたら、コメント、メール、呟き何でも構いませんのでお寄せください。

すでに香港でNokia E7-00を入手された方々がいらっしゃるようですので、とり急ぎKKJConvのE7-00対応を始めました。実機無しで手探りながら、まずはpreview第一版を公開いたします。E7-00を入手された方でお時間の有る方のテストをお願いいたします。

[ 導入 ]
以下のURLにデバイスからアクセスしKKJConvの所をクリックします。

http://www.nkozawa.com/kkjtest/

[ 使用方法 ]
E7-00のqwertyキーボードがMIDPにおいてナビキーとして使用されていること、またカーソルキーが効かないことを回避するためにシフトモードのひとつとしてNaviモードを設置しました。

- シフトキーを押す毎に右上のシフト表示が、表示なし->Shift->CAPS->Naviと変化します。
- カーソルの移動を行う時はNaviにしてA,W,D,Xのダイアモンド配列のキーで行います。
- 改行動作、変換中文字列の確定動作はCtrl+jもしくはNaviモードでSを押します。

[ 予測される不具合 ]
どうもデバイス本来のシフト状態にCAPSとか最初の文字だけシフトみたいのがあるようです。そのためKKJConvのシフト状態と相反して大文字あるいは小文字が入力されかも知れません。

同様の理由によりJが大文字に成っているときはCtrl+jが効かないかも知れません。

[ お願い ]
不具合、感想、使いやすくするためのアイデア等なんでも結構ですのでお知らせ下さい。連絡手段もコメント、メール、あるいはボソッと呟いて(Mentionの方が良いですね)もらう等、何でも結構です。

[ N97 mini ]
N97 miniにも、ナビキーの呪縛があるようですので、もしかすると有効かも知れません。シフトモードが分かりやすければ、通常のKKJConvでもナビキーモードと大文字の切り替えで何とか入力出来るようですその場合でも、おそらくA,W,S,D,Xの小文字入力が不可能と思います。E7対応のKKJConvであれば小文字が入力出来ると思います。

[ 今後 ]
今回のバージョンはE7-00モード決め打ちです。E7-00かどうかの自動判別とNaviモードを使用するかどうかの設定が出来るようにいたします。

KKJConvを端末にてネットワークから直接導入出来るようにセットアップいたしました。端末から以下のURLにアクセスして辞書サイズを選ぶだけで導入が始まります。

http://www.nkozawa.com/kkjconv/

だいぶ以前から考えてはいたのですが、なかなか腰が重くて、、、

KKJConv-t for BlackBerry先日、ご紹介しましたムシ・ノ・シラセさんの10キー版KKJConv-tをBlackBerry用にパッケージしました。BlackBerryはフルキーボードを使用する端末なハズなのに何故10キーなのだと思われるかも知れません。

BlackBerryにはStormという全画面タッチパネルを使用した異色のモデルがあります。この機種はソフトウェア・キーボードを画面に表示して入力するのですが、フルキーボードは横持ち(ランドスケープ)の時にのみ現れます。縦持ち(ポートレート)した場合にはキャプチャー画像の用なテンキーしか現れません。縦画面でもフルキーボードがあるそうですが、小さくて実用的ではないそうです。

片手で操作するには縦持ちにするわけですが、この時に日本語入力を行いたいという要望にお答えするべくKKJConv-tをBlackBerry用にパッケージし直しました。

私の方では中身には一切タッチせずKKJConv-tとして公開されているjarファイルをそのまま使用してBlackBerry向けにパッケージしました。

普通的生活工作室のKKJConv にてダウンロード出来ます。簡単な説明もKKJConvページに書いてありますが、ここにも転記しておきます。

- 導入後Options/Applications画面にてKKJConvに対してCompatibility ModeをEnableにしておきます。

- KKJConvを起動すると10キーパネルが出ますので数字モードにロックして文字を入力します。

- 漢字の変換動作等には画面を上下左右になぞる事によって行います。 その他の動作に関してはMIDP版のKKJConv-tと同様です。

私自身はPC上で動作するエミュレータでの確認しか行っておりません。またStormの操作にも不慣れですので、前の記事にもコメントを頂いている岡目八目さんに実機テストをお願いしたしました。ご協力ありがとうございました。

昨日、紹介させていただいた「ムシ・ノ・シラセ」さんのKKJConvの10キー版がQWERTYにも対応していることを教わりました。#キーを長押しすることにより10キーとQWERTYキーの入力モードが切り替わります。

E90にて試してみましたが良い感じです。画面の大きさを見て自動的にモード変更みたいのを組み込んでみても面白いかな、などと妄想が広がって楽しいです。

久しぶりにE90をメイン機に復活させても良いかなと思います。あ、その前に電池(金色、謎!?)を買ってこなきゃ。