************************************************************************* * >E-Keycodes: Documents Zap's internal key numbers * ************************************************************************* The key numbers used by Zap in the 'Keys' file and internally differ from the wimp key numbers for some keys. The Zap key numbers mainly extend the WIMP key numbers (documented under Wimp_Poll,8 p3-123 in RO3 PRM's) and separate out some keypresses the WIMP assigns the same codes to. Conversion to Zap key numbers takes place as soon as Zap gets a 'Key Pressed' event and then the keys are buffered for later use. Because of a combination of the fact that the WIMP does not take note of very many Shift/Ctrl/Alt combinations when informing tasks about keypresses, and the fact that some tasks do not always rehularly poll the WIMP, there are cases when Zap is unable to determine which key has been pressed as the state of the keyboard has changed by the time Zap is told about the keypress. In these cases it assigns an internal key number of -1. Key number -1 should always be ignored. Key numbers are in the range 0-&1FF. 's' means 'shift', 'c' means 'ctrl', 'k' means 'keypad'. All numbers in the table below are in hex. 000 cSpace 100 scSpace 120 sSpace 140 160 001 cA 101 scA 121 ck/ 141 sck/ 161 k/ 002 cB 102 scB 122 ck* 142 sck* 162 k* 003 cC 103 scC 123 ck# 143 sck# 163 k# 004 cD 104 scD 124 ck- 144 sck- 164 k- 005 cE 105 scE 125 ck+ 145 sck+ 165 k+ 006 cF 106 scF 126 ckEnter 146 sckEnter 166 kEnter 007 cG 107 scG 127 ck. 147 sck. 167 k. 008 cH 108 scH 128 148 168 LLogo 009 cI 109 scI 129 149 169 Menu 00A cJ 10A scJ 12A 14A 16A RLogo 00B cK 10B scK 12B c[ 14B sc[ (c{) 16B 00C cL 10C scL 12C c\ 14C sc\ (c|) 16C sLLogo 00D cM 10D scM 12D c] 14D sc] (c}) 16D sMenu 00E cN 10E scN 12E 14E 16E sRLogo 00F cO 10F scO 12F c- 14F sc- (c_) 16F 010 cP 110 scP 130 c0 150 sc0 (c)) 170 011 cQ 111 scQ 131 c1 151 sc1 (c!) 171 sk/ 012 cR 112 scR 132 c2 152 sc2 (c@) 172 sk* 013 cS 113 scS 133 c3 153 sc3 (c#) 173 sk# 014 cT 114 scT 134 c4 154 sc4 (c$) 174 sk- 015 cU 115 scU 135 c5 155 sc5 (c%) 175 sk+ 016 cV 116 scV 136 c6 156 sc6 (c^) 176 skEnter 017 cW 117 scW 137 c7 157 sc7 (c&) 177 sk. 018 cX 118 scX 138 c8 158 sc8 (c*) 178 cLLogo 019 cY 119 scY 139 c9 159 sc9 (c() 179 cMenu 01A cZ 11A scZ 13A 15A 17A cRLogo 01B Escape 11B sEscape 13B cEscape 15B scEscape 17B 01C Backspace 11C sBackspace 13C cBackspace 15C scBackspace 17C scLLogo 01D Return 11D sReturn 13D cReturn 15D scReturn 17D scMenu 01E Home 11E sHome 13E cHome 15E scHome 17E scRLogo 01F cDelete 11F scDelete 13F 15F 17F sDelete 020-0FF are the standard ASCII characters with 07F Delete. 180-1BF are the function keys, Tab, Copy and the cursor keys using the same key numbers as the WIMP. 1C0 k0 1D0 sk0 1E0 ck0 1F0 sck0 1C1 k1 1D1 sk1 1E1 ck1 1F1 sck1 1C2 k2 1D2 sk2 1E2 ck2 1F2 sck2 1C3 k3 1D3 sk3 1E3 ck3 1F3 sck3 1C4 k4 1D4 sk4 1E4 ck4 1F4 sck4 1C5 k5 1D5 sk5 1E5 ck5 1F5 sck5 1C6 k6 1D6 sk6 1E6 ck6 1F6 sck6 1C7 k7 1D7 sk7 1E7 ck7 1F7 sck7 1C8 k8 1D8 sk8 1E8 ck8 1F8 sck8 1C9 k9 1D9 sk9 1E9 ck9 1F9 sck9 1CA F10 1DA sF10 1EA cF10 1FA scF1 1CB F11 1DB sF11 1EB cF11 1FB scF1 1CC F12 1DC sF12 1EC cF12 1FC scF1 1CD Insert 1DD sInsert 1ED cInsert 1FD scInsert 1CE PageDown 1DE sPageDown 1EE cPageDown 1FE scPageDown 1CF PageUp 1DF sPageUp 1EF cPageUp 1FF scPageUp Note that, for backward compatibility, if Page Up and Page Down (with any modifiers) are not defined, then the definitions of Cursor Up and Cursor Down are used.