しぶとくやってますよ。そろそろ60台の曲もつぶしてきました。残りはPanasonic Youthぐらい。
あと、スピードを3.5にしたら結構70台の曲もクリアできたな。
スキルポイント639です。あとは100secなんとかしたいけどねぇ。
しぶとくやってます。
ほぼ刻印どおりに入力ができるようになりました。Shiftを押していったん離してから,や.を打つことで<や>を出すのにも対応してます。
バイナリはhttp://www.tokuda.net/Software/pocketputty/PocketPuTTY.exeで取れます。
こんな感じでwindow.cに修正を入れています。ごりごりコードですいません。
if(capsOn && ch < 0x80) {
WCHAR cbuf[2];
cbuf[0] = 27;
cbuf[1] = xlat_uskbd2cyrllic(ch);
term_seen_key_event(term);
luni_send(ldisc, cbuf+!left_alt, 1+!!left_alt, 1);
} else {
char cbuf[2];
cbuf[0] = '\033';
cbuf[1] = ch;
#ifdef W_ZERO3
if (ch == 0x5c) {
switch (scan) {
break;
case 0x6: // "|"
ch = 0x7c;
break;
case 0xe: // "_"
ch = 0x5f;
break;
case 0x2: // "\"
default:
;
}
}
if (ch == 0x5e && scan == 0x5) { // "~"
ch = 0x7e;
}
if ((ch == 0x3a && scan == 0x0b) || (ch == 0x3b && scan == 0x0a)) { // "*" or "+"
ch -= 0x10;
}
if (shift_state == 1) {
if (ch >= 0x61 && ch <= 0x7a) { // a-z to A-Z
ch -= 0x20;
}
if (ch >= 0x31 && ch <= 0x39) { // 1-9 to !"#$%&'() (Japanese Keyboard layout)
ch -= 0x10;
}
if (ch == 0x2c || ch == 0x2d || ch == 0x2e || ch == 0x2f) { // "," or "." or "=" or "?"
ch += 0x10;
}
}
if (shift_state == 2) {
ch -= 0x60; // XXX ugly...
}
cbuf[1] = ch;
#endif
term_seen_key_event(term);
lpage_send(ldisc, kbd_codepage,
まだ、色々と解決しないといけない問題もありますが、最初に比べれば随分とよくなったと思います。
既知の問題点。
ちなみに日本語を表示させるためには次の修正を入れました。24termだとフォント名をTahomaにしてますね。Tahomaなら英語圏の人にも受け入れてもらえそうな気もしますね。
FontSpec platform_default_fontspec(const TCHAR *name)
{
FontSpec ret;
if (!_tcscmp(name, _T("Font"))) {
#ifdef _WIN32_WCE
#ifndef W_ZERO3
_tcscpy(ret.name, _T("Courier New"));
#else
_tcscpy(ret.name, _T("MS ゴシック"));
#endif
ret.isbold = 0;
#ifndef W_ZERO3
ret.charset = ANSI_CHARSET;
#else
ret.charset = DEFAULT_CHARSET;
#endif
ret.height = 8;
#else
_tcscpy(ret.name, _T("Courier New"));
ret.isbold = 0;
ret.charset = ANSI_CHARSET;
ret.height = 10;
#endif
} else {
ret.name[0] = _T('\0');
}
return ret;
}
どこかのBlogだったかでPocketPuTTYはパスワード認証しか使えないので他のを探したという記述があったので、Private Key認証ができるかどうか調べてみました。
PocketPuTTYは本家のPuTTYのソースを流用しているようなので、どうやらConfig構造体のkeyfileというメンバ変数に秘密鍵ファイルのパスを指定すれば動きそうでした。
そこで、秘密鍵ファイルのパスをソースに直接書いてみたところ、うまく秘密鍵での認証ができました。ということで、ダイアログに秘密鍵を使うかどうかのチェックボックスとファイル名指定のテキストボックスを加えて、Private Key認証対応のPocketPuTTYができました。
ということで、http://www.tokuda.net/cgi-bin/fswiki/wiki.cgi?page=PocketPuTTYにバイナリとパッチとスクリーンショットを掲載しました。
あとPocketPuTTY本家のフォーラムにも今回のことを書き込んでみました。http://www.pocketputty.net/phpBB2/viewtopic.php?t=29です。
ついに100secクリアしましたよ。Basicだけど。うれしいなぁ。
現場見学会の時間の関係で総会には出席できず、BoFも前半を聞けず、マラカスのところから参加しました。
いやー。みなさん素晴らしいですね。勉強になります。
動くまで粘れば必ず動くとか。
例によって新宿で懇親会。これまた皆さん楽しすぎです。
出席者を振り返ってみると、強力なメンバが勢ぞろいしてるんですけど。これって、すごいことだと思います。あとは若い人が増えると活性化が進むんでしょうけれど、こればっかりは地道な努力が必要ということでしょうね。
PocketPuTTY本家のフォーラムに書き込んだら開発者の人から反応がありました。よかったら開発者として参加しないかという感じの反応だったのでうれしいな。
しかし、PocketPCもPuTTY (というか端末エミュレータ) にも大して詳しくないので、あんまり貢献できなさそう。ってことで、どうしましょう。
動きがもっさりしてきたのでフルリセットすることにしました。
困ったのはメールのバックアップです。W-ZERO3のメールはライトメールとE-mailの二種類があります。
E-mailは何も考えていないとPocket Outlookを使うわけですが、これがバックアップの仕組みを用意していません。つまり、メールのエクスポート・インポートができません。
じゃぁ、\Windows\Messagingの下にあるメールのスプールをコピーすればよいかというとそれだけではダメで\cemail.volというファイルも必要のようです。
ところが、このcemail.volというファイルがロックがかかっているため、コピーしようとしてもエラーが出てうまくいきません。
よく考えるとメールだけでなく、予定表や仕事なども同様にバックアップが取れません。もちろん、PCにOutlookを持っていればActiveSyncで同期ができるのですが、持っていない人はどうしようもありません。
別の方法としてバックアップがあります。W-ZERO3に標準でついているバックアップツールはフルバックアップは可能ですがメールだけ、予定表だけなどのバックアップはできません。
したがって、動作もっさりをフルリセットで解決しても、フルバックアップをリストアしたら、元の木阿弥です。
しらべてみると、商用のバックアップソフトウェアならメールだけなどの指定をしてバックアップが取れるようです。
そのようなバックアップソフトを一つ使用してみたところ、見事にメールだけ戻るかと思いきやアカウントごと消してしまうという使えなさ。
じゃぁ、メールはnPOPとかQMailとか別のものにするか、と思ってもメールの自動受信に対応させるには手間もかかるし、めんどうです。かといってPocket Outlookは機能が不足しています (メールの振り分けすらできないし)。
とにかくWindows Mobileと標準ツールはダメですね。ダメなのはダメとして、適度にフルリセットする前提で、リカバリが簡単にできるような仕組みを用意して欲しいです。
あとは、標準でカスタマイズできる項目が少なすぎです。カスタマイズツールがこれだけ出回っているのは標準設定がヘボいのと貧弱なカスタマイズが原因なんじゃないでしょうか。
あと標準PIMである予定表の週間表示と月間表示を何とかして欲しい。さいすけやRoseなどのように予定をちゃんと表示して欲しい。
さらにいうと、予定表と仕事が同時に表示できないのはナゼなのでしょうか。今日の予定とToDoリストを同時に表示したいと思わないんでしょうかねぇ。予定表を見て、打合せまで何時間あるからToDoリストのこれを片付けるか、とか思うんですけどねぇ。
メールはこちらへ...[BSD小僧 (tokuda @(at) tokuda .(dot) net)]
この日記は、GNSを使用して作成されています。