Review/IT

키 맵핑 프로그램 - Sharpkeys

난한벼리™ 2008. 11. 18. 11:30

키 맵핑 프로그램이 은근히 많이 있습니다. 그 중 유명한 프로그램은 Keytweak 이라는 프로그램일것입니다. Keyboardtest 라는 키 스캔코드 보는 프로그램도 꽤 유명하죠. 그 밖에 우리나라 개발자가 만든 Keymapper 라는 프로그램도 있습니다. 그런데 이 중에서 제가 sharpkeys를 추천하는 이유는 실행파일 하나의 매우 단순한 포터블 프로그램이라는 점입니다. 워낙 포터블을 좋아라 하는지라 불필요한 설치형 프로그램보다 후한 점수를 주게 되더군요. 그렇다고 Sharpkeys가 성능면에서 뒤떨어지는 것도 아닙니다. 오히려 심플하면서 간단하게 유저가 키 맵핑을 할 수 있게 도와주는 프로그램입니다. 이렇게 사용법을 적는 것 조차 민망 할 정도로 매우 쉬운 프로그램이니 키 맵핑을 고려하셨던 분이라면 한 번 사용해보시기 바랍니다. 레지를 건들리는 프로그램이지만 언제든지 복구가 가능하니 걱정하시지 말고 한 번 도전해보세요~ 그럼 소개 들어갑니다!

자 우선 다운 받으셔야겠죠? SharpKeys 를 눌러주세요! 공식 홈페이지는 이 곳을 눌러주세요.

그럼 바로 실행해보세요. 아래와 같은 매우 깔끔한(저만 그렇게 생각하는 건 아니겠죠? ^^a) 화면 하나가 뜹니다.

간략하게 버튼 설명을 하자면

Add : 키 맵핑을 등록합니다.
Edit : 등록 된 키 맵핑 정보를 수정합니다.
Delete : 선택 된 키 맵핑 정보를 삭제합니다.
Delete All : 등록된 모든 키 맵핑 정보를 삭제합니다.
Write to Registry : 등록된 키 맵핑 정보를 레지스트리에 등록합니다.
Close : 창을 닫습니다.

후웁~ 설명하는 것도 민망한 내용입니다. 너무 쉽죠? ㅎㅎ; 그래도 시작한 거 끝까지 민망함 밀고 갑니다!

다음은 Add 을 한 번 눌러볼까요?

자자 이제 좀 뭔가 어려워 보이는 것 같죠? 천만에 만만에 콩떡입니다~! 간단하게 왼쪽은 현재 키보드의 키를 의미하고 오른쪽은 변경 할 키보드의 키를 의미합니다. 즉, 왼쪽에서 변경 할 키를 선택하고 오른쪽에서 변경하고자 하는 키를 선택해서 OK 버튼을 눌러주면 됩니다. (이 프로그램이 좋은 점은 Keyboardtest 쓸 필요 없이 Key Scancode가 바로 나와준다는 점입니다. 키명 옆에 있는 E0_11 과 같은 게 Key Scancode 랍니다 레지를 직접 수정 할 때는 꼭 알아야 하는 값이죠 ^^)

예를 들어 한 번 해볼까요? 위 방향키를 아래 방향키로 바꾸고 싶습니다. 그러면 우선 왼쪽에서 변경 할 키인 위 방향키를 찾아야겠죠? Arrow : Up (E0_48) 이 보이시죠? 헉! 설마 영어도 모른다고 하시면 제가 GG 칩니다;; 흠.. 각설하고 이제 오른쪽에서 변경하고자 하는 키인 아래 방향키를 찾아보죠. 바로 위에 있네요. Arrow : Down (E0_50) 을 선택합니다. 그런 후 OK 버튼을 누르면 끝! 쉽죠? 아.. 설명 안 한 의문의 버튼! Type Key는 무엇을까요? 그냥 해석 그래도 키을 직접 쳐서 키 값을 찾는 기능 버튼입니다. 한 번 눌러볼까요?

흠.. 처음은 저렇게 안 뜨고 OK 키가 비활성화 된 채로 (press a key) 라는 메시지가 뜰겁니다. 그 상태에서 바꾸고자 하는 키를 누르게 되면 그 키 값이 보여지게 되는거죠. 아까 위 방향키를 바꿀려고 했었죠? 한 번 눌러보시면 위와 같은 값으로 바뀐 것을 보실 수 있을겁니다. 이 상태에서 OK 버튼을 누르면 일일히 키 값 찾아서 선택 할 필요없이 간단하게 쓸 수 있답니다. 오른쪽 Type Key는 따로 설명 안 해도 아시겠죠? 이것만 확실하게 아시면 됩니다. 왼쪽은 원래 키보드 키, 오른쪽은 변경 할 키!

자 위에 설명한데로 다 하셨다면 다음 그림처럼 메인 창에 키 맵핑된 내용이 등록되었을겁니다.

