2003年07月14日

SL-A300とターミナル

Linuxを知っている人がLinuxザウルスで何かしようとするとき、端末エミュレータは必須アイテムですが、キーボードのないSL-A300では何かと使い勝手が悪いものです。米粒のようなソフトキーボードを必死でタップしなければなりません。

datebook2などで有名なサイト、Linux Zaurus用のソフトウェア達 で、最近embeddedkonsole-jaのHack版が公開されています。これもキーボードのあるC700でより使い勝手をよくするためのもので、A300はかやの外という感じです。

これに対し、ペンストロークで上下左右キーが入力できるようにするパッチを作ってみました。

http://noir.s7.xrea.com/pub/zaurus/embeddedkonsole-pen.patch-20030208-1

実行ファイル (ipkg)
http://noir.s7.xrea.com/pub/zaurus/qpe-embeddedkonsole-pen_20030208-1_arm.ipk

(以上、2003-01-25 12:07:35)

(追記)
通常の動作 (文字列選択) と上下左右キー入力の切り替えは、Options メニューで行います。

ダブルタップするとツールバーを消す機能も付けてみました。これも通常の動作との切り替えをOptionsメニューで行います。

sc_embeddedkonsole-pen2.jpgsc_embeddedkonsole-pen.jpg

(以上、2003-01-26 09:43:04)

(追記) w3mなど、マウスイベントを受け付けるプログラムの実行中は、上下左右キー入力機能が無効になるようにしました。

(以上、2003-01-26 14:26:55)

(追記) タブのフォントサイズを4にしました。ダブルタップするとタブが消えますが、肝心のターミナルウィンドウの高さに変化はありません…。

(以上、2003-01-27 12:08:00)

(追記) 実行ファイルを ipkg にしてインストールしやすくしました。ただし、中身は実行ファイルとデスクトップファイルだけで、アイコンやキーテーブルなどは入っていませんので、さきに qpe-embeddedkonsole-ja をインストールしておく必要があります。

(以上、2003-01-30 23:18:16)

(追記) -e オプションに対応しました。xterm/kterm と同様に、-e の後につづく引数を、シェルの代わりに起動するコマンドとその引数と解釈します。おまけとして、zaurus-jaの w3m(-m17n) を起動してブックマークを開くデスクトップアイコンをつけました。

(以上、2003-02-02 11:41:47)

(追記) ペンをいったん下から上になぞり、そのまま画面から離さずに下へなぞると、バックスクロールするようにしました。これはもともとShift + ↑↓ に割り当てられている機能です。HandSKKのシフト操作から連想すると覚えやすいでしょう。

だんだんコードサイズの大きさが気になってきました。次はスリム化を考えよう。

(以上、2003-02-04 23:56:29)

(追記) ベースになるコードを、ekb500 に変更しました。-pen としての機能は以前のものと変わっていませんが、ekb500 + ekb0207.patch の以下の特徴が加わっています。

・タブを使わず、画面下のボタンでセッション画面を切り替え
・ウィンドウのタイトルバー、メニューバーがない表示への切り替え
・EUC-JP以外の日本語エンコーディングのテキストを表示すると画面が固まる症状を回避

なお、C700専用版やekb500では環境変数TERMがlinuxに変更されていますが、penではvt100のままにしてあります。

(以上、2003-02-08 23:56:29)

(追記) 神木さんのw3mがzaurus-jaに移されたのでリンクを変更。

(以上、2003-02-11 16:19:13)

(追記) 遅ればせながらの報告ですが、ペンストローク操作のコードは、zaurus-ja の qpe-embeddedkonsole-ja にマージされました。野首さん、ありがとうございます。

Posted by Hiroyuki KUROSAKI at 2003年07月14日 23:20 このエントリーを含むはてなブックマーク
この記事の TrackBack URL:
http://noir.s7.xrea.com/mt/mt-tb.cgi/32
Comments

意外に簡単に改造できてしまったので、欲が出て、斜めストロークを別個に認識するようにしてみました。数学が苦手なので汚いですが。

右上から左下 = Enter
左下から右上 = Backspace
左上から右下 = n
右下から左上 = N

です。

n, Nは何なのかというと、vi や less, lv などで / コマンドで検索文字列を入れた後、次のマッチ、前のマッチに移動するとき、n, Nを打つからです。

Posted by: noir on 2003年01月25日 15:54

w3mのようにマウスイベントを受け取るターミナルアプリには必要ない機能なので、ダブルタップで画面を広くとる機能とは分離しました。

Posted by: noir on 2003年01月26日 10:15

こんにちは。embeddedkonsole-penをありがたく使わせて頂いている者です。

実は起動時のデフォルトcharsetをオリジナルから変更したり、charset設定をconfファイルに保存したりといったカスタマイズをしたいと思い立ったのですが、noir様のパッチを当てるべき元のekb500のソースが現在入手できない状態にあるようです。大変勝手な希望なのですが、もしnoir様のお手元にソースがあり、公開に問題がないとご判断できるようでしたら、公開をお願いすることなどは出来ませんでしょうか?

embeddedkonsole-jaのソースも少しいじってみたのですが、ボタンで全画面化の機能はありませんし、「ダブルタップで全画面表示」機能も無効化されているようです。かと言って、ご存知の通りツールバーなしでビルドした場合の全画面表示機能は、ハードキーが僅かしかないA300では全くもって使い物になりません。ここはやはりekb500→embeddedkonsole-penの系譜に沿ってカスタマイズしたいと思っているのですが・・・・

Posted by: NineLives on 2004年04月06日 05:29

NineLives さん、こんにちは。使っていただいてありがとうございます。
LinuxZaurus Watch にあったekb500のソースを下記に置きました。
http://noir.s7.xrea.com/pub/zaurus/embeddedkonsole-b500-src.tar.gz
実は私も -pen を使いつづけてます。理由は何だったか忘れてしまいましたが…。

Posted by: noir on 2004年04月06日 07:55

どうもありがとうございました。
人様にお見せできるような改造ができるかどうかはわかりませんが、活用させて頂きます。

Posted by: NineLives on 2004年04月07日 03:06

自分の記事を読み直して気がつきましたが、ひょっとすると -pen のパッチの前に ekb500 に以下のパッチを当てる必要があるかもしれません。
http://noir.s7.xrea.com/pub/zaurus/ekb0207.patch.txt

Posted by: noir on 2004年04月07日 09:17
Post a comment

サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?