2010/01/27

[Nokia N810] minivmacでN810はサクサクレトロiTablet(iSlate)になる。


BasiliskII(漢字Talk7)なんかより、もっとレトロフューチャーするために、MacintoshPlus on N810と洒落込んでみました。
使うのはminivmac
WindowsやOSX、Linuxは言うに及ばず、PocketPCだとかiPhoneにも移植されているマルチな奴です(メイドロボじゃないよ)。
既にTMO(というかITTの頃のハナシだけど)で配布されてますが、画面が小さかったり、本家で新バージョンが出ていたりするので、自分でbuildしてみることにしました。


minivmacのbuildはすさまじくハッキッシュ
あ…ありのまま 起こった事を話すぜ!
「ソースコードをダウンロードしたと思ったらディスクイメージが入っていた」
な、何を言っているかわからねーと思うが、俺も何が起こったのかわからなかった。
本家に「v3.1.3のソースコードはディスクイメージの形で配布され、buildするにはv3.0.0以降のminivmacが必要」
とか書いてあって頭がどうにかなりそうだった。

が、よく考えると、もうどうにかなってるので大丈夫でした。


さて整理すると、
*各プラットフォーム向けソースコードを別々に配布するのはもうメンドーだ
 →*マルチプラットフォームなconfigureみたいなのがあるといいよね
  →*必要なのは共通の実行環境か
 →*minivmac使いが共通して持ってるモノってなんだ?
→*一つ前のバージョンのminivmacはあるよな
   →*minivmacを実行環境にしたソースコード生成アプリを書けばいいんだ!
ということなのではないでしょうか。(頭に*の付いた行は妄想です。)
なんか鶏卵問題というか、自己言及に陥りそうですが、
win/mac/linux向けには公式でバイナリ配布してるので、buildはあくまでもチューンしたい人向けのオプションということなんでしょう。

このソースコードジェネレーター(たぶん言い方があるよなぁ)はBasiliskIIなど他のエミュレータ上のみならずMacPlus実機でも動いちゃったりします。
しかしながら、minivmacを使うと出来上がったソースコードのアーカイブをホストのディスクに書き出してくれるので便利がいいです。


そういうわけで
とりあえず上記TMOのminivmacをつかってやってみます
(スクリーンショットは便宜上800x480ですが、ホントのTMO版minivmacは512x342です。)

minivmac、Disk603.dsk、vMac.romを一つのディレクトリーにまとめて、
minivmac Disk603.dsk /path/to/sourcecode/minivmac-x.x.x.src.dsk
として起動。
ちょっとかぶってますが

buildをダブルタップするとテキストウィンドウが開くので
そこに本家のマニュアルを読みつつオプションを入れます。
-t lx86 -e bgc -api xwn -no-asm -eol unx -hres 800 -vres 480 -arc tar
最終的にはこんな感じに。
-t lx86 x86とかついてますがアーキテクチャ依存のコードは吐きません。
-api gtk は微妙に機能が削れるのでやめて-api xwn。
-no-asm はpowerpc環境以外意味をなさないらしいですが気休めに。
-sound 1 だとalsaをつかって音をだしてくれるようですが、esddspも効き目無しで結局off(デフォルトでoff)
準備が出来たらGo.

ウィンドウがアクティブでないと(前面にないと)処理が止まる?ので御注意を。
しばらくするとminivmacと同じディレクトリにソースコードのtarボールがつくられるので、tar xvfで展開してcd,make。
うまくいけばminivmacが完成。
N810上でも完成。
はしたのですが、動作速度がうまく調節できず、爆速で動いてしまうバイナリになりました。
まあどうってことはありません。使わないし(えっ)。
しかしながら、このままだと、n810ではフルスクリーン(ctrl+F)時にカーソルがヘンな動きをしてしまいます。
wmctrl でフルスクリーンにするとまともなので、windowmanagerの機能をつかってフルスクリーンになるように改造してみました。

