이 전에 제작하던 adb to usb converter ( http://applefan.tistory.com/44 ) 에 문제가 있었습니다. 확실하진 않지만, 윈도우즈에서는
(Caps lock은 뭔가 잘못 되었는지 하고 보니 PWR키와 겹치는 군요. 나중에 다시 고쳐야 합니다. )
잘 동작하고 맥에서는 간간히 키가 여러번 눌리는 현상입니다.
선이 주렁주렁 달리는 것도 싫던차에 그냥 IIgs용 키보드 컨트롤러를 만들어 보기로 했습니다. 다행히 IIgs 컨트롤러와 Teensy++2.0과 핀 개수가 동일합니다.
우선 기존과 동일하게 Teensy++ 2.0을 사용할 것이고, 소스도 그 때 사용하던 소스에서 macway방식을 사용할 예정입니다.
지난번 소스를 보면 adb to usb converter/HHK 수정/macway 수정/PS2 to usb converter등등 여러 소스가 합쳐져있습니다.
우선 막무가내로 macway에서 컴파일을 하고 그냥 올려봤습니다. 뭐 예상했지만, 난리도 아닙니다. 지 멋대로 여러 키가 눌리는 것처럼 보이는군요. 바로 껐습니다. -_-;
키보드 컨트롤러를 심기위해서는 Keyboard Matrix 가 있어야 소스를 수정할 수 있습니다. 일종의 매핑 테이블입니다. 이걸 왜해야 하는지 우선 키보드 동작원리를 알아야 합니다.
다음은 키보드 매트릭스에 대한 참고글입니다. ( http://mmkeyboard.tistory.com/89 )
위 글에 대한 완벽한 이해는 필요가 없을 수는 있지만, 매트릭스에 대한 부분은 이해를 해야 기존 키보드에서 매트릭스를 얻어 낼 수 있습니다. 우선 기판을 살펴보겠습니다.
IIgs에는 각 키마다 번호가 적혀있습니다. 없는 경우는 매직으로 써 두는 것이 좋습니다. 굉장히 헷갈리는 과정입니다. 위 사진을 보면 납땜이 굉장히 많습니다만 실제로는 번호 위/옆에 있는 두개의 납땜만이 중요한 것이고 나머지는 신경 안써도 됩니다. 저 두개의 납땜이 하나는 row용이고 하나는 column용입니다.
매트릭스를 얻는 방법은 추후에 좀 더 설명을 하기로 하고, 우선 IIgs의 매트릭스는 다음과 같습니다.
|
|
C0 |
C1 |
C2 |
C3 |
C4 |
C5 |
C6 |
C7 |
||||||||
|
|
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
||||||||
R0 |
34 |
65 |
UP |
63 |
/ |
62 |
. |
46 |
l |
14 |
del |
13 |
= |
12 |
- |
11 |
0 |
R1 |
33 |
48 |
‘ |
47 |
; |
32 |
ENTER |
31 |
] |
30 |
[ |
29 |
p |
28 |
o |
27 |
i |
R2 |
32 |
36 |
NUM- |
35 |
NUM9 |
34 |
NUM8 |
33 |
NUM7 |
52 |
NUM+ |
51 |
NUM6 |
50 |
NUM5 |
49 |
NUM4 |
R3 |
31 |
1 |
ESC |
2 |
1 |
3 |
2 |
4 |
3 |
5 |
4 |
6 |
5 |
7 |
6 |
10 |
9 |
R4 |
30 |
18 |
NUM* |
17 |
NUM/ |
16 |
NUM= |
15 |
NUM_CLS |
69 |
NUM_ENTERN |
68 |
NUM3 |
67 |
NUM2 |
66 |
NUM1 |
R5 |
29 |
73 |
SPACE |
76 |
LEFT |
75 |
\ |
74 |
` |
80 |
NUM. |
78 |
DOWN |
79 |
NUM0 |
77 |
RIGHT |
R6 |
28 |
54 |
z |
55 |
x |
56 |
c |
57 |
v |
58 |
b |
59 |
n |
60 |
m |
61 |
, |
R7 |
27 |
38 |
a |
39 |
s |
40 |
d |
41 |
f |
42 |
g |
43 |
h |
44 |
j |
45 |
k |
R8 |
22 |
|
|
|
|
|
|
|
|
|
|
|
|
8 |
7 |
9 |
8 |
R9 |
21 |
19 |
tab |
20 |
q |
21 |
w |
22 |
e |
23 |
r |
24 |
t |
25 |
y |
26 |
u |
그리고 이러한 매트릭스를 쓰지 않는 키들이 있습니다.
SHIFT(37) |
B4 |
CNTRL(36) |
B3 |
CMD(24) |
F4 |
OPTION(23) |
F5 |
PWR(6) |
D3 |
CAP(6) |
D3? |
위에서 보면 알 수 있듯이 IIgs는 left/right SHIFT의 구별이 없습니다.
그런데 문제가 있습니다. 위 매트릭스와 Teensy의 핀배치를 보면 문제가 있습니다.
위 사진에서 보면 21-34 번핀을 ROW로 쓰고 12-19번 핀이 Column으로 사용됩니다. 그러나 Teensy++ 2.0에서는 30/29번이 다른 용도로 사용이 되고 있습니다. 이럴 경우 1:1로 쓸 수는 없고 pin 을 다르게 연결해줘야 합니다. IIgs를 전혀 손상시키지 않는 것이 목표이기 때문에 이에 대한 고민이 좀 필요합니다.
'Gadget' 카테고리의 다른 글
Keyboard Controller for Apple Desktop Bus Keyboard (IIgs) - 3 (0) | 2011.02.22 |
---|---|
Keyboard Controller for Apple Desktop Bus Keyboard (IIgs) - 2 (0) | 2011.02.21 |
ADB to USB converter (0) | 2011.02.11 |
New Apple Extended Keyboard II (0) | 2011.02.11 |
Apple II gs Keyboard수리 II (0) | 2011.01.24 |
댓글