ほとんど、ビル・ジョイの行き先が書きたかっただけ。
諸事情により3月から一人暮しに戻ることになりました。別に同居人との不仲が問題なわけではないのであしからず。引越先はつくばエクスプレス沿線です、秋葉原まで30分圏内!
しかも物件がかなりいい感じ。築年数はもうすぐ20年になりそうなんですが、いわゆるテラスハウス(もしくはメゾネット)形式の二階建て2LDK、他にも色々こっちの要望が反映されたほぼ理想的な物件でした。大屋さんはすごいいい人だったし、周辺の環境も、スーパーと本屋が近くとても住みやすい。
...なんだかうまくいきすぎてどこか落し穴があるんじゃないかとか、引っ越すまでにすごい事故起こすんじゃないかとかそんなことを心配してしまうぐらい。ドキドキ
というわけでこれからは引越しに向けて準備を色々はじめないと!荷物の整理、梱包、手続き。そしてネット環境の準備、一日も早くネットに復帰するために(ぇ。
問題はその間にC70の申し込み〆切があるのが大変なーのよー。
2年使えればいいや程度の感覚で電車の中で使える、持ち運びやすいB5よりも小さいノートを探してたんですが、どうしても購入に踏み切れずに幾星霜。仕事でストレスが溜まりすぎてふっ切れたので購入しました。秋葉の中古PC屋さんで32800円也。
しばらく使ってバッテリーのセル交換とメモリの増設を判断しないとなー。さて、OS何にしようかなぁ、Javaは動かす気が無いんで特に何でもいいし...。
Thinkpad x61 tablet で、Xorg 1.7 以降、XInput の使い方が変わった関係で、新しい方( xf86-input-wacom )を使う事になった。で、使えてはいるんですが、touch を有効にした状態で stylus を使うと一定以上筆圧をかけたときに、ポインタが飛ぶという問題が発生した。
DebugLevel を 12 に設定して、ログを追いかけると、ポインタが飛ぶタイミングで、touch のイベントが起きていました。どうも、ちゃんとデータの parse ができていない模様。なんですが、実装が正しいのか間違っているのかがわからず( この個所は以前からほとんど変わりが無い )、問題の切り分けができていない。
というわけで、アドホックに、stylus を使っている時は、touch のイベントを無視するように src/wcmISDV4.c を修正して回避した( パッチ対象は 2010.1.20 21:00:00 現在の trunk )。
--- src/wcmISDV4.c.orig 2010-01-20 21:59:41.038532466 +0900 +++ src/wcmISDV4.c 2010-01-20 22:00:25.529773107 +0900 @@ -401,6 +401,8 @@ WacomDeviceState* ds; int n, cur_type, channel = 0; + static int isInStylus = 0; + DBG(10, common, "\n"); /* determine the type of message (touch or stylus) */ @@ -443,6 +445,8 @@ if (common->wcmPktLength != WACOM_PKGLEN_TPCPEN) /* a touch */ { + if (isInStylus == 1) return common->wcmPktLength; + ds->x = (((int)data[1]) << 7) | ((int)data[2]); ds->y = (((int)data[3]) << 7) | ((int)data[4]); if (common->wcmPktLength == WACOM_PKGLEN_TOUCH9A) @@ -500,6 +504,16 @@ /* pressure */ ds->pressure = (((data[6] & 0x07) << 7) | data[5] ); + if (ds->pressure > 0) { + // stylus set ground + if (isInStylus == 0) { + isInStylus = 1; + } + } else { + // in/out proximity + isInStylus = 0; + } + /* buttons */ ds->buttons = (data[0] & 0x07);