본문 바로가기
Gadget

ADB to USB converter

by applefan 2011. 2. 11.
구형 애플 키보드를 쓰기 위해서는 iMate라는 ADB to USB converter가 필요합니다. 요즘에는 ADB단자가 없기 때문이죠. 
그러나 이 iMate도 구하기가 하늘의 별따기일뿐 아니라 가격도 싼게 40달러 정도 됩니다. 

그래서 어느 동호회에서는 AiKon이라는 키보드 컨트롤러를 공제해서 사용을 하기도 했었습니다만 그마저도 구하기가 쉽지 않습니다. 
그러던 중 해외사이트에서 USB 보드를 가지고 컨버터를 만든게 있어서 무작정 저도 해보았습니다. 


Teensy++ 2.0입니다. www.pjrc.com 에서 구매했습니다. 가격은 대략 20여달러 
소스코드는 오픈되어있고, 추가 부품도 회사에 있더군요. 뚝딱뚝딱 해서 만들어 연결했더니 정말 되더군요. : )

다만 원 소스코드상으로는 command  키와 option 키가 바뀌어 있고, debouncing 기능이 없는지 키가 어쩔 때에는 두세번씩 찍힙니다. 
일단은 된다는 것을 확인하였으니, 차후에 할 것은 debouncing 기능을 넣고, 키보드 매트릭스를 딴 후에 저 보드를 키보드 안에 내장을 하는 것입니다.  마침 IIgs에 들어가는 컨트롤러가 저 보드와 크기가 똑같더군요. 

다음 사이트에서 참고했습니다. 
http://geekhack.org/showwiki.php?title=Island:14290

수정부분은 다음과 같습니다. 
1.  adb/config.h
   #define ADB_PORT        PORTB
   #define ADB_PIN         PINB
   #define ADB_DDR         DDRB
   #define ADB_DATA_BIT    6
   #define ADB_PSW_BIT     5       // optional

위 사이트에서는 Teensy를 사용하였고, 저는 Teensy++를 사용하였습니다. 그런데 포트위치가 달라서 바꾼 것뿐입니다.
보드 위에 포트 이름이 써있기 때문에 거기에 맞춰서 PORT(포트이름)와 번호를 바꿔 주면 됩니다. 

2.  adb/Makefile도 고쳐줘야 합니다. 여기서 고칠 것을 어떤 보드를 쓸 것이냐입니다. 기본은 Teensy이니 Teensy앞에 #을 하나 붙여주고, Teensy++ 2.0에 있는 #을 지워 주면 됩니다. 


3. adb/keymap.c
이 소스의  원 제작자가 맥 키보드를 윈도우에서 쓰는 것이 목적이었기 때문에   과 Option키가  뒤집혀있습니다. 
위 파일에서  밑에쪽에베보면 KEYMAP( 으로 시작하는 부분이  있습니다. 마지막줄에 LGUI, LALT의 위치를  바꿔줘야 합니다.

그리고 adb디렉토리에서 make를 해주게 되면 hex 파일이 생성됩니다.  

P.S. 준비물
Teensy 2.0/Teensy++ 2.0  http://www.pjrc.com/teensy
문제점
1. ADB 케이블이 길 경우 인식이 안됩니다. 이해가 잘 안가는 부분이긴 합니다만, 30센티 미만의 ADB 케이블을 사용했을 경우 인식을 하는데, 
   그보다 긴 일반적인 ADB 케이블을 쓰면 인식을 못하는 문제가 있습니다. 
2. 키가 여러번 눌리는 문제가 있습니다. 이것은 키 스위치 문제가 아니고, 환경적인 요소로 보입니다. 해외 포럼에서는 잘 쓰고 있는 듯한 분위기인데, 저만 이런 것을 보면 뭔가 노이즈가 탄다거나 문제가 좀 있어 보입니다. 





댓글