📄 keyboard.lis
字号:
710 0297 27 .byte 39
711 0298 43 .byte 67
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001908.s page 13
712 0299 45 .byte 69
713 029a 44 .byte 68
714 029b 4E .byte 78
715 029c 4D .byte 77
716 029d 46 .byte 70
717 029e 00 .byte 0
718 029f 36 .byte 54
719 02a0 14 .byte 20
720 02a1 1A .byte 26
721 02a2 08 .byte 8
722 02a3 15 .byte 21
723 02a4 18 .byte 24
724 02a5 0C .byte 12
725 02a6 12 .byte 18
726 02a7 13 .byte 19
727 02a8 00 .byte 0
728 02a9 00 .byte 0
729 02aa 00 .byte 0
730 02ab E0 .byte 224
731 02ac E7 .byte 231
732 02ad 47 .byte 71
733 02ae 6F .byte 111
734 02af 2F .byte 47
735 02b0 2B .byte 43
736 02b1 39 .byte 57
737 02b2 3C .byte 60
738 02b3 17 .byte 23
739 02b4 1C .byte 28
740 02b5 30 .byte 48
741 02b6 40 .byte 64
742 02b7 2F .byte 47
743 02b8 2A .byte 42
744 02b9 00 .byte 0
745 02ba 00 .byte 0
746 02bb 00 .byte 0
747 02bc 00 .byte 0
748 02bd 00 .byte 0
749 02be E1 .byte 225
750 02bf 2C .byte 44
751 02c0 04 .byte 4
752 02c1 16 .byte 22
753 02c2 07 .byte 7
754 02c3 09 .byte 9
755 02c4 0D .byte 13
756 02c5 0E .byte 14
757 02c6 0F .byte 15
758 02c7 33 .byte 51
759 02c8 00 .byte 0
760 02c9 00 .byte 0
761 02ca 00 .byte 0
762 02cb E3 .byte 227
763 02cc 00 .byte 0
764 02cd 00 .byte 0
765 02ce 71 .byte 113
766 02cf 15 .byte 21
767 02d0 29 .byte 41
768 02d1 64 .byte 100
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001908.s page 14
769 02d2 3D .byte 61
770 02d3 0A .byte 10
771 02d4 0B .byte 11
772 02d5 3F .byte 63
773 02d6 00 .byte 0
774 02d7 34 .byte 52
775 02d8 3E .byte 62
776 02d9 00 .byte 0
777 02da 00 .byte 0
778 02db 00 .byte 0
779 02dc 52 .byte 82
780 02dd E2 .byte 226
781 02de 72 .byte 114
782 02df 08 .byte 8
783 02e0 1D .byte 29
784 02e1 1B .byte 27
785 02e2 06 .byte 6
786 02e3 19 .byte 25
787 02e4 10 .byte 16
788 02e5 36 .byte 54
789 02e6 37 .byte 55
790 02e7 31 .byte 49
791 02e8 28 .byte 40
792 02e9 00 .byte 0
793 02ea 48 .byte 72
794 02eb 00 .byte 0
795 02ec 4C .byte 76
796 02ed 70 .byte 112
797 02ee E5 .byte 229
798 02ef 00 .byte 0
799 02f0 00 .byte 0
800 02f1 00 .byte 0
801 02f2 6C .byte 108
802 02f3 05 .byte 5
803 02f4 11 .byte 17
804 02f5 00 .byte 0
805 02f6 00 .byte 0
806 02f7 2D .byte 45
807 02f8 2C .byte 44
808 02f9 4F .byte 79
809 02fa 51 .byte 81
810 02fb 00 .byte 0
811 02fc 50 .byte 80
812 02fd E6 .byte 230
813 02fe 73 .byte 115
814 02ff 00 .byte 0
815
816 .section .text
818
819 .desc kbd_rollover, near
820 .proc kbd_rollover
821 kbd_rollover:
822 .Ltext0:
1:../src/keyboard.c **** #include <cpu.h>
2:../src/keyboard.c **** #include <usb.h>
3:../src/keyboard.c ****
4:../src/keyboard.c **** /* Esc, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PrtScr */
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001908.s page 15
5:../src/keyboard.c **** #define KESC 0x29
6:../src/keyboard.c **** #define KF1 0x3A
7:../src/keyboard.c **** #define KF2 0x3B
8:../src/keyboard.c **** #define KF3 0x3C
9:../src/keyboard.c **** #define KF4 0x3D
10:../src/keyboard.c **** #define KF5 0x3E
11:../src/keyboard.c **** #define KF6 0x3F
12:../src/keyboard.c **** #define KF7 0x40
13:../src/keyboard.c **** #define KF8 0x41
14:../src/keyboard.c **** #define KF9 0x42
15:../src/keyboard.c **** #define KF10 0x43
16:../src/keyboard.c **** #define KF11 0x44
17:../src/keyboard.c **** #define KF12 0x45
18:../src/keyboard.c **** #define KPSC 0x46
19:../src/keyboard.c **** #define KF19 0x6E
20:../src/keyboard.c **** #define KB4 0x33
21:../src/keyboard.c **** /* ~, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, BS */
22:../src/keyboard.c **** #define KTLD 0x35
23:../src/keyboard.c **** #define K1 0x1E
24:../src/keyboard.c **** #define K2 0x1F
25:../src/keyboard.c **** #define K3 0x20
26:../src/keyboard.c **** #define K4 0x21
27:../src/keyboard.c **** #define K5 0x22
28:../src/keyboard.c **** #define K6 0x23
29:../src/keyboard.c **** #define K7 0x24
30:../src/keyboard.c **** #define K8 0x25
31:../src/keyboard.c **** #define K9 0x26
32:../src/keyboard.c **** #define K0 0x27
33:../src/keyboard.c **** #define KMIN 0x2D
34:../src/keyboard.c **** #define KEQ 0x2E
35:../src/keyboard.c **** #define KBSP 0x2A
36:../src/keyboard.c **** #define KF20 0x6F
37:../src/keyboard.c **** #define KB3 0x2F
38:../src/keyboard.c **** /* TAB, q, w, e, r, t, y, u, i, o, p, [, ], \ */
39:../src/keyboard.c **** #define KTAB 0x2B
40:../src/keyboard.c **** #define KQ 0x14
41:../src/keyboard.c **** #define KW 0x1A
42:../src/keyboard.c **** #define KE 0x08
43:../src/keyboard.c **** #define KR 0x15
44:../src/keyboard.c **** #define KT 0x17
45:../src/keyboard.c **** #define KY 0x1C
46:../src/keyboard.c **** #define KU 0x18
47:../src/keyboard.c **** #define KI 0x0C
48:../src/keyboard.c **** #define KO 0x12
49:../src/keyboard.c **** #define KP 0x13
50:../src/keyboard.c **** #define KLBR 0x2F
51:../src/keyboard.c **** #define KRBR 0x30
52:../src/keyboard.c **** #define KBSL 0x31
53:../src/keyboard.c **** #define KEU1 0x32
54:../src/keyboard.c **** #define KEU2 0x64
55:../src/keyboard.c **** #define KF21 0x70
56:../src/keyboard.c **** #define KB6 0x36
57:../src/keyboard.c **** /* Caps, a, s, d, f, g, h, j, k, l, ;, ', Enter, RShift */
58:../src/keyboard.c **** #define KCAP 0x39
59:../src/keyboard.c **** #define KA 0x04
60:../src/keyboard.c **** #define KS 0x16
61:../src/keyboard.c **** #define KD 0x07
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001908.s page 16
62:../src/keyboard.c **** #define KF 0x09
63:../src/keyboard.c **** #define KG 0x0A
64:../src/keyboard.c **** #define KH 0x0B
65:../src/keyboard.c **** #define KJ 0x0D
66:../src/keyboard.c **** #define KK 0x0E
67:../src/keyboard.c **** #define KL 0x0F
68:../src/keyboard.c **** #define KSEM 0x33
69:../src/keyboard.c **** #define KQUO 0x34
70:../src/keyboard.c **** #define KENT 0x28
71:../src/keyboard.c **** #define KRSH 0xE5
72:../src/keyboard.c **** #define KF22 0x71
73:../src/keyboard.c **** #define KB5 0x2C
74:../src/keyboard.c **** /* LShift, z, x, c, v, b, n, m, ,, ., /, ArrUp, PgDwn, End */
75:../src/keyboard.c **** #define KLSH 0xE1
76:../src/keyboard.c **** #define KZ 0x1D
77:../src/keyboard.c **** #define KX 0x1B
78:../src/keyboard.c **** #define KC 0x06
79:../src/keyboard.c **** #define KV 0x19
80:../src/keyboard.c **** #define KB 0x05
81:../src/keyboard.c **** #define KN 0x11
82:../src/keyboard.c **** #define KM 0x10
83:../src/keyboard.c **** #define KLES 0x36
84:../src/keyboard.c **** #define KGTR 0x37
85:../src/keyboard.c **** #define KQMR 0x38
86:../src/keyboard.c **** #define KUAR 0x52
87:../src/keyboard.c **** #define KPDN 0x4E
88:../src/keyboard.c **** #define KEND 0x4D
89:../src/keyboard.c **** #define KF23 0x72
90:../src/keyboard.c **** #define KB2 0x08
91:../src/keyboard.c **** /* Ctrl, L1( F17), L2 (LGui), LAlt, Space, RAlt, R1( RGui), R2( App), Ins, Del, PgUp, NumLock( F16)
92:../src/keyboard.c **** #define KLCT 0xE0
93:../src/keyboard.c **** #define KRCT 0xE4
94:../src/keyboard.c **** #define KL1 0x6C
95:../src/keyboard.c **** #define KL2 0xE3
96:../src/keyboard.c **** #define KLAL 0xE2
97:../src/keyboard.c **** #define KSPC 0x2C
98:../src/keyboard.c **** #define KRAL 0xE6
99:../src/keyboard.c **** #define KR1 0xE7
100:../src/keyboard.c **** #define KR2 0x65
101:../src/keyboard.c **** #define KINS 0x49
102:../src/keyboard.c **** #define KDEL 0x4C
103:../src/keyboard.c **** #define KPUP 0x4B
104:../src/keyboard.c **** #define KNLC 0x6B
105:../src/keyboard.c **** #define KBRK 0x48
106:../src/keyboard.c **** #define KSLC 0x47
107:../src/keyboard.c **** #define KF24 0x73
108:../src/keyboard.c **** #define KB1 0x15
109:../src/keyboard.c **** /* ArrLeft, ArrDown, ArrRight, ... */
110:../src/keyboard.c **** #define KLAR 0x50
111:../src/keyboard.c **** #define KDAR 0x51
112:../src/keyboard.c **** #define KRAR 0x4F
113:../src/keyboard.c ****
114:../src/keyboard.c **** /* ..., Home, ... */
115:../src/keyboard.c **** #define KNUL 0x00
116:../src/keyboard.c **** #define KHOM 0x4A
117:../src/keyboard.c ****
118:../src/keyboard.c **** #pragma register_file EP2TxAddr 16
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001908.s page 17
119:../src/keyboard.c **** extern volatile void *EP2TxAddr ;
120:../src/keyboard.c **** #pragma register_file EP2TxCount 18
121:../src/keyboard.c **** extern volatile WORD EP2TxCount ;
122:../src/keyboard.c **** #pragma register_file EP2RxAddr 20
123:../src/keyboard.c **** extern volatile void *EP2RxAddr ;
124:../src/keyboard.c **** #pragma register_file EP2RxCount 22
125:../src/keyboard.c **** extern volatile WORD EP2RxCount ;
126:../src/keyboard.c **** #pragma register_file EP3TxAddr 24
127:../src/keyboard.c **** extern volatile void *EP3TxAddr ;
128:../src/keyboard.c **** #pragma register_file EP3TxCount 26
129:../src/keyboard.c **** extern volatile WORD EP3TxCount ;
130:../src/keyboard.c **** //#pragma register_file EP3RxAddr 28
131:../src/keyboard.c **** //extern volatile void *EP3RxAddr ;
132:../src/keyboard.c **** //#pragma register_file EP3RxCount 30
133:../src/keyboard.c **** //extern volatile WORD EP3RxCount ;
134:../src/keyboard.c ****
135:../src/keyboard.c **** typedef const unsigned char keymap[ 8][ 16] ;
136:../src/keyboard.c ****
137:../src/keyboard.c **** keymap scancode[ 6] = {
138:../src/keyboard.c **** { /* USB European */
139:../src/keyboard.c **** { KTLD, KF1, KF2, K5, K6, KEQ, KF8, KMIN, KF9, KR2, KINS, KPUP, KHOM, KNUL, KF19, KB4},
140:../src/keyboard.c ****
141:../src/keyboard.c **** { K1, K2, K3, K4, K7, K8, K9, K0, KF10, KF12, KF11, KPDN, KEND, KPSC, KNUL, KB6},
142:../src/keyboard.c ****
143:../src/keyboard.c **** { KQ, KW, KE, KR, KU, KI, KO, KP, KNUL, KNUL, KNUL, KLCT, KR1, KSLC, KF20, KB3},
144:../src/keyboard.c ****
145:../src/keyboard.c **** { KTAB, KCAP, KF3, KT, KY, KRBR, KF7, KLBR, KBSP, KNUL, KNUL, KNUL, KNUL, KNUL, KLSH, KB5},
146:../src/keyboard.c ****
147:../src/keyboard.c **** { KA, KS, KD, KF, KJ, KK, KL, KSEM, KNUL, KNUL, KNUL, KL2, KNUL, KNUL, KF22, KB1},
148:../src/keyboard.c ****
149:../src/keyboard.c **** { KESC, KEU2, KF4, KG, KH, KF6, KNUL, KQUO, KF5, KNUL, KNUL, KNUL, KUAR, KLAL, KF23, KB2},
150:../src/keyboard.c ****
151:../src/keyboard.c **** { KZ, KX, KC, KV, KM, KLES, KGTR, KEU1, KENT, KNUL, KBRK, KNUL, KDEL, KF21, KRSH, KNUL},
152:../src/keyboard.c ****
153:../src/keyboard.c **** { KNUL, KNUL, KL1, KB, KN, KNUL, KNUL, KQMR, KSPC, KRAR, KDAR, KNUL, KLAR, KRAL, KF24, KNUL}
154:../src/keyboard.c **** },
155:../src/keyboard.c **** { /* UK -> US */
156:../src/keyboard.c **** { KTLD, KF1, KF2, K5, K6, KEQ, KF8, KMIN, KF9, KR2, KINS, KPUP, KHOM, KNUL, KF19, KB4},
157:../src/keyboard.c ****
158:../src/keyboard.c **** { K1, K2, K3, K4, K7, K8, K9, K0, KF10, KF12, KF11, KPDN, KEND, KPSC, KNUL, KB6},
159:../src/keyboard.c ****
160:../src/keyboard.c **** { KQ, KW, KE, KR, KU, KI, KO, KP, KNUL, KNUL, KNUL, KLCT, KR1, KSLC, KF20, KB3},
161:../src/keyboard.c ****
162:../src/keyboard.c **** { KTAB, KCAP, KF3, KT, KY, KRBR, KF7, KLBR, KBSP, KNUL, KNUL, KNUL, KNUL, KNUL, KLSH, KB5},
163:../src/keyboard.c ****
164:../src/keyboard.c **** { KA, KS, KD, KF, KJ, KK, KL, KSEM, KNUL, KNUL, KNUL, KL2, KNUL, KNUL, KF22, KB1},
165:../src/keyboard.c ****
166:../src/keyboard.c **** { KESC, KBSL, KF4, KG, KH, KF6, KNUL, KQUO, KF5, KNUL, KNUL, KNUL, KUAR, KLAL, KF23, KB2},
167:../src/keyboard.c ****
168:../src/keyboard.c **** { KZ, KX, KC, KV, KM, KLES, KGTR, KEU2, KENT, KNUL, KBRK, KNUL, KDEL, KF21, KRSH, KNUL},
169:../src/keyboard.c ****
170:../src/keyboard.c **** { KNUL, KNUL, KL1, KB, KN, KNUL, KNUL, KQMR, KSPC, KRAR, KDAR, KNUL, KLAR, KRAL, KF24, KNUL}
171:../src/keyboard.c **** },
172:../src/keyboard.c **** { /* GE -> US */
173:../src/keyboard.c **** { KTLD, KF1, KF2, K5, K6, KEQ, KF8, KQMR, KF9, KR2, KINS, KPUP, KHOM, KNUL, KF19, KB4},
174:../src/keyboard.c ****
175:../src/keyboard.c **** { K1, K2, K3, K4, K7, K8, K9, K0, KF10, KF12, KF11, KPDN, KEND, KPSC, KNUL, KB6},
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001908.s page 18
176:../src/keyboard.c ****
177:../src/keyboard.c **** { KQ, KW, KE, KR, KU, KI, KO, KP, KNUL, KNUL, KNUL, KLCT, KR1, KSLC, KF20, KB3},
178:../src/keyboard.c ****
179:../src/keyboard.c **** { KTAB, KCAP, KF3, KT, KZ, KRBR, KF7, KLBR, KBSP, KNUL, KNUL, KNUL, KNUL, KNUL, KLSH, KB5},
180:../src/keyboard.c ****
181:../src/keyboard.c **** { KA, KS, KD, KF, KJ, KK, KL, KSEM, KNUL, KNUL, KNUL, KL2, KNUL, KNUL, KF22, KB1},
182:../src/keyboard.c ****
183:../src/keyboard.c **** { KESC, KEU2, KF4, KG, KH, KF6, KNUL, KQUO, KF5, KNUL, KNUL, KNUL, KUAR, KLAL, KF23, KB2},
184:../src/keyboard.c ****
185:../src/keyboard.c **** { KY, KX, KC, KV, KM, KLES, KGTR, KBSL /* KEU1 */, KENT, KNUL, KBRK, KNUL, KDEL, KF21, KRSH, KNUL}
186:../src/keyboard.c ****
187:../src/keyboard.c **** { KNUL, KNUL, KL1, KB, KN, KNUL, KNUL, KMIN, KSPC, KRAR, KDAR, KNUL, KLAR, KRAL, KF24, KNUL}
188:../src/keyboard.c **** },
189:../src/keyboard.c **** { /* FR -> US */
190:../src/keyboard.c **** { KTLD, KF1, KF2, K5, K6, KEQ, KF8, KMIN, KF9, KR2, KINS, KPUP, KHOM, KNUL, KF19, KB4},
191:../src/keyboard.c ****
192:../src/keyboard.c **** { K1, K2, K3, K4, K7, K8, K9, K0, KF10, KF12, KF11, KPDN, KEND, KPSC, KNUL, KB6},
193:../src/keyboard.c ****
194:../src/keyboard.c **** { KA, KZ, KE, KR, KU, KI, KO, KP, KNUL, KNUL, KNUL, KLCT, KR1, KSLC, KF20, KB3},
195:../src/keyboard.c ****
196:../src/keyboard.c **** { KTAB, KCAP, KF3, KT, KY, KRBR, KF7, KLBR, KBSP, KNUL, KNUL, KNUL, KNUL, KNUL, KLSH, KB5},
197:../src/keyboard.c ****
198:../src/keyboard.c **** { KQ, KS, KD, KF, KJ, KK, KL, KM, KNUL, KNUL, KNUL, KL2, KNUL, KNUL, KF22, KB1},
199:../src/keyboard.c ****
200:../src/keyboard.c **** { KESC, KEU2, KF4, KG, KH, KF6, KNUL, KQUO, KF5, KNUL, KNUL, KNUL, KUAR, KLAL, KF23, KB2},
201:../src/keyboard.c ****
202:../src/keyboard.c **** { KW, KX, KC, KV, KLES, KSEM, KGTR, KBSL /* KEU1 */, KENT, KNUL, KBRK, KNUL, KDEL, KF21, KRSH, KNU
203:../src/keyboard.c ****
204:../src/keyboard.c **** { KNUL, KNUL, KL1, KB, KN, KNUL, KNUL, KQMR, KSPC, KRAR, KDAR, KNUL, KLAR, KRAL, KF24, KNUL}
205:../src/keyboard.c **** },
206:../src/keyboard.c **** { /* IT -> US */
207:../src/keyboard.c **** { KBSL, KF1, KF2, K5, K6, KEQ, KF8, KQMR, KF9, KR2, KINS, KPUP, KHOM, KNUL, KF19, KB4},
208:../src/keyboard.c ****
209:../src/keyboard.c **** { K1, K2, K3, K4, K7, K8, K9, K0, KF10, KF12, KF11, KPDN, KEND, KPSC, KNUL, KB6},
210:../src/keyboard.c ****
211:../src/keyboard.c **** { KQ, KW, KE, KR, KU, KI, KO, KP, KNUL, KNUL, KNUL, KLCT, KR1, KSLC, KF20, KB3},
212:../src/keyboard.c ****
213:../src/keyboard.c **** { KTAB, KCAP, KF3, KT, KY, KRBR, KF7, KLBR, KBSP, KNUL, KNUL, KNUL, KNUL, KNUL, KLSH, KB5},
214:../src/keyboard.c ****
215:../src/keyboard.c **** { KA, KS, KD, KF, KJ, KK, KL, KSEM, KNUL, KNUL, KNUL, KL2, KNUL, KNUL, KF22, KB1},
216:../src/keyboard.c ****
217:../src/keyboard.c **** { KESC, KEU2, KF4, KG, KH, KF6, KNUL, KQUO, KF5, KNUL, KNUL, KNUL, KUAR, KLAL, KF23, KB2},
218:../src/keyboard.c ****
219:../src/keyboard.c **** { KZ, KX, KC, KV, KM, KLES, KGTR, KTLD /* KEU1 */, KENT, KNUL, KBRK, KNUL, KDEL, KF21, KRSH, KNUL}
220:../src/keyboard.c ****
221:../src/keyboard.c **** { KNUL, KNUL, KL1, KB, KN, KNUL, KNUL, KMIN, KSPC, KRAR, KDAR, KNUL, KLAR, KRAL, KF24, KNUL}
222:../src/keyboard.c **** },
223:../src/keyboard.c **** { /* SP -> US */
224:../src/keyboard.c **** { KTLD, KF1, KF2, K5, K6, KEQ, KF8, KQMR, KF9, KR2, KINS, KPUP, KHOM, KNUL, KF19, KB4},
225:../src/keyboard.c ****
226:../src/keyboard.c **** { K1, K2, K3, K4, K7, K8, K9, K0, KF10, KF12, KF11, KPDN, KEND, KPSC, KNUL, KB6},
227:../src/keyboard.c ****
228:../src/keyboard.c **** { KQ, KW, KE, KR, KU, KI, KO, KP, KNUL, KNUL, KNUL, KLCT, KR1, KSLC, KF20, KB3},
229:../src/keyboard.c ****
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -