トップ «前の日記(2004-08-03 (Tue)) 最新 次の日記(2004-08-07 (Sat))» 編集 RSS feed

継続にっき

2004|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|03|05|06|08|09|10|12|
2007|01|02|03|05|07|12|
2008|10|
2009|01|05|12|
2010|04|05|11|
2011|01|09|12|
2012|02|03|05|09|12|
2013|02|03|
2014|05|09|
2015|12|
2017|09|

2004-08-04 (Wed)

))) パソコン購入(3)

予定通り本日到着。モニタも当たり前のように一緒に届いた。

))) 窓使いの憂鬱

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

こうすると、

  • 普通にEmacsキーバインドを使ってカーソル移動ができる
  • ただしCaps Lock単独の押下はそのままCaps Lock押下として認識させて、それをCraftLuanchのホットキーに使う
  • xyzzyとPuTTYとVirtual PCでは完全にCaps LockとCtrlを入れ替えた状態になる

という変則的なキーバインドが実現できる。

ソフトウェアの性格上動かないということも十分考えられたけど、特に問題ないようでよかった。

))) Ruby-1.8.1 on Cygwin

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)

2004|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|03|05|06|08|09|10|12|
2007|01|02|03|05|07|12|
2008|10|
2009|01|05|12|
2010|04|05|11|
2011|01|09|12|
2012|02|03|05|09|12|
2013|02|03|
2014|05|09|
2015|12|
2017|09|
トップ «前の日記(2004-08-03 (Tue)) 最新 次の日記(2004-08-07 (Sat))» 編集 RSS feed