Top > Zaurus > Apps > KeyHelper

KeyHelper & InputHelper

 入力支援、タスク切り替え、ランチャー、タップ代行...手放せないツールボックス。

基本情報

KeyHelper 導入メモ

  1. KeyHelper のサイトから以下のファイルを入手する
    • keyhelper_1.2.2-1_arm.ipk (2005/01/17 17:08:05, 100,452 バイト)
    • keyhelper.xml と keyhelper.conf (keyhelper 作者の利用しているファイル)
  2. 「はけのザウルス備忘録別館」より、以下のファイルを入手する
    • zvol_0.0.4b-1_arm.ipk (2006/05/28 10:19:22, 7,542 バイト)
  3. 入手したファイルを SD カードの Documents/Install_Files/System/KeyHelper/ に配置する。
  4. 「ファイル」タブで配置したディレクトリに移動、ipk ファイルを選択し「OK」キー押下。
  5. ソフトウェア インストーラー 起動。
    • インストール先は「プログラムエリア」にする。
    • この手順で、KeyHelper、InputHelper、zvol をすべて導入しておきます。
  6. 「端末ウィンドウ」起動。
    $ cd /mnt/card/Documents/Install_Files/System/KeyHelper/
    $ cp keyhelper.* ~/Settings/
  7. (引き続き端末ウィンドウから)KeyHelper起動。
    $ khctl reload

