覚えられませんっ

元「覚えらんない人のためのオンラインソフト備忘録」。遅ればせながらブログ移行してみた次第。

ザウルス初心者(=俺)リナザウ(SLC-3000)に苦しむその2

リナザウはおおかたの操作はキーボードのみで可能であるが、困ったことにタスク切り替えがキーボードで行えない。アプリケーションの起動も、Homeキーからキーボードのみでできることはできるが、日本語の名称がついているアプリケーションはカーソルをせっせと移動しないと起動できないなど、どちらかというとスタイラスで操作することを前提としている様子。わざわざキーボード付きのリナザウを選ぶユーザーなら、100人が100人、「えーいまだるっこしいぜ」と思うはずだ。このへんもうちょっとシャープさんも考えてくれていいんじゃないかと思うが、このいらだちを解消するソフトとして超定番となっているらしいのがKeyHelper Appletである。このソフト、カスタマイズがかなり面倒。また、ターミナルを入れておかないとカスタマイズが反映できないなど、ド素人の俺にとってはちょっと苦労があった。しかし、やっただけの効果はある。今回はこのソフトの導入とカスタマイズについて書いておこうと思う。

KeyHelper Appletの導入

とりあえずインストール用バイナリを落としてきて入れてみると、それだけでもShift+Homeでタスク切り替えできるようになるという御利益がある。実際にはこの単機能だけでも格段に操作が楽になるので、もうとにかくめんどくせえことは嫌で嫌でたまらないんだよインストールだけでもう疲れちまったよこれだけで十分だよそれは僕ぢゃないよそれはただの風さなどという20年以上もニューアルバムを出さないミュージシャンのようなかたはこれで終わりにしてしまってもかまわないが、それではせっかくインストールしたKeyHelper Appletがちょっともったいない。このソフトは設定によってはホットキーランチャーにもメニューランチャーにもなり、キー割り当ても自由に変更できるという優れものなのである。

KeyHelper Appletのカスタマイズ

配布ページに基本設定ファイル(Keyhelper.conf)とキー設定用XMLファイル(keyhelper.xml)というのが用意されている。これらはとりあえず適当なフォルダに「名前を付けて保存」しておく。さらにSL-C3000 KeyHelperにもkeyhelper.confとkeyhelper.xmlの設定例をおいてくれているので、これも保存しておく。両方のkeyhelper.xmlをエディタで開き、Webページに記載されているキー割り当てをよく読みながら相違点を見つけていくと、どこで何を設定しているのかなんとなくわかってくる。自分にあった方のキー設定を探しながら、新しいkeyhelper.xmlを作成すると良いと思う。たとえば配布ページにおいてある方では「[カナ/ひら]をControlに割り当て」してあるが、SLC-3000ではControlキーは最初からついているのでSL-C3000 KeyHelperでの設定の「カナひらキーをALTキーに設定」の方が良いだろうし、配布ページのものではLaunch修飾キー(文字キーとの組み合わせでアプリケーションを起動するキー)はHomeキーにしているが、SL-C3000 KeyHelperではAddressキーである。俺も十分にわかっているとはとてもいえないが、自分なりにこんな風にしてみた。
SL-C3000 KeyHelperから

    • カナひらキーをALTキーに設定
    • Calendarキーでランチャメニューポップアップ
    • Calendarキー長押しで、標準キー設定のCalendar設定したアプリ起動
    • Shift+Homeでタスクスイッチャー(順次切り替え)、Shift+Menuでタスクセレクター(メニュー形式)

の部分をいただいて、あとは配布ページのものをそのまま使っている。

<?xml version="1.0"?>
<keyhelper>
	<modifiers>
	 	<define key="F26" type="Alt" mapping="True">
		</define>
		<define key="F12" type="User1">
		</define>
		<define key="Shift" type="Shift" toggle="True"/>
	</modifiers>
	<mappings>
	 	<define key="F26">
			<modifier Shift="Off"/>
			<map key="Alt"/>
			<map_modifier Shift="Off"/>
		</define>
		<define key="F32">
			<map key="F9"/>
			<map_unicode code="ffff"/>
		</define>
		<define code="2015">
			<map key="Less"/>
			<map_modifier Shift="On"/>
			<map_unicode char="{"/>
		</define>
		<define code="2016">
			<map key="Greater"/>
			<map_modifier Shift="On"/>
			<map_unicode char="}"/>
		</define>
	</mappings>
	<repeater>
		<repeat delay="300" period="35"/>
	</repeater>
	<extensions>
		<define key="F12" kind="switch">
			<modifier Shift="On"/>
		</define>
		<define key="F11" kind="select">
			<modifier Shift="On"/>
		</define>
		<define key="F9" kind="menu">
		</define>
		<define key="All" kind="launch">
			<modifier User1="On"/>
		</define> 
		<define key="All" kind="launch1"/>
	</extensions>
</keyhelper>

keyhelper.confの方はxmlに比べればわかりやすい。こちらは基本的にSL-C3000 KeyHelperのものを自分の環境に合わせてちょっといじっただけ。こんな感じになっている。

[Global]
[Launch]
D = Applications/ztenv
K = Applications/embeddedkonsole
Y = Applications/datebook
R = Applications/addressbook
E = Applications/zeditor
I = Applications/netfront3
F = Applications/filelaunch
S = Applications/filesearch
2 = Applications/q2ch
G = Applications/GUIGrep
W = Applications/hancomword
X = Applications/hancomsheet

[Launch1_netfront3]
Prior = @qcop	QPE/InputHelper mouse(QString) "click 620 120"
Next = @qcop	QPE/InputHelper mouse(QString) "click 620 380"
Home = @qcop	QPE/InputHelper mouse(QString) "click 620 160"
[Launch1_q2ch]
C = @qcop	QPE/KeyHelper event(QString,int) Right 2
X = @qcop	QPE/KeyHelper event(QString,int) Left 2
V = @qcop	QPE/KeyHelper event(QString,int) Next 2
L = @qcop	QPE/KeyHelper event(QString,int) Next 2

[Menu]
01_D = Applications/ztenv
02_E = Applications/zeditor
03_F = Applications/filelaunch
04_I = Applications/netfront3
05_Y = Applications/datebook
06_A = Applications/addressbook
07_2 = Applications/q2ch
08_W = Applications/hancomword
09_X = Applications/hancomsheet
10_B = Applications/ebt
11_T = Applications/TTextReader
12_V = Applications/bunkoviewer
13_L = Applications/dtktime
14_S = Applications/filesearch
15_G = Applications/GUIGrep
16_Q = Settings/qinstall
17_N = Settings/netsetup
18_K = Applications/embeddedkonsole
19_kh_reload(&R) = @qcop	QPE/KeyHelper reload()

[Launch]セクションでは「修飾キーと組み合わせる文字キー = desktopファイルのパス」という書式で、ホットキーを設定している。(修飾キーは上のxmlファイルではHomeキーにしてある。)「desktopファイルのパス」というのは/home/QtPalmtop/apps/以下のフォルダにある拡張子desktopのファイルのパスを記述する。たとえばアドレス帳は/home/QTPalmtop/apps/Applications/addressbook.desktopを指定するのだが、/home/QTPalmtop/apps/までと.desktopの部分は記述する必要はない。FileLaunchなどで/home/QTPalmtop/apps/Applications/を開けば、どのアプリのdesktopファイルかは名称から類推できると思う。
[Menu]セクションはその名の通り、xmlファイルで

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

などと記述したキー(F9はCalendarキー)*1を押すとポップアップメニューを出してくれるのだが、そのメニューに出すアプリケーションの記述である。これもショートカットキーが設定できる。不器用な俺にとっては同時押しのホットキーよりツーストロークになるこっちの方が使いやすい。
なお、ここまでの作業は母艦の方で、矩形選択ができるエディタを使ってやった方が能率がよいだろう。

KeyHelper Applet設定ファイルの移動と再起動

こんなもんでどうだろう、というxmlとconfができたら、母艦からリナザウにコピーする。keyhelperの再起動や終了は「ターミナル」からでないとできないので、母艦とリナザウを接続したついでに、「ターミナル」をインストールしておこう。
Zaurus Driveで共有フォルダに入れた後、FileLaunchなどで/home/zaurus/Settings/に移動する。このディレクトリはたいていのアプリケーションが設定ファイルを入れる場所であり、今後も何かと使うことが多いので、FileLaunchならばオプション-マーク追加でブックマークしてしまうと良い。なお、ファイル名はきちんとkeyhelper.confとkeyhelper.xmlにすること。
confやxmlを書き換えたら、Keyhelperを再起動する必要がある。ターミナルから以下のコマンドを打ち込んでEnter。

$ qcop QPE/KeyHelper "reload()" 

タスクバーにkeyhelper1.2.2などと表示されれば再起動成功。以後はkeyhelper.confの

19_kh_reload(&R) = @qcop	QPE/KeyHelper reload()

の部分が再起動のコマンドなので、メニューから再起動が行えるようになるはずである。ターミナルはCancelキーでは終了できない。exitと打ち込んでEnter。

噛んで含めるように俺自身に言い聞かせる俺

なんとかkeyhelperを使える状態にするまで、以下のサイトを参考にさせていただいた。先達の皆さんに敬礼。
SL-C3000 KeyHelper
SL-C760/KeyHelper - KeyHelperの活用
404 Not Found(keyhelper1.0.0が対象なので、コマンドなど現行バージョンとは違っているので注意)
そして配布ページ
長々と書いてきたが、さぞかし「くどい。そこまでいわんでもわかるわい」と思われたと思う。しかし俺は未来の何もかも忘れた俺に噛んで含めるように説明しているのである。本当に俺はそこまできれいさっぱり何もかも忘れる男なのであり物わかりも物覚えも良い皆様にはまことに申し訳ないと遺憾の意も含めつつ今回はここまでにいたします。

*1:F10がAddress、F11がMenu、F12がHome、F13がMailだそうだ