본문 바로가기
사용기/SOFTWARE

키보드 키값 변경하기

by esstory 2011. 7. 1.


 

그 동안 하도 구입한 키보드가 많아서, 더 이상 키보드를 구입하지 않으려 했는데,

맥북 프로에 붙여서 쓸 새로운 키보드가 필요해서, 인터넷으로 값 싼 만원대 키보드를 하나 주문한 게 화근이었다.

에누리에서 몇가지 키보드를 살펴 보다가, 아이락스 키보드와 모양이 동일하길래, 아이락스 제품인 줄 알고 구입한 키보드가 바로 아래 그림에 있는 이 키보드

 

삼보에서 만든 TGSK-1000U 라는 제품인데,

배송료 포함 14천원 정도의 가격에 펜타그래프, 아이솔레이션 키, 키스킨 등 갖출 건 다 갖춘듯한 키보드이지만,

막상 받아보니, 생각도 못한 큰 문제가 있었다.

 

 

생각지도 않은 왼쪽 윈도우 키의 부재.

제대로 된 키보드라면 당연히 아래 정도의 키 배치 (Ctrl - Win – Alt – SPACE 순)는 보여줘야 하는데 이 놈의 뵨태 키보드는 아이솔레이션 하느라 그랬는 지는 몰라도 정말 중요한 윈도우 키를 과감하게 없애 버리셨다.

 

윈도우 7 에서 그 활용도가 무한대로 커지는 윈도우 키는 에어로 스냅이나 Win + D, Win + Home, Win + E 와 같은 끝도 없는 단축키를 제공해 줘서 그 쓰임새가 개똥보다 흔한 키인데 아이솔레이션 방식으로 만들면서 공간이 부족하다 보니 과감하게 제작 시 빼 버렸나 보다.

Type 3 키보드에서는 한자키 대신에 Control + Space 로 한자키를 대신할 수 있기 때문에 나 같은 경우 한자키는 특별히 의미가 없다(한글 키도 역시)

결국, 쓸모 없는 한자키를 포함해서 Alt 키도 용도 변경하기로 맘 먹었다.

  • 한자키 → Alt 키로 변경
  • 왼쪽 Alt 키 → 윈도우 키로 변경

 

이왕 하는 김에 맥북프로를 거의 윈도우용으로만 사용하고 있어서, 맥북 프로 자체의 Option(Alt) 키와 Command 윈도우키) 키도 서로 변경하기로 했다.

  • 맥북프로의 Alt 키 → Window 키로 변경
  • 맥북프로의 Command 키 à Alt 키로 변경

 

인터넷으로 이런 저런 방법을 찾아 보니, "한자키" 를 제외하고는 SharpKeys 나 KeyTweak 이라는 프로그램으로 간단하게 수정가능 하다는 걸 알게 되었다.

 

SharpKeys 라는 프로그램에 대한 소개글은 아래 포스팅 참조
paperinz™ 간단하게 키보드의 키를 변경해주는 포터블용 키 맵핑 프로그램

 

 

 

위 그림은 SharpKeys 라는 프로그램으로 내가 원하는 키를 변경한 후 모습이다.

  • Left Alt → Left Window : 맥북프로와 TGSK-1000U 에서 왼쪽 Alt(Option 키) 를 윈도우 키로 작동하도록 수정.
  • Left Windows → Left Alt : 맥북프로의 Command Key 를 Left Alt 키로 변경

 

 

Add 를 누르면 아래와 같은 키 맵핑 대화상자가 실행 되는데 여기서 원하는 키로 변경하면 되고, 키 값을 모르면 Type Key 를 눌러서 해당 키를 눌러주면 간단하게 원하는 키로 변경이 가능하다.

 

 

KeyTweak 라는 프로그램은 UI 적으로 좀 더 나아 보이기도 하지만, 직관적으로 키를 바꾸는 건 SharpKeys 가 더 쉬운 듯.

 

 

위와 같은 키보드 Remap 프로그램들은 단순히 윈도우 레지스트리의 값을 변경해서 키를 조정해 주기 때문에 한 번 설정하면 프로그램을 매번 실행하거나 하는 수고가 없어 간편하게 키를 변경할 수 있고 원하지 않을 경우 해당 레지스트리를 지우기만 하면 되기 때문에 복원도 간편한 셈

 

변경된 키가 저장되는 레지스트리는 다음과 같다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout 에 있는 Scancode Map

 

 

 

이제 남은 문제는 한자키를 Left Alt 키로 변경하는 문제인데

 

한자키를 Alt 키로 사용?

 

위 글과 같이 이미 많은 분들이 같은 문제로 고민했지만, 한글과 한자키와 같은 윈도우 IME 처리에 연결된 키들은 위와 같은 Key Remap 프로그램으로 처리가 안된다

실제로 SharpKeys 프로그램으로 한자키를 입력해 보면 아래와 같이 E0_40F1 이라고 나오는데

 

 

이 키는 정의되지 않아서 변경이 불가능하다고 오류가 난다.

 

 

설사 해당 키를 찾아 수정한다고 해도 한자키는 윈도우 자체에서 워낙 특이하게 처리하기 때문에 다운 클릭은 발생해도, 키보드 업이 발생하지 않는 문제가 있다고 한다. (그래서 키보드 후킹으로도 처리가 힘들다)

 

결국 이런 저런 시도 끝에 찾아낸 마지막 해결 책은

AutoHotKey를 이용한 한영/한자 키 mapping하기 (키보드 매니아 사이트에 올라온 글인데 해당 사이트가 문제가 있는 지 열리지 않아 일단 구글 저장된 페이지로 연결시켰습니다)

 

에 있는 내용이 현재까지로 서는 최선인 듯싶다.

 

SC1F1::

Send, {ALT down}

Sleep, 500

Send, {ALT up}

return

 

AutoHotKey 는 유명한 키보드/마우스 매크로 프로그램.

특정 키가 눌러 질 경우, 내가 원하는 동작으로 보낼 수가 있는데

한자키가 눌러질 경우, 위 스크립트대로 작동할 경우 얼추 Alt 키 처럼(?) 작동하게 할 수 있다.

조금 복잡해 보이지만.

SC1F1::

Send, {ALT down}

Sleep, 500

Send, {ALT up}

return

SC1F1 키(한자키) 가 눌려지면

Alt 다운 이벤트를 발생시키고

500ms 만큼 있다가

Alt 업 이벤트를 발생시킨다.

 

정도의 간단한 스크립트

만드신 분이 이렇게 하신 건, 한자키의 경우 다운 이벤트만 발생하기 때문에 업 이벤트를 인위적으로 강제 발생시키기 위함이라고 한다. (만들어 공유해 주신 분께 감사)

일단 저 스크립트를 확장자 한자.AHK 식으로 저장하고 해당 파일을 AutoHotKey 로 실행 시키면 이제부터 한자키 입력은 자동으로 Alt 키 다운 & 업으로 작동한다.

한가지 큰 문제는 Alt Tab 으로 여러 프로그램을 순차적으로 돌려볼려고 Alt 키를 오래 눌러야 할 상황에서 위 스크립트 덕분에 항상 500ms 이후 Alt Up 이 발생하기 때문에 Alt + Tab 이 해제 되어 버린다.

이건 Win + Tab 으로 해결하거나, 다른 방안을 찾아야 할 듯.

 

여기까지 만원짜리 뵨태 키보드 때문에 힘들게 찾아된 키 변경 삽질기였다.

오늘의 교훈

  • 싸구려 키보드는 사지 말자
  • 키보드를 살 때 모양을 보지 말고 키 배치가 제대로 되어 있는 지 꼭 확인하자

댓글