지난 회에서 쓴 문제점을 해결 한 것입니다.
Teensy++ 2.0에서는 Ref/GND로 되어있는 PIN을 Apple IIgs보드에서는 사용합니다. 그렇기 때문에 Ref/GND에 연결되는 IIgs PIN을 다른 사용하지 않는 PIN으로 Bypass하였습니다. 또한 PIN이 너무 길어 조립할 경우 뚜껑이 덮이지 않는 문제가 있어 PIN 길이를 절반만 남기고 다 잘라 냈습니다. 다음 그림을 보시죠.
우선 다음 그림은 이해를 돕기위해 기판의 사진을 좌/우로 바꾼 사진입니다.
외 사진에서 보면 Teensy++ 2.0의 31/30번 PIN은 Teensy++ 2.0보드 내에서 다른 용도로 사용하고 있습니다. 그리고 Apple IIgs 키보드 의 PCB에서는 Teensy++2.0의 26번과 7번에 해당하는 위치가 VDD/GND로 되어있습니다. 즉 이대로 연결 할 경우 Teensy의 26번은 항상 VDD로 될 것이고 7번은 항상 GND로 될 것입니다. 그래서 26/7번에서 올라가는 PIN을 없애고, 30/31번에서 올라가는 PIN을 Teensy에 연결하지 않고 7/26번으로 연결해줍니다.
정리를 하면
• Row 4에 사용되는 PIN(30번)이 Teensy++ 2.0에서는 GND로 잡혀있기 때문에 이를 D4로 Bypass( D4는 IIgs에서 GND로 사용됨)
• Row 5에 사용되는 PIN(29번)이 Teensy++ 2.0에서는 Ref로 잡혀 있기 때문에 이를 F2로 Bypass (F2는 IIgs에서 PWR로 사용됨)
사실 이전 글에서 쓴 matrix는 문제가 있었습니다. column의 bit 순서가 반대가 되어 다른 키가 눌리더군요. 한예를 들면 예전에는 "A"를 R7C0로 적어 놨었는데, 정작 A 를 누르니 R7C7이 눌리더군요. 그래서 잘 보니 bit가 역순으로 인식되게 세팅을 해 놓았더군요.
하여간..
tmk/macway/keymap.c에서 Matrix와 key들간의 mapping table을 수정하였습니다. 그리고 t.m.k.에서는 키보드 배열을 여러개 사용할 수 있게 되어있는데(layer) 지금은 하나만 남겨두고 다 지웠습니다.
결과적으로
• Key는 제대로 눌림 (단 matrix를 사용하지 않는 특수키는 제외.)
• Key를 한번 눌러도 여러번 눌리는 일이 다시 발생(adb to usb converter에서도 이런일이 발생.) 아마도 de-bouncing에 관련된 기능을 넣어야 할 것으로 보입니다 .(이유는 아직 모릅니다. )
이로써 절반은 성공을 하였습니다. : )
참고로 수정된 Key Matrix입니다.
|
|
C7 |
C6 |
C5 |
C4 |
C3 |
C2 |
C1 |
C0 |
||||||||
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R0(34) |
B1 |
|
Col7(19) |
C6 |
|
SHIFT(37) |
B4 |
R1(33) |
B0 |
|
Col6(18) |
C5 |
|
CNTRL(36) |
B3 |
R2(32) |
E7 |
|
Col5(17) |
C4 |
|
CMD(24) |
F4 |
R3(31) |
E6 |
|
Col4(16) |
C3 |
|
OPTION(23) |
F5 |
R4(30) |
GND |
D4 |
Col3(15) |
C2 |
|
PWR(6) |
? |
R5(29) |
AREF |
F2 |
Col2(14) |
C1 |
|
CAP(6) |
D3 |
R6(28) |
F0 |
|
Col1(13) |
C0 |
|
|
|
R7(27) |
F1 |
|
Col0(12) |
E1 |
|
|
|
R8(22) |
F6 |
|
|
|
|
|
|
R9(21) |
F7 |
|
|
|
|
|
|
'Gadget' 카테고리의 다른 글
Keyboard Controller for Apple Desktop Bus Keyboard (IIgs) - 4 (1) | 2011.02.24 |
---|---|
Keyboard Controller for Apple Desktop Bus Keyboard (IIgs) - 3 (0) | 2011.02.22 |
Keyboard Controller for Apple Desktop Bus Keyboard (IIgs) - 1 (0) | 2011.02.20 |
ADB to USB converter (0) | 2011.02.11 |
New Apple Extended Keyboard II (0) | 2011.02.11 |
댓글