トラップ <CXL00145_AT_nifty.com>
2005.03.21 Create
2005.03.31 Modify
ぱたぱたキーボードをSL-B500で使おう・・・と思ったら、キー割り当ては合わないわ、 Ctrl も Fn も効かないわで、もう大変(--;。 設定ファイル ser_code_ksim.ini をあれこれ調整してみたものの、 一部入力できないキーがあるし、どうにもうまくいきません。 SL-B500 と SL-C700 はカーネルソースは共通のはずですが、 あれこれ違うんですよねぇ・・・。
ところで、筆者は Palm Wireless Keyboard を使うために、irk-zaurus-j を入れています。 ここで、よく考えてみれば、ほとんどのアプリは Qtopia 上で動いているのだから、 素のコンソールでなければ Qtopia 上のインプット・メソッドでいけるんですよね。
かくして、急遽、『IRK でぱたぱたを使えるようにしよう』計画が浮上したのでした。
Craigさんの、LinuxZaurus で赤外線キーボードを使えるようにするための Qtopia Pluginです。 キー入力だけでなくマクロ機能もあり、 version 0.11.0 からは KeyHelper と同様のタスク選択、タスク切替機能もつきました。 本文書作成時点の最新版は 0.11.0 で、Pocketop と Targus Universal Wireless Keyboard に 対応しています。
bakeoさんが、Palm Wireless Keyboard 対応を行い、 日本語の LinuxZaurus で満足に動作するように改良したものです。 初公開時は 0.10.0 ベースでしたが、本文書作成時点の最新版は 0.11.1f となり、 Bluetooth 対応で更に多くのキーボードがサポートされています。
はじめは irk-zaurus をベースに進めていましたが、途中で irk-zaurus-j のソースが公開されていることに気づいたので、 irk-zaurus-j ベースでぱたぱた用の処理を追加することにしました。
もともと複数のキーボードに対応できる構造になってますから、 IRポートだけでなくシリアルポートをオープンできるようにして、 ぱたぱたキーボード用の処理を追加。 あとは、キーコード変換テーブルを整備すれば完了です。
これに、元からあったアプリ実行機能を拡張して引数を渡せるようにし、 CtrlとCapsの入れ替えを追加。 加えて、KeyHelper を参考に Qtopia Application (*.desktop) の起動処理、クリップボード経由のペーストを付け加えてみました。
source-tp4.tar.gz を落として展開すると、source ディレクトリが作成され irk-zaurus-j のファイル群が展開されます。 source ディレクトリに移り、./build.sh でコンパイルし、 ./makerel.sh でパッケージを作ることができます。
元の irk-zaurus では、~/Zaurus/SDK/ に dev-arm-qpe.sh と ipkg-build.sh が配置されており、 source ディレクトリの1つ上にもこれらがあるという前提になっていますので、 お使いの環境に合わせて、 build.sh と makerel.sh を変更して、dev-arm-qpe.sh と ipkg-build.sh の位置を 正しく指定してください。
tar xzvf source-tp4.tar.gz cd source ./build.sh ./makerel.sh
※ irk-zaurus-j-0.11.1f からのパッチは patapata.patch4.gz に置きます。 (cd source; zcat ../patapata.patch4.gz | patch -p1 でパッチを当てられます)
ごく普通のインストールです。 なお、インストール最後のフェーズで Qtopia のリブートが行われます。 画面に大きく砂時計のアイコンが表示されますので、しばらく待っててください (復帰後、時刻の設定画面が現れます)。
選択しているキーボードの種類によって表示名は変わりますが、 Patapata とか Palm とか Targus とか出るので、それを選択してください。 Qtアイコンの右隣にアイコンがあるので、タッチすると On/Off ボタンと CapsLock, NumLock の選択、Settings ボタンが表示されます。
※インストール直後に多少不安定なことがあるようですが、 その場合は再起動するなどしてみてください。
irk では、Shift キーなどの修飾キーを押した場合に送信するコードを、~/Settings/IRK.conf で自由に定義できます。 キーボード自体の配列を変えたい場合(英語キーボードを日本語キーボードに等)はソースの修正が必要ですが、 修飾キーと組み合わせたものであれば GUI から簡単に変更できます。
Qt アイコン横の、インプット・メソッドのアイコンを押して、Settingsボタンで設定画面を開いてください。
設定画面 (Settingsタブ) | |
---|---|
Keyboard: でキーボード種別を選択 Zaurus Model: で通信ポートを選択 (上から順に /dev/ttyS2, /dev/ttyS1, /dev/rfcomm0, /dev/rfcomm1, /dev/ttyS0) Swap Ctrl-Caps により Ctrl と Caps の入れ替えが可能 |
|
Cmdキー押下時の設定画面 (Keymapタブ) | |
Keymapタブで、Shift, Cmd 等の修飾キー押下時の割り当てを変更可能 左図では Cmd + Return(Enter)で OKボタンを割り当てています (キーコードは10進数表記のQtopiaキーコード) Key: で割り当てるキーを選び、その右のエリアで割り当てる内容を入力 最初の1文字 (#, $, %, *, +, :, <) により下表のように機能が異なります |
|
Fnキー押下時の設定画面 (Keymapタブ) | |
ぱたぱたキーボード用には、Fn キーを Punct に割り当て デフォルトで SL-C の Fn+n に合わせて設定済 新しいエントリを追加するには、Newボタンで入力欄をクリア後 Keyボタンを押し 割り当てたいキーを押下、 入力欄に 割り当てたい文字 もしくは、下表に従ってマクロを入力します |
内容 | 設定例 |
---|---|
よく使う文字列を入力(半角文字のみ) | Hello World |
クリップボード経由での文字列入力(日本語可) | <こんにちは |
10進数表記でQtopiaキーコードを指定 | #8207 |
任意のアプリを実行 | *qtmail |
引数を指定してアプリを実行 ※半角スペース1個で区切ること | *zeditor /home/zaurus/test.txt |
任意の.desktopを実行 | %Applications/qtmail |
QCOPメッセージの送信 | :QPE/System:setBacklight(int):0 |
タスク切替 | $taskSwap |
タスクの一覧を表示し選択 | $taskSelector |
ネットワーク接続(A) | %__6x010netconnect |
ネットワーク切断(A) | %__6x020netdisconnect |
ネットワーク接続(B) | :QPE/Network:connectRequest(QString,QString):app:msg |
ネットワーク切断(B) | :QPE/Network:disconnectRequest() |
※ SL-C3000 の場合、ネットワーク接続・切断(A) の設定はそのままでは動きません。 (B) のように QCOP メッセージで行うか、または __6x010netconnect.desktop と __6x020netdisconnect.desktop を修正し、それぞれ次の行を加えれば動くようです。
設定ファイル ~/Settings/IRK.conf には、GUIで行った設定が、 キーボード種別毎に、修飾キーの略称(Cmd=C, Shift=S など)と番号をつけて次のように記述されます。
C[0] = a:$taskSwap
設定行は = と : で区切られて、大きく 3つのパートに分かれます。 C[0] は、修飾キー Cmd の 0 番目の定義を意味します。 a は、割り当てるキーが a であることを意味します。 $taskSwap は、このキーに割り当てる機能を意味します。
例えば、ネットワーク切断(B) を Cmd + n に割り当てた場合は、(仮に3番目だとしたら)次のようになります。
C[3] = n::QPE/Network:disconnectRequest()
1234567890-= !@#$%^&*()_+ qwertyuiop[]\ QWERTYUIOP{}| asdfghjkl;' ASDFGHJKL:" zxcvbnm,./ ZXCVBNM<>? ` ~
こうして簡単にぱたぱたを使えるようになったのも、ソースが公開されていればこそです。 公開されている皆々様に感謝します。
install package: irk-zaurus-j_0.11.1f-tp4_arm.ipk
patch for irk-zaurus-j_0.11.1f: patapata.patch4.gz
all source file: source-tp4.tar.gz