본문 바로가기
Apple Desktop Bus Keyboard Controller - 추가 원 소스제작자에게 USB 고속 디바이스로 할 경우 키가 여러번 찍히는 현상을 제보(?)하였고, 그것이 OSX에서만 나타나는 문제임을 알려줬었습니다. 또한 Interrupt handling에서 그러한 문제가 생기는 듯 한 것으로 보고를 했었는데 오늘 원 제작자가 해결책(?)을 제시 했습니다. Windows/OSX가 다르게 반응하는 이유는 OSX의 경우 HID SET_IDLE(24ms)를 요청하는 반명 Windows는 HID SET_IDLE(0ms)를 요청합니다. 그런데 재미있는 것은 Apple Keyboard(즉 Vendor ID가 Apple 0x05AC)인 경우는 HID SET_IDLE(0ms)를 요청한다는 것입니다. 그래서 Vendor ID를 Apple것으로 바꿀 경우 키가 여러번 찍히는 문제가 없어집.. 2011. 3. 8.
Keyboard Controller for Apple Desktop Bus Keyboard (IIgs) - 4 나중에 따로 쓰겠지만, 일단 맥에서 키가 여러번 눌리는 문제를 95%정도 없앴습니다. 그리고 이번에는 커넥터를 만들어 넣었습니다. 얇은 USB 케이블을 넣어 써도 되지만, 그럴 경우 안에서 케이블이 빠지면 대책이 없기 때문입니다. 우선 후보는 USB Type A/B, 그리고 DIN 4(ADB에 사용되는 것)이었습니다. • USB A는 폭이 너무 넓어서 케이블을 꼽을 수가 없어서 탈락 • USB B는 길이가 너무 길어서 내장을 할 수 없습니다. IIgs의 경우 안에 철로 된 보강판이 있는데, 이 것이 방해가 됩니다. • USB A/B는 사실 기판에 지지도 안되는 문제가 있었기 때문에 DIN 4커넥터를 활용해 볼까 하다가 핀이 안맞아서 불가능합니다. 결국 가능한 커넥터는 USB Mini-B(Mini-A는 케.. 2011. 2. 24.
Keyboard Controller for Apple Desktop Bus Keyboard (IIgs) - 3 지난 편에서 일반키 + 숫자키가 동작까지 완성했습니다. 오늘은 특수키(Modifier라고 합니다.)까지 동작하게 하였습니다. 현재의 대부분 키보드는 이 modifier key들도 key matrix안에 포함이 되어있습니다만, Apple Desktop Bus Keyboard(이하 IIgs)에서는 SHIFT/CONTROL/OPTION/COMMAND/CAPSLOCK/POWER 키가 matrix에 포함이 되어있지 않고 전용 PIN을 가지고 있습니다. 제가 사용하고 있는 소스에서는 모든 키가 matrix안에 있다고 가정을 하기 때문에 수정하는데에 있어서 어려움이 있었습니다. 이 문제는 modifier key들로만 이루어진 싱글 로우/4bit 컬럼이 따로 있는 것처럼 하여 작업을 하였습니다. 물론 이로 인해서 기존.. 2011. 2. 22.