ファイル:
  • minivmac.xwn.hres.gz
  • minivmac-3.1.3-lx86-xwn-fullscreen.patch.gz


  • Linux Mac Mac 偽Mac(mlwm)!


    *あんまり関係ないですが、appleからiTabletが送られてきました。テストして欲しいそうです。

    2010/01/24

    [Nokia N810] [Nokia N900] N8x0に及ばぬ一点を越えるためN900はusbipの手を 借りてUSBホストになる

    メモメモ。
    TMO
    本家
    n8x0をサーバーにすればモバイルでもOK.
    んでもUSBフラッシュメモリ/HDDはどうせWifi経由ならSambaのほうがオーバーヘッドが少なそう。
    HIDもsynergyかBlueMaemoでOK.
    当然マニアックな使いかた限定か。

    ----
    NexusOneは液晶綺麗すぎでしょう。OLEDスゴい。RAM512Mも魅力的だ。電子コンパスは3軸。どうするどうする。

    [Nokia N810] 結局dillo2.1.1は改造され適当なパッチが残される。

    dillo google

    先日のポストではローカルhtml設置で妥協しましたが、結局ソースコードに手を出しました。
    反省はしていないが公開はしている(diffデス)。

    変更点 :
  • ショットカットキーにwebsearch2を追加
    → SelectionのPrimary(例:Dilloで選択した文字列)を新しいタブで検索
  • Shift+リンクタップでリンク先を新しいタブに開く機能を追加
  • 新しいタブを開いたとき、focusがどっかにいってしまうのを修正
    → タブを開いた直後、Shift+左右キーでタブ移動可能に


  • ファイル :
  • dillo.moded.gz
  • dillo_maemo-1.diff.gz


  • 詳細 :
    - ~/.dillo/keysrcか/etc/dillo/keysrcのwebsearch2に設定したショートカットキーから、選択文字列を新しいタブで検索できます。
    デフォルトはCtrl+g、でも検索ウィンドウを使わないならCtrl+sとかで良いと思います。
    -----------以下無用のこと-------------
    パッチを読めばマルわかりですが、バツボタンをミドルクリックしたときの処理をちょっと替えて、かつ、ショートカットキーからその処理を実行するようにしただけです。
    したがってバツボタンをミドルクリックしてコピーしたURLを開いていたマニアック野郎は、このパッチをあてると、かなしみのひとになるでしょう。
    ホントは別のwidgetにhandleさせるか、xembed.c辺りをいじくり倒すべきですね。まあ適当パッチですゆえ。
    -------------------------------------------------

    - shift + リンクタップでリンク先が新しいタブに開きます。
    2.x以前のDilloとか、FirefoxだのchromeだのではフツーShiftではなくてCtrlですが、shift+左右キーがタブ移動に割り当てられていることを鑑みてこうしてみました。
    ちゅーかデフォでは中クリックからしか新タブに開けないのですが、それってなんかヘン。

    - 新しいタブを裏で開いたとき、focusがどっかにいってしまうのを修正。(?)
    a_UIcmd_open_url_nt()にurlを渡すと新タブで開いてくれるわけですが、裏で開いた後、一度画面をタップしないとタブ移動が出来ないようだったのでmain_areaにfocusするようにしてみました。

    後は
  • ~(チルダ)の処理
  • 文字エンコード選択
  • MatchboxWM固有(たぶん)の問題(focusが変なせいでちょいちょいキー入力が死ぬ)

  • あたりが実装/解決されたら嬉しい。
    おまけで
    インライン入力(これはfltk2周り?)とか、w3mライクにttp://とembed,objectタグを処理できたり、リンク先を別プログラムに渡せるようになったりしたら楽しいですね。
    2.1.2が待ち遠しい。

    2010/01/20

    [Nokia N810] 筆圧検知できますよ (アップデート1)

    前回の続きです。

    ポップ野郎!

    モバ絵するほどの絵心も風流心もないですが、なんとなくアップデート。

    ファイル :
  • xpressure.gz
  • makai-zou.diff.gz

  • 現在のキーマップ :
  • スワップキー(ESC) : 終了
  • フルスクリーンキー(F6) : ペン色がランダムに変化
  • プラスキー(F7) : ペン色の白黒きりかえ ←new
  • D-padセンター : キャンバスリセット
  • D-pad左右 : ペンサイズ変更1 ←new
  • D-pad上下 : ペンサイズ変更2 ←new

  • 変更点 :
  • ペンサイズの調節機能追加
  • 偽消しゴム機能追加
  • 名前を変えました

  • ペンサイズは
    (変数1 - 筆圧生データ) / 変数2 = ペン半径
    という計算で決定されます。
    この変数1および変数2を、それぞれD-Padの左右キー/上下キーで変更できるようにしてみました。
    変数2が2.5ぐらいだといい感じですね。

    偽消しゴム機能はペン色の白黒を切替えます。
    切替える前の色にもどったり、背景色を考慮したりしません。

    それから勝手にバイナリの名前を変えました。
    オリジナリティはゼロだけどな!
    まさに外道!

    Xpressureって和訳すれば謎の重圧?みたいな感じでしょうか。しかも遊星からくるやつ。
    漫画もいいぜ

    Technorati Tags:

    [Nokia N810] google.co.jp/dillo

    dillo1
    □を消します

    Dilloを使っているとき、
      1. 検索したい語句を選択ctrl+tで新タブ開く
      2. ctrl+hでhomeになっているgoogleへ
      3. goggle上部の謎フォームボックスの分スクロールダウン
      4. プラスキーでミドルクリックオン
      5. フォームをタップしてペースト、エンターで検索
    という一連の動作をよく行うのですが、4でなんやかんや間違って選択した結果、
    dillo1
    こういう状況

    におちいることが多々有るわけです。

    どうすりゃいいんだ
    A. dpiを駆使して*1w3mっぽく(or Firefoxぽく)google検索する
     → 技術力不足で無理
    B. form.cc回りを改造して<textarea>タグのstyle=display:noneに対応させる
     → コミュニケーション力不足(コミットとか無理)で無駄
    C. 中国の手を借りてgoogleをクラック、google.co.jp/dilloを作る
     → 人脈不足で無理

    D. ローカルにgoogle.htmlとか置いてみる

    56k時代を思わせるセピア色の消極的対応、Dで逃げることにしました。
    DはダザイのDです。富嶽三十六計逃げるがなんとやら。
    あとシンジは黙っとけ(映画版でも言うんですかね)


    つくってあそぶ
    wget -k google.co.jp -O google.html

    すると、相対リンクが絶対リンクに変換されたgoogle.htmlができます。
    そのなかの
    <script>,<textarea>
    タグをざくざく消したら、
    mv google.html /home/user/.dillo/

    と適当な所に移動し~/dillorcを
    startpage=file:///home/user/.dillo/google.html
    home=file:///home/user/.dillo/google.html

    と変更すれば
    dillo1
    記念日ロゴも見れるんじゃないでしょーか

    追記:記念日ロゴ見れませんでした。

    6255byte → 3821byte へとサイズも減少して万々歳だ。
    二つの意味で、dilloにシカク無し?
    dillo_google.html

    *1
    たとえば風來散人さん作のrssリーダープラグイン(0.8.x向け)などがあります。
     2.x系だとdpidが洗練されてきていますし、いろいろ融通が効くっぽいです。
    dpidにurlを送って新しいタブに開いたりできたら、いいなあ。
    氏は2.x系にもパッチなど送られています。見習いたい。

    2010/01/18

    [Nokia N810] 筆圧検知できるのです。



    リナザウではスペカを入れる必要がありましたが、n810では特になにもせずに筆圧検知できるようです。
    と、いっても知る限り対応アプリケーションは一つもないので、デモコードで遊んでみました。
    http://wiki.maemo.org/Using_touch_screen_pressure_data
    http://talk.maemo.org/attachment.php?attachmentid=516&d=1194414295
    とかからソースを入手後、適当にマ改造して、
    'apt-get install x11proto-xsp-dev libxsp-dev'したら
    'gcc -lX11 -lXsp filename.c -o touchdemo'でサクッとコンパイル。
    './touchdemo'で起動。

    マ改造点:

  • F6(フルスクリーンキー)でペン色がランダムに変化
  • Esc(スワップキー)で終了
  • Return(D-padセンター)でリセット

  • ファイル:

  • touchdemo.gz
  • makai-zou.diff

  • そのほか:
    http://gizmodo.com/5444514/smartphone-touch-screen-analysis-tests-finger-fidelity
    http://pocketgames.jp/blog/?p=5447
    こーゆの試してみましたが、n810はなかなか良好。(まあ感圧ですし)
    droidは千鳥足のおっさんなみですな。こんどから略して千のおっさんと呼ぼう。

    保存、Redoなどなど出来たらいいですね。

    ところで、マルチタッチっぽく画面を抑えると、筆圧が異常な値に跳ね上がるんですが、
    これは疑似マルチタッチの精度向上に活用できるんではなかろうか。
    (むしろそうやって実現してんのかな。)


    2010/01/05

    [Nokia N810] expose(OSX) 或は Maemo5 っぽいタスクスイッチャ skippy-xd をmakeしてみる (ss集)

    wayv
    Quasar + mrxvt + Dillo2

    wayv
    mplayer(-vo x11) + mrxvt + Dillo2 + Quasar

    wayv
    Canola2 + Tear + XJP2 + mrxvt

    wayv
    Canola2 + Tear + mrxvt + easydebian(qvwm) + XJP2


    Xの意外な速度。あるいは如何にして私がhildonのタスクスイッチャを捨て、skippy-xdを愛するようになったか。