안녕하세요?
간만에 질문드립니다.
제목 그대로 흔하디 흔한 한영키 문제입니다. 그러나 나름의 노하우(?)와 구글신 영접으로도 해결이 안되네요.
현재 상황은 이렇습니다.
HP Pavilion 2530au 태블릿 PC (OS: Windows 7)에 VirtualBox와 VMware player를 설치하고 가상머신 상에 우/쿠분투 9.10을 설치하였습니다.
현재 모든 가상 머신의 우분투와 쿠분투에서 한영키와 한자키 인식을 하지 못하고 있습니다. 키보드 입력은 태블릿 PC에 연결된 USB 키보드로 하고 있습니다.
호스트인 태블릿 PC 상에서는 한영키가 잘 인식됩니다. 또한 가상머신의 우분투와 쿠분투에서는 오른쪽 Alt 키가 한영키로 동작합니다. 키 배치 설정은 키보드 모델이 '일반 105키 (국제 버전) PC’에 키 배치는 '대한민국 101/104키 호환’입니다.
키보드 모델에 'Korean 106-key’가 있었던 것 같은데 9.10에서는 보이지가 않더군요? 아무튼 저런 설정으로 한영키 잘 쓰고 계신 분들 계시니까 저 문제는 아닐 것 같습니다.
xev로 키 입력 테스트를 해보았습니다. 전혀 반응 없습니다. showkey로도 테스트를 해보았습니다. showkey는 디폴트 옵션에서 키 입력이 10초간 없으면 자동 종료됩니다. 한영키과 한자키를 갈겨(?) 보았습니다만 키가 인식이 안되는지 그냥 종료되어 버리더군요.
setkeycodes 명령어를 사용하여 키코드 설정을 해보았습니다만 무용지물입니다. 문제는 xev나 showkey로도 키가 인식이 안되는 것입니다.
xorg.conf 파일을 생성하여 InputDevice 섹션에 XkbModel 옵션에 'kr106’을, ‘XkbLayout’ 옵션에 'kr’을 넣고 재부팅 해보았습니다만 무용지물이었습니다.
혹 VirtualBox나 VMware가 키보드 레이아웃을 지원하지 않아서이진 않을까라는 생각도 듭니다만, 우분투 호스트에서 동작하던 VirtualBox에서는 그러지 않았는데 Windows 용 VirtualBox에서 지원을 하지 않을까 하는 의구심이 들더군요. 리눅스 용 VirtualBox에서는 되었으니 Windows 용 VirtualBox에서도 되어야 되는 것이 정상인 듯 싶어서요.
이 문제의 원인은 너무도 다양할 수 있어 좀체로 갈피를 잡을 수가 없군요. 일단 호스트에서는 한영키가 잘 동작하는 것으로 보아 하드웨어 적인 문제는 아닙니다. Windows 상에서 USB 키보드 드라이버를 한글 106키로 설치해 보았습니다만 장치를 시작할 수가 없다고 하면서 키보드 입력이 되지 않더군요.
수입 랩탑의 경우 한영키가 따로 없어 우측 Alt 키에다가 한영키라고 인쇄하여 우측 Alt 키가 한영키 동작을 하도록 한다고 알고 있는데, 이것이 영향을 미친 것인가도 궁금합니다. 그러나 한글 106키 USB 키보드를 따로 연결하였고, Windows 상에서는 한영키가 정상 작동을 하는데 왜 게스트 OS에서는 작동하지 않는지 참 의문스럽군요.
한가지 가정을 해보면 Windows 상에 연결된 USB 키보드의 한영키 매핑이 우측 Alt 키로 되어 있어 우측 Alt키와 동일한 신호를 내고 있지는 않을까 하는 것입니다. 이것이 게스트 OS로 오면서 우측 Alt키만 인식이 되는 것이 아닌가 싶은데 이 가정도 사실 맞는 것 같진 않습니다.;;;
게스느 OS 상에서 키보드 레이아웃도 다양하게 바꿔보고, 바꿀 때마다 setkeycodes 명령어로 키 추가 -> xev, showkey로 인식 확인, 이 과정을 되풀이 하였습니다만 도무지 되지를 않는군요. showkey 명령어가 raw 레벨에서 키보드 신호를 인터셉트 하는 것이라면 현재 한영키/한자키의 신호가 전혀 전달되지 않는다는 의미인 것 같은데…
dmesg에서 잡은 키보드 정보는 다음과 같습니다.
[code:5yto4o1q]$ dmesg | grep keyboard
[ 2.521923] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3[/code:5yto4o1q]
또한 xev와 showkey 명령어에서 한영키 역할을 하는 우측 Alt 키와 한자키 역할을 하는 우측 Ctrl 키를 눌렀을 때의 화면입니다.
- xev 명령어
- 우측 Alt 키 입력 시
[code:5yto4o1q]KeyPress event, serial 30, synthetic NO, window 0x4400001,
root 0x107, subw 0x0, time 1209166, (232,-45), root:(368,517),
state 0x0, keycode 108 (keysym 0xff31, Hangul), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x4400001,
root 0x107, subw 0x0, time 1209235, (232,-45), root:(368,517),
state 0x8, keycode 108 (keysym 0xff31, Hangul), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False[/code:5yto4o1q]
- 우측 Ctrl 키 입력 시
[code:5yto4o1q]KeyPress event, serial 33, synthetic NO, window 0x4400001,
root 0x107, subw 0x0, time 1217598, (232,-45), root:(368,517),
state 0x0, keycode 105 (keysym 0xff34, Hangul_Hanja), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x4400001,
root 0x107, subw 0x0, time 1217648, (232,-45), root:(368,517),
state 0x0, keycode 105 (keysym 0xff34, Hangul_Hanja), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False[/code:5yto4o1q]
- showkey 명령어
- 우측 Alt 키와 우측 Ctrl 키를 차례로 입력 시
[code:5yto4o1q]$ sudo showkey
[sudo] password for pcandme:
kb mode was RAW
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]
press any key (program terminates 10s after last keypress)...
keycode 100 press
keycode 97 press
keycode 97 release[/code:5yto4o1q]
한영키와 한자키는 위에서 말씀드렸다시피 xev와 showkey에서 전혀 반응이 없습니다…
이거 어떻게 해결해야 할까요? 그냥 Shift+Space에 익숙해져야 할까요? 리눅스 호스트일 때는 없었던 문제가 Windows 호스트일 때 생기니 참 황당하군요. 갖은 노하우 + 구글링을 통해도 해결이 잘 안나네요.;
제 리눅 인생(?) 최악의 상황에 직면한 듯 합니다.; 고수님들의 고견 부탁드립니다. ㅠㅜ