2009년 2월 18일 수요일

[스크랩] USB 키보드에서 오른쪽 Ctrl 키가 동작하지 않을때

원본 URL: http://clien.career.co.kr/zboard/view.php?id=lecture&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=3575

제가 왼손 마우스를 쓰다보니 폴더나 파일을 복수로 선택하기 위해서는오른쪽 컨트롤키와 마우스 클릭을 같이 사용하는데 이번에 새로 들어온PC에서는 오른쪽 컨트롤 키가 동작하지 않는 문제가 있더군요.(OS는 XP 홈 에디션)PS/2 방식의 키보드에서는 키보드(3)을 선택하거나 한글103/106 키보드를선택하면 잘 동작했는데 USB 키보드에서는 대부분 장치관리자에서 101키가 기본인 "HID 키보드 장치"로 통일되어 있는것 같습니다. (실제로는 인스톨시 디폴트로 101키의 PS/2, USB 키보드 드라이버로 세팅되고 이 세팅값을 HID 키보드 장치 가 사용하는 것 같습니다)그러니 처음부터 USB 키보드로 설치한 PC에서 한글 키보드의 배열중일부가 동작하지 않아서 저처럼 오른쪽 ctrl이나 alt 등을 쓰지 못하는 분들의 사례가 있는것 같습니다. 반나절 정도 이런저런 키맵 프로그램등으로도 해결이 잘 안되던 차에우연히 비스타에 대한 자료가 있어서 혹시나 해서 XP에서 적용해 보았는데잘 되는군요.. 간단히 말해서 레지스터리를 수정하여 키보드를 다른 타잎으로 인식되게하는 방법입니다. keyboard.inf 파일을 참조하니 아마도 "i8042prt"의 세팅부분은 PS2/USB 표준 키보드의 종류를 변경하는 것 같더군요. 아래의 레지스터리 항목에서 네가지 값을 변경해주면 됩니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

Korean 101-key Type 1 USB keyboard

*******************************************

Value name / Value type / Value data

*******************************************

LayerDriver / KOR REG_SZ / kbd101a.dll

OverrideKeyboardIdentifier / REG_SZ / PCAT_101AKEY

OverrideKeyboardSubtype / DWORD / 3

OverrideKeyboardType / DWORD / 8

Korean 101-key Type 2 USB keyboard

*******************************************

Value name / Value type / Value data

*******************************************

LayerDriver / KOR REG_SZ / kbd101b.dll

OverrideKeyboardIdentifier / REG_SZ / PCAT_101BKEY

OverrideKeyboardSubtype / DWORD / 4

OverrideKeyboardType / DWORD / 8

Korean 101-key Type 3 USB keyboard

*******************************************

Value name / Value type / Value data

*******************************************

LayerDriver / KOR REG_SZ / kbd101c.dll

OverrideKeyboardIdentifier / REG_SZ / PCAT_101CKEY

OverrideKeyboardSubtype / DWORD / 5

OverrideKeyboardType / DWORD / 8

Korean 103/106-key USB keyboard

*******************************************

Value name / Value type / Value data

*******************************************

LayerDriver / KOR REG_SZ / kbd103.dll

OverrideKeyboardIdentifier / REG_SZ / PCAT_103KEY

OverrideKeyboardSubtype / DWORD / 6

OverrideKeyboardType / DWORD / 8

변경할 값들은 다른 dll 파일과 세팅값을 참조하게 하는데 혹시 모르니 system32에 해당 dll 파일이 설치되어있는지 먼저 확인하는 것이 좋을것 같습니다. 저는 kbd103.dll 타잎으로 변경해서 사용중인데 잘 동작하는 것같습니다. (PC는 DELL의 SK-8115 키보드 모델을 사용하는 제품)

댓글 없음: