본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/컴퓨터 이야기
  3. 한자키를 Alt 키로 사용?

한자키를 Alt 키로 사용?

· 댓글개 · 바다야크
이 글의 결언지루하게 길어지는 글에 대해서 결과를 먼저 궁금해 하시는 분이 계실 듯하여 먼저 말씀을 드립니다. 한자와 한영키로 Alt키로 대응하여 메뉴를 선택하는데에는 사용할 수 있습니다만 Alt-Tab이나 Alt-[다른 키] 와 같은 조합 키 구성은 안됩니다. 그 이유는 글에 올렸습니다. 혹 방법을 알고 계시는 분은 댓글로 말씀 주시면 대단히 감사하겠습니다.

제가 사용하는 세진 기계식 키보드 SKM-1080은 103키로 윈도우키가 없습니다. 윈도우키 없이 사용하는 것은 이미 습관이 되서 문제가 없는데, 문제는 Alt 키입니다. 매우 아쉽게도 SKM-1080의 Alt 키가 Ctrl 키 바로 옆에 붙어 있습니다.

사용자 삽입 이미지

1080만 사용했을 때에는 문제가 없는데 다른 키보드를 사용할 때면 Alt 키를 누른 다는 것이 자꾸 윈도우키를 누르게 됩니다. 이렇게 엉뚱하게 누를 때마다 1080의 키 배열이 Ctrl-한자-Alt 키였으면 좋았을 텐데 하는 생각을 하게 됩니다. 한자와 한영키가 없는 101키 같은 경우에도 대부분이 Ctrl과 Alt키가 떨어진 것으로 알고 있습니다. 리얼포스도 그렇구요.

이런 이유로 Ctrl-한자-Alt 로 배열했으면 Alt 키가 다른 키보드와 조금은 유사한 위치에 있을 테고 다른 키보드를 사용할 때 적응이 빠르지 않을까 생각합니다. 아마도 1080에서 키캡의 색상을 맞추거나 키 사용의 편의를 위해 지금의 배열이 선택되었을 것이라 생각됩니다.

지금까지는 별다른 방법이 없어서 그냥 참고 사용해 왔는데 Windows 2000 이나 XP 이상의 버전에서는 레지스트리의 값만 변경하면 키보드의 키 위치를 변경할 수 있다는 것을 알게되었습니다. 가장 유명한 방법은 잘 사용하지 않는 Caps Lock키를 Ctrl 키로 변경해서 사용하는 것이더 군요.

실제로 이렇게 사용하시는 분의 얘기를 들은 적이 있습니다. 지금의 Ctrl키 위치보다 Caps Lock키를 사용하면 손가락이나 손목을 비틀 필요가 없어 매우 편리하다고 합니다. 자주 사용하는 Ctrl-A, Ctrl-C, Ctrl-X, Ctrl-V만 해 보아도 손목을 비틀 필요가 없어 편합니다. 특히 Q,W,E,R 쪽의 키를 누를 때에는 매우 편하죠.

변경하는 방법도 프리웨어 KeyTweak 프로그램을 이용하면 간단하게 바꿀 수 있습니다. 사용하는 방법이 쉬울 뿐만 아니라 이미 유명해진 프로그램이라 웹을 검색해 보시면 쉽게 설명된 사용방법이 많이 나와 있습니다.

KeyTweakNaVI님께서 KeyTWeak에 대한 자세한 설명이 있는 링크를 알려 주셔서 내용을 추가합니다.

여름하늘::키보드의 키를 내 마음대로 설정하게 해 주는 KeyTweak

역시 여름하늘님, 매우 자세하고 자상하게 설명을 올려 주셨네요. NaVI님, 고맙습니다. ^^

그러나 프로그램을 설치하거나 자주 사용하지 않는 프로그램을 꺼리시는 분이 계시죠. 이런 분들은 프로그램을 사용할 필요 없이 직접 레지스트리를 수정하시는 방법도 있습니다.

그런데 이 방법으로는 Caps Lock 키를 Ctrl로, 오른쪽 Ctrl 키를 한자키로, 오른쪽 Alt 키를 한영 변환키로 변경하는 것은 되는데, 유독 한자키와 한영키를 Alt 키나 Ctrl 키로 변경하는 쉽지 않더군요.일단 레지스트리를 변경하는 방법으로는 한자와 한영키가 반응을 하지 않습니다.

정리하여 말씀드리면
  • 다른 키를 한자와 한영키로 변경하여 사용할 수 있으나
  • 한자와 한영키를 다른 키로 변경하는 것은 안 됩니다.

대신에 AutoHotKey를 이용하는 방법이 있습니다. 한자키가 눌리면 AutoHotKey가 중간에 감지해서 Alt 키로 바꾸는 것이죠.

그러나 이 방법은 문제가 있습니다. 한자키가 눌리면 Alt키가 눌리도록 명령을 내리는 것은 좋은데, 그리고 잘 됩니다. 그러나 한자키를 놓으면 Alt키도 놓으라는 명령을 전송해야 하는데 이게 안됩니다. 일단 AutoHotKey가 한자와 한영키가 누르는 것은 감지하는데 키를 놓는 것을 감지하지 못합니다. 참고로 AutoHotKey에서 한자의 스캔코드는 1F1입니다.

즉, 아래와 같은 AutoHotKey 명령이 안된다는 것이죠.

SC1F1::
   Send, {LALT down}
   KeyWait,SC1F1
   Send, {LALT up}
   return

KeyWait는 특정키가 release, 즉 키를 놓았을 때 까지 대기하는 함수입니다. 매우 유영한 함수이지만 다른 키는 모두 정상적으로 감지해 내는데, 유독 한자키와 한영키에 대해서는 감지를 못합니다. 그래서 다음의 {LALT up}키를 Send하지를 못하죠.

LALT를 눌르게 했으니까 키를 놓게도 명령을 보내야 하는데 그렇게는 못하니까 하는 수없이 아래에서 처럼 잠시 후에 {LALT up}을 전송할 수 밖에 없습니다.

SC1F1::
   Send, {LALT down}
   Sleep, 300
   Send, {LALT up}
   return

이렇게 하면 프로그램의 메뉴 선택에는 사용할 수 있습니다. 그러나 Alt-Tab 과 같이 다른 키와 조합해서 사용할 수 없습니다. 왜냐하면 Alt키를 누르자 마자 놓는 꼴이 되어 버리기 때문에, 실제로는 Alt키를 눌렀다가 놓은 후에 Tab키를 누르는 꼴이 되기 때문입니다.

그렇다면 AutoHotKey의 문제인가해서 직접 Keyboard Hooking 프로그램을 작성해 보았습니다. Hooking 프로그램이란 윈도즈에서 키보드가 눌리거나 마우스가 움직이는 등의 정보가 들어 오면 미리 준비된 명령에 따라 실행되게 되어 있는데, 이 명령을 실행하는 곳에 가기 전에 마치 길가에서 검문하듯이 먼저 데이터를 꺼내보고 변경하는 프로그램을 Hooking 프로그램이라고 합니다.

겨우 완성해서 확인해 보니 다른 키는 모두 키를 놓는 것 까지 이상없이 확인이 되는데, 한자키와 한영키는 눌린 시점은 알 수 있어도 놓는 것은 감지가 안 되네요. 역시 다른 키와 다르게 처리되는 것으로 생각됩니다.

하기는 다른 키는 계속 누르고 있으면 연속 누름이 되지만 한자와 한영키는 아무리 누르고 있어도 연속입력이 안되죠. 이것이 키보드 드라이버단에서 처리하는지, 아니면 키보드의 메인 컨트롤에서 처리하는지는 모르겠습니다만 여하튼 다른 키와는 처리 방식이 다른 것으로 생각됩니다.

매우 아쉽지만 Alt-Tab 말고도 다른 조합키를 많이 사용하고 있기 때문에 여기서 포기할 수 밖에 없었습니다. jwBrowser만 하더라도 Alt-1~9 기능은 매우 애용하거든요. ^^ 이것만 된다면 Ctrl-한자-Alt, 그리고 Alt-한영-Ctrl 이렇게 배치해서 사용할 수 있었을 텐데 매우 아쉽습니다.

'컴퓨터 > 컴퓨터 이야기' 카테고리의 다른 글

컴퓨터! 너 나가!!  (43) 2008.03.29
USB에 관한 유용한 정보들  (29) 2007.11.01
드라이버 파일 백업  (52) 2007.10.24
SNS 공유하기
최근 글
바다야크
추천하는 글
바다야크
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.