アカウント移転のお知らせ

アカウントを変えて再始動することにしました。

理由はtwitterとアカウント名を揃えたいから、身内バレしてもいいやと思ったから。

titan22ってアカウントがtwitterでも取れれば良かったんやけども、取れなかったので。
さっさと取るだけ録っとけば良かった。

という訳で

出力テスト

に引っ越します。
どうぞこれからもよろしくお願いしますm(_ _)m

サボりぐせが・・・

しばらく間があいてしまった。

まずは、IT-Spiralというプログラムに参加することが決まりました。
ざっくり言うと、関西の大学院の学生が集まってソフトウェアのスキル身につけていこうぜってプログラムです。


頑張ってみるか!と申し込んだんですが、おかげで金曜日は丸つぶれ。
学校でのTAもあって前期はかなりハードになりそうです;;;
まぁ自分で選んだ道やからしゃぁないけどもね。


Chromeのextensionの方ですが、さっぱり進んでません。。。
今日中になんとかα版とでも言えるようなものを上げたいんやけども、他にもやることが溜まってるので。
まぁぼちぼちやっていきます。

Capsと左Ctrlの入れ替えと、そのレジストリの意味

新年度になってマシン環境を変えることになり、一年間お世話になったVistaマシンからWindows 7へ。
んで、前からCapsと左Ctrlは入れ替えて使ってたので今回も入れ替えようと思ったのだが、やり方を忘れたのでグーグル先生に聞いてみた。


Windows 2000/XP/Vista/7 と設定方法は同じらしく、レジストリをいじればOK
やり方は
http://www.center-left.com/blog/archives/2007/02/windows_vistacaps_lockctrl.html
を参照。


それだけではつまらないので、レジストリファイルの意味を調べてみた。
http://www.jaist.ac.jp/~fujieda/scancode.html
http://www.losttechnology.jp/Tips/keyscancodemap.html
http://www.geocities.jp/makoko1974/w2ktips.htm
http://smallvoid.com/article/winnt-scancode-map.html
このあたりを参照。一番上がわかりやすかった。
一番下は英語だけど詳しい。


自分なりにまとめてみると、
ファイルの中身は

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,\
3a,00,1d,00,00,00,00,00

となっていて、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layoutというところに、Scancode Map というキーを追加してる。


その中身は、一つ一つの「,」での区切りが 16進数2桁で1 byte を表していて、4 bytes毎でひとかたまりのバイナリ型の値で構成されてる。
最初の4bytesがバージョン、次の4bytesフラグらしい。ここまでは0で埋める。
次の4bytesは末尾を示す0値を含めた値の数。つまり、キーを入れ替える数+1。
なんだけれども、実際に読み込まれる時には1 byteずつ逆順で読み込まれるそうなので、「03」が先頭になっている。


で、次からが、入れ替えるキーのスキャンコード。
元のコード、入れ替えるコードの順に指定して、これも逆順に読み込まれるので順番を入れ替える。

Caps Lock → Ctrl
0x003a (Caps Lock) + 0x001d (Ctrl)
↓つなげる
00,3a,00,1d
↓逆順
1d,00,3a,00

次はCtrl → Caps Lock を同様に。
今回は違うけれども、キーを無効にしたい場合は 入れ替えるコードを0x0000に指定すればOK。(つまり、00,00, の後に無効にするキーのスキャンコードを逆順で書けばいい。)


んで、最後が末尾を表す"0"(00,00,00,00)。


これで、スキャンコードさえわかればキーの入れ替えができる。
(スキャンコードの一覧も載せようと思ったんだけど、うまくまとまってるのがなかったので、自分で調べてください。すみません;)

最後に、レジストリいじるので、くれぐれも注意して自己責任で!

Aptana Studio のアップデートで起動エラー

chrome extensionの作成にAptana Studioを使っているのだが、アップデートしてなかったのでしてみようと思いアップデート。
アップデート自体はEclipse系なので ヘルプ>更新 の確認で簡単に出来たのだが、アップデート後ログファイルを見るようにというメッセージが出て起動しない。。。


ググってみたら先人が同様の事態に遭遇していたようなので、真似したら出来た。
http://picopon.asablo.jp/blog/2010/03/10/4936159
ただ、スタンドアローン版つかってるので、中身を eclipse.exe から AptanaStudio.exe に変えてから実行。


バージョンは2.0.0から2.0.4へ。


先人の記事に感謝。

名前変更とか、進捗とか、つまってた勘違い事とか。

Chromeのwindowサイズを変えるextensionを作ってるんだけど、WindowSizerからChromeSizer名前変える事にしました。
といっても、まだギャラリーに上げる段階まで行ってないので変えたからってどうもないんだけども。


んで、こないだからの進捗を。。。

まず、詰まっていたgetCurrentとかgetLastFocusedの問題。
getCurrentとかgetLastFocusedは返り値がなくってコールバック関数を指定しないといけないらしい。
てっきり返り値返ってくるもんだと勘違いしてたので

var window = chrome.windows.getCurrent();

とかしてた。OTL

正しくは

chrome.windows.getLastFocused(function(window){
	chrome.windows.update(
		window.id,
		updateInfo
	);
});

こんな感じの使い方。


Javascriptは返り値ないのが普通なのか。
コールバック関数の使い方はわかったけど、いまいち自分の定義した関数での使い方がわからん。

卒業しました

無事卒業式も終え、学部卒業しました。
と言っても、大学院に進むので全然実感がないんですけど。。。


単位もギリギリやし、卒論も形だけ出したようなもので、あまり勉強した4年間ではなかったですが、卒業させてもらって院にまで行かせてもらって、親には感謝しとります。


来週は次、研究室に入ってくる4回生の研究室見学があり、その説明の一部を担当することになってしまった。
何を話せばいいのやら。
先生からはいい子が来たがるような説明を頼むとプレッシャーがかかっているので、頑張らねば。