キーボード関連 (3)

2006/10/15 (最終更新:2007/08/13 20:43)

◎ キーボードの軽量化

いつも ELECOM のミニキーボード TK-UP84CP を ZERO3[es] と一緒に持ち歩いています。

key01.jpg

分解したら鉄板が2枚入ってました。

key02.jpg

取り除いてみました。 2枚で 47g。
240g(カタログ値) → 実測 197g まで軽量化できました。
持つと結構軽いです。

◎ 初代でもテンキー入力

初代 ZERO3 (WS003SH) Kyocera AH-K3001V の2端末使っているのに、 メールはいつも AH-K3001V でしか打たないという知人がいます。 慣れてしまっているので どうしても携帯のテンキーで入力したいそうです。

W-ZERO3 (WS003SH) のキーボードを触ってみましたが、 キーも大きく押した感触もはっきりしていて うらやましいくらいに使いやすいものでした。 本当は es を勧めたいところだけどこれを活用しないのはもったいない。

いろいろ触っていたら キーボードを出した状態で縦に持っても使えそうな気がしてきました。 左手で操作する場合は画面を上下反転して使います。

key04dl.jpg
■クリアキー
カーソルキー
■テンキー
文字(IME)キー
■決定キー
key04d.jpg
左手で操作 右手で操作

ctrlswapmini v0.17 で実装してみました。 キー配列は設定ファイルで自由に定義できます。

入力方式やさまざまな機能はそのまま使えるので 拡張かな入力(トグル入力)も 2タッチ入力もできてしまいます。 ただし MS-IME はそのままだとカーソルキーで漢字変換できないので、 imekeyset5 を使って「Phone Style」を追加しておく必要があります。

※ 右手操作、左手操作の切り替えは [L] と [P] キーで行います。

◎ ctrlswapmini の機能

ctrlswapmini には 2つの大きな機能ブロックがあります。

(1) W-ZERO3[es] (WS007SH) のテンキー解析
(2) 文字入力エンジン

(1) は W-ZERO3[es] の テンキーを 1キーとして認識するための キーコード解析を行っています。 内部で標準のトグル入力された複雑なキーコードを受け取って どのテンキーが押されたのか判別するわけです。 W-ZERO3[es] のテンキー処理で難解だったのはこの部分です。 W-ZERO3[es] のキーコードに密に依存しています。

(2) は入力されたキー情報を元に独自にトグル入力や2タッチ入力を 行います。 設定ファイルの記述に従ってさまざまなアクションを行うわけです。 こちらは機種依存が無く汎用的な実装になっています。 (1) に比べると非常に簡単な処理です。

W-ZERO3 WS003SH/WS004SH 対応化は、 任意の VK マッピングを行った後に 直接 (2) を呼び出すことで実現しています。

この流れは特別なことを何もやっておらず 汎用的な処理しか行っていません。

◎ ほかの WindowsMobile5.0 でもテンキー入力?

W-ZERO3 WS003SH/WS004SH に対応したことで機種依存なしに動作するようになりました。 また QWERTY キーのどこをテンキーとして利用するのか 設定ファイルで自由にカスタマイズすることができます。

作ってるときは気がつかなかったのですが、 もしかしたら最近話題の DoCoMo の hTc Z とか SoftBank の X01HT とかでも 動作するかもしれません。

もちろんキー配列はハードにあわせて設定する必要があります。

もし動くようでしたらどなたか教えてください。

[戻る]
[メニューに戻る] [ZAURUS総合] [Direct3D] [Ko-Window] [Win32] [WinCE] [携帯電話] [その他]
フルパワー全開 Hyperでんち

Hiroyuki Ogasawara <ho>