予定通り本日到着。モニタも当たり前のように一緒に届いた。
Windowsの環境構築といえば何をさしおいても窓使いの憂鬱な訳ですよ。MLでアナウンスされているスナップショットをインストール。
設定ファイルはこんな感じで。
include "109.mayu" keymap Global key *IC- = # Emacsキーバインドエミュレート mod mod0 = !!英数 key m0-*p = *Up key m0-*f = *Right key m0-*b = *Left key m0-*n = *Down key m0-*h = *BackSpace key m0-*e = *End key m0-*a = *Home key m0-*d = *Delete key m0-*v = *Pagedown key m0-YenSign = $ToggleIME # WindowsキーをノートパソコンのFnキーっぽく mod mod1 = !!LeftWindows key m1-*Left = *Home key m1-*Right = *End key m1-*Down = *Pagedown key m1-*Up = *Pageup # 一部のアプリケーションは普通にスワップ keymap CTRL_CAPS_SWAP mod ctrl += 英数 key *英数 = *LControl mod ctrl -= LControl key *LControl = *英数 window xyzzy (/xyzzy\.exe:/ && /:xyzzy.+@/) : CTRL_CAPS_SWAP window putty (/putty(jp)?\.exe:/ && /putty(jp)?\.exe:/) : CTRL_CAPS_SWAP window vpc (/Virtual PC\.exe:/ && /Virtual PC\.exe:/) : CTRL_CAPS_SWAP # リモートデスクトップ使うときもそれなりに keymap2 Tm mod !shift !alt !control !windows mod control += 英数 window msrdp (/TSSHELLWND/ && /Remote Desktop/) : Global key m0-x = C-x &Prefix(Tm) key m0-c = C-c &Prefix(Tm) key m0-u = C-u key m0-k = C-k key m0-s = C-s key m0-r = C-r key m0-y = C-y key m0-w = C-w key m0-j = C-j key m0-m = C-m key m0-LeftSquareBracket = Esc key m0-Solidus = C-Solidus key m0-S-ReverseSolidus = C-S-ReverseSolidus key m0-g = C-g key m0-SPACE = C-space
こうすると、
という変則的なキーバインドが実現できる。
ソフトウェアの性格上動かないということも十分考えられたけど、特に問題ないようでよかった。
configureした後makeしようとすると失敗する。
gcc -g -O2 -I. -I/tmp/ruby-1.8.1 -I/tmp/ruby-1.8.1 -I/tmp/ruby-1.8.1/ext/win32ole -DNONAMELESSUNION -DHAVE_WINDOWS_H -c win32ole.c win32ole.c: In function `find_default_source': win32ole.c:5010: error: `GUIDKIND_DEFAULT_SOURCE_DISP_IID' undeclared (first use in this function) win32ole.c:5010: error: (Each undeclared identifier is reported only once win32ole.c:5010: error: for each function it appears in.) make[1]: *** [win32ole.o] Error 1 make[1]: Leaving directory `/tmp/ruby-1.8.1/ext/win32ole' make: *** [all] Error 1
蚊遁鉄句(2004-05-18)にあるようにパッチを当てればOK。
--- ext/win32ole/win32ole.c.orig 2003-09-25 08:54:21.000000000 +0900 +++ ext/win32ole/win32ole.c 2004-08-05 00:56:55.075375000 +0900 @@ -21,6 +21,7 @@ #include <windows.h> #include <ocidl.h> #include <ole2.h> +#include <olectl.h> #ifdef HAVE_STDARG_PROTOTYPES #include <stdarg.h> #define va_init_list(a,b) va_start(a,b)