얼마전에 84키, 75% 사이즈의 키보드를 샀습니다.
일단 써보고 리뷰를 적어보려고 하는데... 지금 까지는 상당히 만족스럽습니다.
근데 말이죠,
저처럼 변태 키보드 레이아웃을 쓰신다면
키보드 키 레이아웃이 마음에 안들때가 있습니다.
일단 지금 키보드에서 home ~ Page dn 키가
del - home - pgup - pgdn - end
이렇게 배열되어있는데요,
이걸
del - home - end - pgup - pgdn 바꾸고 싶더군요
home, end를 묶고, pgup, pgdn을 묶는식으로 말이죠
일단 샤프키라는 프로그램을 써볼려 했는데,
별도의 프로그램말고 레지스트리를 변경해서 키맵핑을 할 수 있다해서 일단 이걸 먼저 사용해봤습니다.
레지스트리에 Scancode Map 를 추가해서 키맵핑을 바꾸는 방법입니다
1. 먼저 시작버튼 우클릭 - 실행 - regedit 으로 레지스트리 편집기를 켜주고
2. 레지스트리 편집기에서
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
의 경로로 이동해줍니다.
3. 여기서 마우스 우클릭 - 새로 만들기 - 이진값 을 선택해주시고, 이름을 Scancode Map 으로 바꿔줍니다.
4.
여기서 부터는 조금 익숙치 않을수 있는데요 한번 해보면 쉽습니다. 그저 익숙치 않아서 낮설뿐입니다.
간단히 설명하자면 이렇습니다.
각 키보드의 키는 이진값을 가지고 있습니다 → 키보드의 A라는 키의 이진값에 → B라는 이진값을 넣습니다
라고 해주면 끝입니다. 간단하지요?
그럼 제가 바꾸려는걸로 작성 예제를 보도록 하겠습니다.
5.
일단 준비물 하나가 필요한데요
저는 아래와 같이 키를 바꾸려 합니다.
PG UP → END
PG DN → PG UP
END → PG DN
이렇게 말이죠, 그렇다면 일단 3개의 키에대한 이진값을 알아야 합니다.
(KP는 키패드의 약자?같은데 풀배열 키보드의 숫자패드를 가르킵니다.)
위 이진값 사진에 따르면
PG UP( 49 E0 ), PG DN ( 51 E0 ), END( 4F E0 ) 입니다.
위 표와, 자신이 바꾸고자 하는 키의 이진값을 준비했다면 준비 완료입니다.
*위 표로 이진값을 알기 어려우시다면 맨 아래의 프로그램을 이용해서 이진값을 알 수 있습니다.
6.
자, 이제 바꿔보도록 하겠습니다.
일단 바꾼 결과 부터 보신다면
이러합니다
(1) 첫줄엔 00 00 00 00 00 00 00 00 으로 가득 적어주시고
(2) 그담에 04 00 00 00 을 적습니다. 이건 3개의 키에 대해 키값을 변경하겠다는 의미 입니다.
( 1개면 맨 앞을 02, 2개면 03, 3개면 04 이런식으로..)
(3) 그다음 부터 위 준비했던 2진값으로 바꾸는데,
4F E0 49 E0 는 4F E0(END 키)를 49 E0(PG UP) 키에 할당한다는 뜻입니다.
※
아마 Scancode Map 으로 검색해서 나오는 블로그나 자료들을 보신다면
이게 반대로 되어있다는걸 아실껍니다.
윈도우 11이라서 그런지, 키보드가 풀배열이 아니라 그런지는 모르겠는데,
입력하는 방법을 반대로 해야 제대로 키가 할당 되었습니다.
혹시나 제가 적은 방법대로 했을 때 키 맵핑이 이상하게 된다면,
반대로 (가령 위 예제라면 4F E0 49 E0 → 49 E0 4F E0 이렇게) 해보시는걸 권해드립니다
(4)
그리고 마지막 4칸에는 00 00 00 00 을 넣어줍니다.
첫번째 8칸이랑 마지막 4칸에 00을 채워넣는건 그냥 넣어야 한다고 하더군요
이러고 재부팅 하시면 키 맵핑이 바뀌더군요!
일단 별도의 프로그램을 안쓰는 방식으로 했고, 나중에 되돌리려면 그냥 Scancode Map 을 지우면 되더군용
*
https://www.passmark.com/products/keytest/
passmark의 키보드 테스트 프로그램인데, 포터블에다가 30일 체험판이긴 합니다만 괜찮더군요
(기간 제한없는 포터블 버전으로 인터넷에 돌아다니는게 있긴하던데... 일단 공식버전은 이거입니다.)
이걸로 키 맵핑 확인하기도, 키보드 이진값도 알 수 있습니다
이진값은 위 스샷의 빨간 네모 부분입니다.
(사진에는 5B E0 이군요 (0x**의 값, E가 적혀있으면 E0, 아무것도 없으면 00 입니다))