|
|
1.1 root 1: /* (-lgl
2: * COHERENT Device Driver Kit version 1.2.0
3: * Copyright (c) 1982, 1991 by Mark Williams Company.
4: * All rights reserved. May not be copied without permission.
5: -lgl) */
6: /*
7: * kbscan.h: AT physical key number to "scan code set 3" mapping constants
8: *
9: * All key values are "make" codes. Equivalent "break" codes
10: * are prefixed by K_BREAK.
11: *
12: * See IBM AT keyboard technical reference for further details.
13: *
14: * Note: 83-key XT layout keyboards use scan codes
15: * K_14, K_65 through K_74, and K_107. These do not exist on
16: * 101- and 102-key AT keyboards.
17: *
18: * Version 1.2, 06/26/91
19: */
20: #ifndef __SYS_KBSCAN_H__
21: #define __SYS_KBSCAN_H__
22:
23: /* AT kbd scan code */
24: /* physical set 3 */
25: /* key # mapping */
26: /* ----- ------- */
27: #define K_1 0x0E
28: #define K_2 0x16
29: #define K_3 0x1E
30: #define K_4 0x26
31: #define K_5 0x25
32: #define K_6 0x2E
33: #define K_7 0x36
34: #define K_8 0x3D
35: #define K_9 0x3E
36: #define K_10 0x46
37: #define K_11 0x45
38: #define K_12 0x4E
39: #define K_13 0x55
40: /* key 14 undefined for 101- and 102-key AT layouts */
41: #define K_14 0x5D
42: #define K_15 0x66
43: #define K_16 0x0D
44: #define K_17 0x15
45: #define K_18 0x1D
46: #define K_19 0x24
47: #define K_20 0x2D
48: #define K_21 0x2C
49: #define K_22 0x35
50: #define K_23 0x3C
51: #define K_24 0x43
52: #define K_25 0x44
53: #define K_26 0x4D
54: #define K_27 0x54
55: #define K_28 0x5B
56: #define K_29 0x5C /* 101-key keyboard only */
57: #define K_30 0x14
58: #define K_31 0x1C
59: #define K_32 0x1B
60: #define K_33 0x23
61: #define K_34 0x2B
62: #define K_35 0x34
63: #define K_36 0x33
64: #define K_37 0x3B
65: #define K_38 0x42
66: #define K_39 0x4B
67: #define K_40 0x4C
68: #define K_41 0x52
69: #define K_42 0x53 /* 102-key keyboard only */
70: #define K_43 0x5A
71: #define K_44 0x12
72: #define K_45 0x13 /* 102-key keyboard only */
73: #define K_46 0x1A
74: #define K_47 0x22
75: #define K_48 0x21
76: #define K_49 0x2A
77: #define K_50 0x32
78: #define K_51 0x31
79: #define K_52 0x3A
80: #define K_53 0x41
81: #define K_54 0x49
82: #define K_55 0x4A
83: /* key 56 undefined */
84: #define K_57 0x59
85: #define K_58 0x11
86: /* key 59 undefined */
87: #define K_60 0x19
88: #define K_61 0x29
89: #define K_62 0x39
90: /* key 63 undefined */
91: #define K_64 0x58
92: /* keys 65 through 74 undefined for 101- and 102-key AT layouts */
93: #define K_65 0x06
94: #define K_66 0x0C
95: #define K_67 0x0B
96: #define K_68 0x0A
97: #define K_69 0x09
98: #define K_70 0x05
99: #define K_71 0x04
100: #define K_72 0x03
101: #define K_73 0x83
102: #define K_74 0x01
103: #define K_75 0x67
104: #define K_76 0x64
105: /* keys 77 and 78 undefined */
106: #define K_79 0x61
107: #define K_80 0x6E
108: #define K_81 0x65
109: /* key 82 undefined */
110: #define K_83 0x63
111: #define K_84 0x60
112: #define K_85 0x6F
113: #define K_86 0x6D
114: /* keys 87 and 88 undefined */
115: #define K_89 0x6A
116: #define K_90 0x76
117: #define K_91 0x6C
118: #define K_92 0x6B
119: #define K_93 0x69
120: /* key 94 undefined */
121: #define K_95 0x77
122: #define K_96 0x75
123: #define K_97 0x73
124: #define K_98 0x72
125: #define K_99 0x70
126: #define K_100 0x7E
127: #define K_101 0x7D
128: #define K_102 0x74
129: #define K_103 0x7A
130: #define K_104 0x71
131: #define K_105 0x84
132: #define K_106 0x7C
133: /* key 107 undefined for 101- and 102-key AT layouts */
134: #define K_107 0x7B /* on right hand side of num. keypad */
135: #define K_108 0x79
136: /* key 109 undefined */
137: #define K_110 0x08
138: /* key 111 undefined */
139: #define K_112 0x07
140: #define K_113 0x0F
141: #define K_114 0x17
142: #define K_115 0x1F
143: #define K_116 0x27
144: #define K_117 0x2F
145: #define K_118 0x37
146: #define K_119 0x3F
147: #define K_120 0x47
148: #define K_121 0x4F
149: #define K_122 0x56
150: #define K_123 0x5E
151: #define K_124 0x57
152: #define K_125 0x5F
153: #define K_126 0x62
154:
155: #endif
156: /* end of kbscan.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.