아까 등록 한 내용이 제대로 입력되었는 지 확인하고 추가로 더 등록하고 싶다면 아까 했던 방법 그대로 Add 버튼 눌러 추가하시면 됩니다. 그리고 혹, 실수로 잘못 입력하셨다면 Edit 버튼 누르시고 지우고 싶다면 Delete 버튼을, 다 지우고 다시 등록하고 싶다면 Delete All 버튼을 누르시면 됩니다. 그리고 마지막으로 꼭 하셔야 하는 건 Write to Registry 버튼을 누르셔야 한다는겁니다. 이 버튼 눌러야 레지에 등록을 해서 키 값이 정상적으로 변경된답니다. 안 바꾸시면 레지 등록 안 되어서 지금까지 힘껏 수정한 거 날라간답니다. 꼭 하셔야 해요! 에잇~! 그냥 나가고 싶다 하시는 분만 살포시 Close 버튼을 누르시고요 ^^

자 이제 프로그램 설명은 끝났습니다. 그런데 뭔가 아쉬운 이 느낌! 레지스트리까지 한 번 가볼까요? 뭐 중요한 건 없고 혹시나 궁금해 하시는 단 한 분을 위해서~ 설명을 해보도록 하겠습니다. 위에서 레지스트리에 등록된다고 하였죠? 그럼 어디에 등록될까요? 궁금하셨던 분 손!!!!!!!! 네 아무도 없으시군요. 그래도 이왕 시작한 거 뿌리까지 한 번 가봅시다! 일단 레지스트리를 실행해야겠죠? 실행창을 띄우시고(단축키 : Win Key + R Key) Regedit 을 누른 다음 확인 누르세요. 레지스트리 창이 뜬 상태에서 다음 경로순으로 차근 차근 실수하지 마시고 따라가보세요. ‘HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout’ 네!! 바로 여기가 키 맵핑 값이 저장되는 곳입니다. 여기에 잘 보시면 아까 등록한 녀석이 있는 것을 보실 수 있어요.

위에 Scancode Map 이라는 파일 보이시죠? 정확하게 파일이 아니라 이진값입니다. 바로 이 이진값으로 키 맵핑 값이 등록되게 되는 것이죠. 그럼 아까 등록한 값이 어떻게 등록되었는 지 한 번 볼까요? 더블 클릭해보세요.

우와~ 이게 뭔 외계어야!! 하시는 분! 겁먹지 말고 하나씩 설명 드릴께요. 값은 16진수로 보여지게 되어있어요. 2진수였으면 보는 사람도 미치겠죠? 어쨋든 이 녀석들은 어떠한 규칙으로 이루어져있습니다. 우선 제일 첫 줄 00이 8개나 있죠? 이건 기본적으로 나 키 맵핑 시작한다! 준비들 해라! 라는 의미입니다. 그러니 꼭 있어야 합니다. 그 다음 02 00 00 00 이 있죠? 처음 02는 앞으로 키 맵핑 할 내용이 1개라는 의미입니다. 독특하게 이 놈은 +1 을 해줘야 합니다. 2개를 등록할려면 03 00 00 00 으로 5개를 등록할려면 06 00 00 00 으로 입력해야 하는거죠. 이 문구 뒤부터 키 맵핑 내용이 들어가게 됩니다. 눈치 빠르신 분들은 아시겠지만 50 E0은 아까 아래 방향키의 키 값인 E0_50을 의미하고 48 E0은 위 방향키의 키 값인 E0_48을 의미합니다. 즉, 앞 쪽은 4자리는 바꿀 키 값을 뒤에 4자리는 원래 키 값을 의미합니다. 다 거꾸로 바뀌었죠? 이 점만 유의하시면 됩니다. 다 바꿔! 바꿔! 아 흥분 그만하고.. 마지막 00 00 00 00 은 나 이제 힘드니깐 그만 할래 라는 의미입니다. 즉, 이 이진값의 끝을 알려주는 녀석이예요. 꼭 있어야겠죠?

정리해서 풀어보자면 다음과 같습니다.

00 00 00 00 00 00 00 00 → 나 키 맵핑 시작할께
02 00 00 00 → 나 한 개만 등록할래
50 E0 48 E0 → 나 위 방향키를 아래 방향키로 바꿀께
00 00 00 00 → 힘들다~ 이제 그만 등록할래

어떠신가요?  이해가 잘 되시나요? 이제 간단하게 끝낼 프로그램 소개를 밑도 끝도 없이 길게 늘어놓기는 이만 끝내도록 하겠습니다. 그럼 알기 쉽게 설명되었으면 하는 자그마한 소망과 함께 긴 글 읽어주신 모든 분들께 감사의 인사을 드립니다. ^^

Post Script . . .

아쉽게도 Pause Break Key는 맵핑 할 수가 없답니다. 그리고 노트북/넷북의 Fn Key 역시 맵핑이 안 됩니다. 이 점 유의하세요. Pause Break Keys는 뭔가 할당해야 하는 문제가 있어서 강제로 할 수는 있는데 이래저래 문제가 있는 것 같더라고요. 그래서 이러한 프로그램에서도 지원하지 않나봅니다. 그리고 노트북의 Fn Key는 HW 적인 녀석이라 SW적인 레지로 수정 할 수 없답니다. 아.. 혹시나 해서 키보드 맵핑표 하나 올립니다. MS에서 발표한 윈도우 내 Key Mapping 관련 표예요. 참고하시면 될 듯 싶네요. ^^