묻고 답하고
전에 제목과 같은 장치를 어느 분이 직접 만드셔서 키보드매니아에 소개하셨던 것 같은데, 그때 제가 스크랩을 해두지 않아서 지금은 그게어딨는지 못 찾겠습니다.
그러니까, 어느 분이 간단한 장치를 하나 만드셨는데
- 키보드의 USB(USB로 기억하나, PS/2였을 수도 있음) 케이블을 그 장치에 연결하고,
그 장치를 PC의 USB(또는 PS/2)에 연결하는 방식으로 사용
- 키보드의 키 신호를 그 장치에서 받아서 미리 지정된 신호로 변경(key remap)
하는 겁니다.
흔히 키 배열을 바꿀 때에는 소프트웨어적 방법(윈도 레지스트리나 오토핫키 등)을 쓰거나 키보드 자체를 개조합니다만, 이 방법은 두 가지를 모두 회피하는 방식입니다.
혹시 이 글이 어디 있는지 아시는 분 계세요?
http://www.kbdmania.net/xe/4190603
PS/2 키보드라면 위의 컨버터를 사용하시면 됩니다. 다만 키맵을 바꾸려면 소스코드를 손봐야하는 번거로움이 있습니다. 컨버터도 직접 만들어야하고요.
USB 키보드용은 아직 만든 사람이 없는 것 같습니다. 필요한 하드웨어 및 부품은 쉽게 조달가능한데 펌웨어를 만들기가 수고스러운가봅니다.
케이맥이나 아이콘 컨트롤러 기반 커스텀 키보드는 자유롭게 키맵 변경이 가능하니 커스텀 키보드를 구하시는 것도 한가지 방법이 될 수 있습니다.
https://www.circuitsathome.com/mcu/hid-support-for-usb-host-shield-library-2-0-released#more-6562
이 하드웨어 및 모듈을 이용해서 geekhack의 hasu가 만들었군요.
http://deskthority.net/workshop-f7/is-remapping-a-usb-keyboard-using-teensy-possible-t2841-30.html#p74854
http://geekhack.org/index.php?topic=33057.msg653549#msg653549
세컨드 레이어는 지원하는지 잘 모르겠습니다만, 쉽게 가능하지 않을까 생각해봅니다.
이걸 찾으시는것 같긴한데....
http://www.kbdmania.net/xe/4190603