Kubuntu 9.04におけるVMware Server Consoleのキーバインド調整

2009/09/22PC::VMware

Kubuntu 9.04でVMware Server Consoleを導入したら多くのキーが、本来とは異なる挙動をするようになっていたため、ついカッとなって作りました。

環境

  • ホスト
    • Debian GNU/Linux 4.0/i386
    • VMware Server 1.0.6
  • クライアント
    • Kubuntu 9.04/amd64
    • VMware Server Console 1.0.9
  • 動作用確認仮想マシン
    • Kubuntu 9.04/i386

キーバインド書き換え部

  • ~/.vmware/preferences に追加することで利用できます
    • xkeymap.languageの行の後あたりに追加するといいのではないでしょうか*1
  • 109キーボード全てのキーについて再定義しています
  • 個人的趣向により、CapsLockと左Ctrlを入れ替えています
xkeymap.language = jp106
# ファンクション
xkeymap.keycode.9	= 0x001	# Escape
xkeymap.keycode.67	= 0x03b	# F1
xkeymap.keycode.68	= 0x03c	# F2
xkeymap.keycode.69	= 0x03d	# F3
xkeymap.keycode.70	= 0x03e	# F4
xkeymap.keycode.71	= 0x03f	# F5
xkeymap.keycode.72	= 0x040	# F6
xkeymap.keycode.73	= 0x041	# F7
xkeymap.keycode.74	= 0x042	# F8
xkeymap.keycode.75	= 0x043	# F9
xkeymap.keycode.76	= 0x044	# F10
xkeymap.keycode.95	= 0x057	# F11
xkeymap.keycode.96	= 0x058	# F12
# 最上段
xkeymap.keycode.49	= 0x029 # Zenkaku_Hankaku
xkeymap.keycode.10	= 0x002 # 1
xkeymap.keycode.11	= 0x003 # 2
xkeymap.keycode.12	= 0x004 # 3
xkeymap.keycode.13	= 0x005 # 4
xkeymap.keycode.14	= 0x006 # 5
xkeymap.keycode.15	= 0x007 # 6
xkeymap.keycode.16	= 0x008 # 7
xkeymap.keycode.17	= 0x009 # 8
xkeymap.keycode.18	= 0x00a # 9
xkeymap.keycode.19	= 0x00b # 0
xkeymap.keycode.20	= 0x00c # minus "-"
xkeymap.keycode.21	= 0x00d # asciicircum "^"
xkeymap.keycode.132	= 0x07d # backslash (BS左の\)
xkeymap.keycode.22	= 0x00e # BackSpace
# 2段目
xkeymap.keycode.23	= 0x00f # Tab
xkeymap.keycode.24	= 0x010 # q
xkeymap.keycode.25	= 0x011 # w
xkeymap.keycode.26	= 0x012 # e
xkeymap.keycode.27	= 0x013 # r
xkeymap.keycode.28	= 0x014 # t
xkeymap.keycode.29	= 0x015 # y
xkeymap.keycode.30	= 0x016 # u
xkeymap.keycode.31	= 0x017 # i
xkeymap.keycode.32	= 0x018 # o
xkeymap.keycode.33	= 0x019 # p
xkeymap.keycode.34	= 0x01a # at "@"
xkeymap.keycode.35	= 0x01b # bracketleft "["
xkeymap.keycode.36	= 0x01c # Return
# 3段目
xkeymap.keycode.66	= 0x01d	# Caps_Lock -> Control_L
xkeymap.keycode.38	= 0x01e # a
xkeymap.keycode.39	= 0x01f # s
xkeymap.keycode.40	= 0x020 # d
xkeymap.keycode.41	= 0x021 # f
xkeymap.keycode.42	= 0x022 # g
xkeymap.keycode.43	= 0x023 # h
xkeymap.keycode.44	= 0x024 # j
xkeymap.keycode.45	= 0x025 # k
xkeymap.keycode.46	= 0x026 # l
xkeymap.keycode.47	= 0x027 # semicolon ";"
xkeymap.keycode.48	= 0x028 # colon ":"
xkeymap.keycode.51	= 0x02b # bracketright "]"
# 4段目
xkeymap.keycode.50	= 0x02a # Shift_L
xkeymap.keycode.52	= 0x02c # z
xkeymap.keycode.53	= 0x02d # x
xkeymap.keycode.54	= 0x02e # c
xkeymap.keycode.55	= 0x02f # v
xkeymap.keycode.56	= 0x030 # b
xkeymap.keycode.57	= 0x031 # n
xkeymap.keycode.58	= 0x032 # m
xkeymap.keycode.59	= 0x033 # comma ","
xkeymap.keycode.60	= 0x034 # period "."
xkeymap.keycode.61	= 0x035 # slash "/"
xkeymap.keycode.97	= 0x073 # kana_RO
xkeymap.keycode.62	= 0x036 # Shift_R
# 最下段
xkeymap.keycode.37	= 0x03a	# Control_L -> Caps_Lock
xkeymap.keycode.133	= 0x15b # Super_L (Win_L)
xkeymap.keycode.64	= 0x038 # Alt_L
xkeymap.keycode.102	= 0x07b # Muhenkan
xkeymap.keycode.65	= 0x039 # Space
xkeymap.keycode.100	= 0x079 # Henkan_Mode
xkeymap.keycode.101	= 0x070 # Hiragana_Katakana
xkeymap.keycode.108	= 0x138 # Alt_R (Meta_R)
xkeymap.keycode.134	= 0x15c # Super_R (Win_R)
xkeymap.keycode.135	= 0x15d # Menu (App)
xkeymap.keycode.105	= 0x11d # Control_R
# アローキー部
xkeymap.keycode.107	= 0x137 # PrintScreen
xkeymap.keycode.78	= 0x046 # ScrollLock
xkeymap.keycode.127	= 0x100 # Pause
xkeymap.keycode.118	= 0x152 # Insert
xkeymap.keycode.119	= 0x153 # Delete
xkeymap.keycode.110	= 0x147 # Home
xkeymap.keycode.115	= 0x14f # End
xkeymap.keycode.112	= 0x149 # Prior (PageUp)
xkeymap.keycode.117	= 0x151 # Next (PageDown)
xkeymap.keycode.113	= 0x14b # Left
xkeymap.keycode.116	= 0x150 # Down
xkeymap.keycode.114	= 0x14d # Right
xkeymap.keycode.111	= 0x148 # Up
# テンキー部
xkeymap.keycode.77	= 0x045 # NumLock (Pointer_EnableKeys)
xkeymap.keycode.106	= 0x135 # KP_Divide (/)
xkeymap.keycode.63	= 0x037 # KP_Multiply (*)
xkeymap.keycode.82	= 0x04a # KP_Subtract (-)
xkeymap.keycode.86	= 0x04e # KP_Add (+)
xkeymap.keycode.104	= 0x11c # KP_Enter
xkeymap.keycode.87	= 0x04f # KP_End (1)
xkeymap.keycode.88	= 0x050 # KP_Down (2)
xkeymap.keycode.89	= 0x051 # KP_Next (3)
xkeymap.keycode.83	= 0x04b # KP_Left (4)
xkeymap.keycode.84	= 0x04c # KP_Begin (5)
xkeymap.keycode.85	= 0x04d # KP_Right (6)
xkeymap.keycode.79	= 0x047 # KP_Home (7)
xkeymap.keycode.80	= 0x048 # KP_Up (8)
xkeymap.keycode.81	= 0x049 # KP_Prior (9)
xkeymap.keycode.90	= 0x052 # KP_Insert (0)
xkeymap.keycode.91	= 0x053 # KP_Delete (.)

*1 : 掲載した書き換え部には、一応xkeymap.languageの行も記載していますので、適用時には重複しないように注意して下さい。

関連記事