CtrlとCapsの入れ替えが上手くいかない

ホストOSがWindows、仮想化ソフトがVmware Player2.5.1、ゲストOSがUbuntu 8.04 Japaneseで、Ubuntu上でCtrlとCapsを入れ替えようと思ったけど、上手くいかなかった。
試したこと

[システム]→[設定]→[キーボード]→[レイアウト]→[レイアウトのオプション]→[Ctrlキーの位置]で変更 → ×

どの選択肢を選んでも、CapsがControlの動作をしてくれない。

/etc/X11/xorg.confに「XkbOptions "ctrl:swapcaps」を追加 → ×

特に反応無し

xmodmapで変更 →  ×

ネットを参照したのをそのまま使っても上手くいかないので、色々弄った結果xmodmapの出力が

xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x25)
control     Control_L (0x42),  Control_R (0x6d)
mod1        Alt_L (0x40),  Alt_R (0x71),  Meta_L (0x9c)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x7f),  Hyper_L (0x80)
mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x7c)

で、xevでCapsキーをおしたときの出力が

KeyRelease event, serial 30, synthetic NO, window 0x3600001,
    root 0x40, subw 0x0, time 2693717, (362,-281), root:(419,217),
    state 0x14, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

となったので、いけるかと思ったんだけど、やっぱりCtrlキーの動作をしてくれない。逆にCtrlキーはCapsの動作をするので、左側にCtrlキーがなくなるという悪夢のような状況になる。
ちなみにxmodmapで実行した設定は

remove lock = Eisu_toggle
remove control = Control_L
keycode 37 = Caps_Lock
keycode 66 = Control_L
add lock = Caps_Lock

Vmware関係の問題かなあとも思ったけど、探してそれらしい情報が見あたらない。ホストOSがLinuxMacの時はVmwarePlayer上でキーを変更できるようだけど、ホストOSがWindowsの時はどうすればいいのかよく分からない。

とりあえず、上手いこといかないのであきらめる。