keyhelper.xml のカスタマイズ

 初期状態で、SL-C750 向けの設定がされています([Fn]+[カナひら]キーの組み合わせを [Ctrl] に割り当てていますが、SL-C4桁の機種すべてに Ctrl キーがある以上、その設定は不要です。

 キーコード一覧 で確認すると、[カナひら] は F26、[Fn]+[カナひら] 組み合わせは F31 に該当します。これに該当する部分をばっさり削除します。具体的には、以下の場所が削除対象になります。

  0
  1
  2
<define key="F26" type="Control">
    <release key="F31"/>
</define>

また、

設定し終えたら保存し、端末ウィンドウより

$ khctl reload

を実行します。

ここまできたら、keyhelper 導入直後は再起動し、設定変更を徹底できるようにします。

keyhelper.conf のカスタマイズ (1) ランチャー編の基礎

 初期状態では、以下のようになっています。

  • [Home]+[D] = カレンダー
  • [Home]+[K] = コンソール (SHARP版)
  • [Home]+[T] = ToDo
  • [Home]+[M] = メモ帳

 個人的には Home キーを押すと標準ランチャーに戻ってしまい気に入らないので、ランチャー部分は [Address] キーとの組み合わせに変更してしまいます。keyhelper.xml を開いて

  0
  1
<define key="F12" type="User1">
</define>

 ↓

  0
  1
<define key="F10" type="User1" mapping="True">
</define>

(F12→F10、mapping の追加 がポイントです)

その後、

$ khctl reload

を実行します。

さて、このままではアドレス帳がキー起動できなくなってしまっていますので、keyhelper.conf を ZEditor で開き、

A = Applications/addressbook

を追加しておきます。これで、[Address]+[A] でアドレス帳起動になります。

SHARP の標準コンソールではなく端末ウィンドウを起動したいと思う場合、以下のように K = 部分を書き換えてしまいます。

#K = Applications/embeddedkonsole
K = UsrApps/embeddedkonsole-ja

ZEditor も一発で呼べるように、追記を...

Z = UsrApps/zeditor

これらの登録アプリケーションは、いずれも /home/QtPalmtop/apps/ 以下にある拡張子 .desktop なファイルを意味しています(拡張子は省略すること)。それさえ理解すれば、電源オフや画面の縦横切り替え等の登録も思うがままにできます。

ボリューム調整のために、 [Address]+V でミュート ON / OFF するようにしましょう。zvol のパッケージを導入している場合はコマンドラインで zvol を利用できる状態になっているかと思いますが、コマンドラインについては @exec[TAB]フルパスのコマンド名 で登録できます。

V = @exec[TAB]/home/QtPalmtop/bin/zvol m

( [TAB] は実際にはタブ入力。また、ミュート限定にしたい場合は 「V = @exec[TAB]/home/QtPalmtop/bin/zvol +m」のように m を +m に置き換えます。

ここまできたら、標準アプリケーションはある程度呼べるようにしておきたいな、と追加を重ねてみます。

M = Applications/qtmail
N = Applications/netfront3

この要領で、よく使うアプリケーションはキーランチャーに登録しておきます。

keyhelper.conf のカスタマイズ (2) ランチャーと InputHelper

 InputHelper を使うことにより、タッチパネルを使わないでもキー操作だけでタップ/マウスでクリックしたかのような効果を得ることができるようになります。

 私の場合は [Address]+[H] でマウスカーソルを ON / OFF 切り替えする、[Address]+数字でマウスカーソルを画面の特定部分にジャンプするようにしてます。画面の特定部分ジャンプの応用で、[Address]+[0] の場合は Qtopia のメニューをいつでも呼べるようにしてあります(ジャンプ+クリックの同時実行)。基本的には move x座標 y座標 か、 click x座標 y座標 といったイメージです。

#=マウスカーソルを ON/OFF します。
H = @qcop	QPE/InputHelper "handle()"
#=マウスカーソルをジャンプさせます。
#=  1   2   3   ---> Y: 14 タイトルバー
#=  4   5   6   ---> Y:220 画面中央部
#=  7   8   9   ---> Y:426 ウィンドウ領域最下部
#=  0  (_) (_)  ---> Y:460 タスクバー領域 (左下のみ有効&ここだけクリック扱い)
1 = @qcop	QPE/InputHelper mouse(QString) "move 18 14"
2 = @qcop	QPE/InputHelper mouse(QString) "move 320 14"
3 = @qcop	QPE/InputHelper mouse(QString) "move 622 14"
4 = @qcop	QPE/InputHelper mouse(QString) "move 18 220"
5 = @qcop	QPE/InputHelper mouse(QString) "move 320 220"
6 = @qcop	QPE/InputHelper mouse(QString) "move 622 220"
7 = @qcop	QPE/InputHelper mouse(QString) "move 18 426"
8 = @qcop	QPE/InputHelper mouse(QString) "move 320 426"
9 = @qcop	QPE/InputHelper mouse(QString) "move 622 426"
0 = @qcop	QPE/InputHelper mouse(QString) "click 18 460"

keyhelper.conf ば行頭に #= を置くことでコメントになる (1行中にかならず # と = が1個ずつなければいけない、という規則があるため、行頭が # だけの場合もある) というルールも覚えておくと便利かも。

 あとは、以下の操作さえ覚えておけばタッチパネルに触れる必要性がぐぐっとさがります。

  • [Address]+[H] でマウスカーソル ON/OFF。ON の時は白い十字マークが出る。
  • 十字マークはカーソルキーで上下左右に移動可能
    • [Shift]+カーソル で高速移動、[Ctrl]+カーソル で低速移動
    • [Address]+[1]~[9] で画面の隅または中央に一斉ジャンプ
  • スペースキーでクリック・タップと同じ効果

keyhelper.conf のカスタマイズ (3) メニュー形式のランチャー

 キーボードで自動起動は便利ではありますが、覚えるのが面倒です。

[Mail] キーでメニューを呼べるようにする

以下のように keyhelper.xml を書き換えてやると、メニュー形式のランチャーが使えるようになります。(場所としては、「 <define key="F12" kind="select">」の前の行、「<extensions>」の後あたりです)

<define key="F13" kind="menu">
</define>

 書き換えが終わったら端末ウィンドウ上で khctl reload を忘れずに。また、これで [Mail] キーがメニュー形式ランチャー用になりメールが呼べない([Mail]の長押しでメールチェックは可)という状態ですが、、keyhelper.conf にて [Address]+[M] でメールを読めるように登録しておけば OK です ([Launch] セクション内に 「M = Applications/qtmail」という行があることを確認しましょう)。

メニューにソフトウェアを登録する

 最初は何もできませんが、keyhelper.conf に新しいセクション [Menu] をつくり、そこにランチャーに似た要領でアプリケーション登録ができます。

[Menu]
M = Applications/qtmail
N = Applications/netfront3
K = UsrApps/embeddedkonsole-ja
Z = UsrApps/zeditor

...このようにランチャーと同じような登録をすれば、[Mail] キーを押してから下記のような画面でソフト起動対象を選べるようになります。

KeyHelper_Menu_1.png

...登録順序はメールが一番最初なのに、実際には端末ウィンドウが一番上にきてます。法則性はよくわかりませんが、以下のように「数字_アルファベット = アプリケーション名」とすれば好きな並びに変更できます。

[Menu]
01_M = Applications/qtmail
02_N = Applications/netfront3
03_K = UsrApps/embeddedkonsole-ja
04_Z = UsrApps/zeditor

KeyHelper_Menu_2.png

メニューをグループ分けする

 今はソフトウェアが4つなので問題ないのですが、これが登録アプリケーション十数個になってきたら大変です。このようなケースのために、keyhelper.conf の書き方を工夫しましょう。

以下の一例のようにすれば、サブメニューを使えるようになります。グループごとにソフトウェアが詳細表示されるようになるので、起動したいソフトウェアの選択がスムーズに行えるようになります。@menu がポイントですね。あとは 「SubMenu_○○」のセクションにいろいろ登録してみるイメージです。

[Menu]
1_ローカル系ソフト(&L) = @menu[TAB]SubMenu_Local[TAB]myzaurus.png
2_ネット系ソフト(&N) = @menu[TAB]SubMenu_Network[TAB]netmon/up.png
8_KeyHelper カスタマイズ (&C) = @menu[TAB]SubMenu_Customize[TAB]SettingsIcon.png
9_システム(&S) = @menu[TAB]SubMenu_System[TAB]SystemInfo.png

[SubMenu_Local]
01_K = UsrApps/embeddedkonsole-ja
02_Z = UsrApps/zeditor

[SubMenu_Network]
01_M = Applications/qtmail
02_N = Applications/netfront3

[SubMenu_Customize]
01_keyhelper.conf(&C) = UsrApps/zeditor[TAB]/home/zaurus/Settings/keyhelper.conf[TAB]zeditor.png
02_Keyhelper.xml(&X) = UsrApps/zeditor[TAB]/home/zaurus/Settings/keyhelper.xml[TAB]zeditor.png
03_KeyHelper_Reloaded!(&R) = @qcop[TAB]QPE/KeyHelper reload()[TAB]CustomizeKeys2.png
04_KeyHelper_Unloaded!(&U) = @qcop[TAB]QPE/KeyHelper disable()[TAB]CustomizeKeys2.png

[SubMenu_System]
01_ネットワーク接続(&C) = @qcop[TAB]QPE/Network "connectRequest()"[TAB]netmon/up.png
02_ネットワーク切断(&D) = @qcop[TAB]QPE/Network "stop()"[TAB]netmon/down.png
10_ボリューム ON/OFF トグル(&M) = @exec[TAB]/home/QtPalmtop/bin/zvol m[TAB]ssoundconf.png
11_ボリューム100%(&W) = @exec[TAB]/home/QtPalmtop/bin/zvol 100[TAB]ssoundconf.png
12_ボリューム 70%(&7) = @exec[TAB]/home/QtPalmtop/bin/zvol 70[TAB]ssoundconf.png
20_S = Settings/qtsamba
21_I = Settings/sysinfo
30_縦横表示切替(&Z) = __7x009rotate
31_システムを再起動する(&R) = __8reboot
32_電源をオフにする(&Q) = __9quit

注意点としては、一つでも存在しないアプリケーションを登録してしまうとメニューが出なくなる、サブメニューに親を登録して「無限ループに陥る」状態にしてしまうと、Zaurusが利用不能になる (SDカードかCFカードに緊急停止用ファイルを仕込むしかなくなる) という点です。間違いなきよう。

念のため、緊急停止ファイルに関して引用しておきます。

* 緊急停止機能
タスクバーアプレットプラグインとして実装しているので、なんらかのバグがあると
Qtopia毎落ちてしまうため、ロード時に落ちてしまう状態になると無限リセットループに
入ってしまう可能性があります。

そのため、

  /tmp/disable-keyhelper
  /mnt/card/disable-keyhelper
  /mnt/cf/disable-keyhelper

のいずれかのファイルが存在した時にはプラグインのロードを行わない様な機能を
追加しました。

無限リセットループに入ってしまっても、外部メディアに上記ファイルを用意すれば
正常に起動する様になります。(ただしVer1.1.5以降を使用している場合のみ)
起動後にエラーの原因を取り除き、ファイルを削除して下さい。 

keyhelper.conf のカスタマイズ (4) TaskSelector と MenuLauncher のメニューをカスタマイズ

 現在、[Shift]+[Home] でタスク切り替え(TaskSelector)、[Mail] でメニュー形式ランチャー(MenuLauncher) が起動します。

 英語なのはどうなんだろう、ということでカスタマイズできます(色もついでに変更してしまいましょう)。変更対象ファイルは keyhelper.conf で、ファイルの末尾あたりに以下を付け足せば日本語になるはずです。

 色指定は #RRGGBB で、16進数にて R G B を 00~FF を指定します。色指定や名称のいずれかを省略することも可能です。

[Style]
Caption_select = タスク切り替え
BgColor_select = #0000ff
FontColor_select = #ccccff
Caption_menu = ソフトウェア起動メニュー
BgColor_menu = #006600
FontColor_menu = #ccffcc

以下、カスタマイズが済んだメニュー2種類です。
KeyHelper_Menu_3.pngKeyHelper_Menu_4.png

あとは、GUI ソフトウェアを登録するごとに keyhelper.conf に地道にソフトウェアを追加していけば使い勝手が向上することでしょう。


添付ファイル: fileKeyHelper_Menu_4.png 804件 [詳細] fileKeyHelper_Menu_2.png 723件 [詳細] fileKeyHelper_Menu_3.png 739件 [詳細] fileKeyHelper_Menu_1.png 697件 [詳細]

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 22 Jul 2011 21:58:05 JST (1525d)