* * UNBOUND.KEX * * KEXX macro to determine which keys on the keyboard do not yet have a macro * assigned to them. * * Works with: * * KEDIT for Windows 1.5 * KEDIT 5.0 for DOS * KEDIT 5.0 for OS/2 * * Note that for textmode KEDIT it is assumed that an enhanced keyboard is * present. If you have a standard keyboard you will not be able to attach * macros to some of the keys listed by this macro. See the KEDIT documention * regarding key names for more information on this. * * Original author: Sara Rogers 7/17/92 * Last update: Kent Downs, MSG, 8/96 * Kent Downs, MSG, 4/98 (Fixed sequence number errors in key name * table. Added numerous, missing key names * accessible to KEDIT for Windows. Added * KEDIT version checking) * See if this is the right version of KEDIT if version.1() = "KEDIT/WINDOWS" then do if version.2() < "1.5" then do say "This macro requires KEDIT for Windows 1.5" exit 99 end end else do * Textmode version if version.2() < "5.0" then do say "This macro requires KEDIT 5.0 for DOS or OS/2" exit 99 end end * Table of keys we'll check. First group lists keys supported by KEDIT 5.0 keys.1 = 'F1' keys.2 = 'F2' keys.3 = 'F3' keys.4 = 'F4' keys.5 = 'F5' keys.6 = 'F6' keys.7 = 'F7' keys.8 = 'F8' keys.9 = 'F9' keys.10 = 'F10' keys.11 = 'F11' keys.12 = 'F12' keys.13 = 'A-F1' keys.14 = 'A-F2' keys.15 = 'A-F3' keys.16 = 'A-F4' keys.17 = 'A-F5' keys.18 = 'A-F6' keys.19 = 'A-F7' keys.20 = 'A-F8' keys.21 = 'A-F9' keys.22 = 'A-F10' keys.23 = 'A-F11' keys.24 = 'A-F12' keys.25 = 'C-F1' keys.26 = 'C-F2' keys.27 = 'C-F3' keys.28 = 'C-F4' keys.29 = 'C-F5' keys.30 = 'C-F6' keys.31 = 'C-F7' keys.32 = 'C-F8' keys.33 = 'C-F9' keys.34 = 'C-F10' keys.35 = 'C-F11' keys.36 = 'C-F12' keys.37 = 'S-F1' keys.38 = 'S-F2' keys.39 = 'S-F3' keys.40 = 'S-F4' keys.41 = 'S-F5' keys.42 = 'S-F6' keys.43 = 'S-F7' keys.44 = 'S-F8' keys.45 = 'S-F9' keys.46 = 'S-F10' keys.47 = 'S-F11' keys.48 = 'S-F12' keys.49 = 'A-A' keys.50 = 'A-B' keys.51 = 'A-C' keys.52 = 'A-D' keys.53 = 'A-E' keys.54 = 'A-F' keys.55 = 'A-G' keys.56 = 'A-H' keys.57 = 'A-I' keys.58 = 'A-J' keys.59 = 'A-K' keys.60 = 'A-L' keys.61 = 'A-M' keys.62 = 'A-N' keys.63 = 'A-O' keys.64 = 'A-P' keys.65 = 'A-Q' keys.66 = 'A-R' keys.67 = 'A-S' keys.68 = 'A-T' keys.69 = 'A-U' keys.70 = 'A-V' keys.71 = 'A-W' keys.72 = 'A-X' keys.73 = 'A-Y' keys.74 = 'A-Z' keys.75 = 'C-A' keys.76 = 'C-B' keys.77 = 'C-C' keys.78 = 'C-D' keys.79 = 'C-E' keys.80 = 'C-F' keys.81 = 'C-G' keys.82 = 'C-H' keys.83 = 'C-I' keys.84 = 'C-J' keys.85 = 'C-K' keys.86 = 'C-L' keys.87 = 'C-M' keys.88 = 'C-N' keys.89 = 'C-O' keys.90 = 'C-P' keys.91 = 'C-Q' keys.92 = 'C-R' keys.93 = 'C-S' keys.94 = 'C-T' keys.95 = 'C-U' keys.96 = 'C-V' keys.97 = 'C-W' keys.98 = 'C-X' keys.99 = 'C-Y' keys.100 = 'C-Z' keys.101 = 'A-0' keys.102 = 'A-1' keys.103 = 'A-2' keys.104 = 'A-3' keys.105 = 'A-4' keys.106 = 'A-5' keys.107 = 'A-6' keys.108 = 'A-7' keys.109 = 'A-8' keys.110 = 'A-9' keys.111 = 'C-2' keys.112 = 'C-6' keys.113 = 'A--' keys.114 = 'A-=' keys.115 = 'A-[' keys.116 = 'A-]' keys.117 = 'A-\' keys.118 = 'A-;' keys.119 = "A-'" keys.120 = 'A-`' keys.121 = 'A-,' keys.122 = 'A-.' keys.123 = 'A-/' keys.124 = 'C--' keys.125 = 'C-[' keys.126 = 'C-]' keys.127 = 'C-\' keys.128 = 'Enter' keys.129 = 'Tab' keys.130 = 'Esc' keys.131 = 'Bksp' keys.132 = 'Home' keys.133 = 'PgUp' keys.134 = 'PgDn' keys.135 = 'Curu' keys.136 = 'Curd' keys.137 = 'Curl' keys.138 = 'Curr' keys.139 = 'End' keys.140 = 'Ins' keys.141 = 'Del' keys.142 = 'Center' keys.143 = 'Plus' keys.144 = 'Minus' keys.145 = 'Star' keys.146 = 'Slash' keys.147 = 'Numenter' keys.148 = 'A-Enter' keys.149 = 'A-Tab' keys.150 = 'A-Esc' keys.151 = 'A-Bksp' keys.152 = 'A-Home' keys.153 = 'A-PgUp' keys.154 = 'A-PgDn' keys.155 = 'A-Curl' keys.156 = 'A-Curr' keys.157 = 'A-Curu' keys.158 = 'A-Curd' keys.159 = 'A-End' keys.160 = 'A-Ins' keys.161 = 'A-Del' keys.162 = 'A-Plus' keys.163 = 'A-Minus' keys.164 = 'A-Slash' keys.165 = 'A-Numenter' keys.166 = 'C-Enter' keys.167 = 'C-Tab' keys.168 = 'C-Bksp' keys.169 = 'C-Home' keys.170 = 'C-PgUp' keys.171 = 'C-PgDn' keys.172 = 'C-Curl' keys.173 = 'C-Curr' keys.174 = 'C-Curu' keys.175 = 'C-Curd' keys.176 = 'C-End' keys.177 = 'C-Ins' keys.178 = 'C-Del' keys.179 = 'C-Center' keys.180 = 'C-Plus' keys.181 = 'C-Minus' keys.182 = 'C-Slash' keys.183 = 'C-Numenter' keys.184 = 'S-Tab' keys.185 = 'S-Home' keys.186 = 'S-PgUp' keys.187 = 'S-PgDn' keys.188 = 'S-Curl' keys.189 = 'S-Curr' keys.190 = 'S-Curu' keys.191 = 'S-Curd' keys.192 = 'S-End' keys.193 = 'S-Ins' keys.194 = 'S-Del' keys.195 = 'S-Center' NumKeys = 195 if version.1() = "KEDIT/WINDOWS" then do * Windows enables access to many more keys keys.196 = 'C-0' keys.197 = 'C-1' keys.198 = 'C-3' keys.199 = 'C-4' keys.200 = 'C-5' keys.201 = 'C-7' keys.202 = 'C-8' keys.203 = 'C-9' keys.204 = 'C-=' keys.205 = "C-'" keys.206 = 'C-`' keys.207 = 'C-;' keys.208 = 'C-,' keys.209 = 'C-.' keys.210 = 'C-/' keys.211 = 'App' keys.212 = 'S-App' keys.213 = 'A-App' keys.214 = 'C-App' keys.215 = 'Alt' keys.216 = 'C-Star' keys.217 = 'A-Star' keys.218 = 'A-Space' * Alt+Ctrl+key and Shift+Ctrl+key combinations keys.219 = 'A-C-F1' keys.220 = 'A-C-F2' keys.221 = 'A-C-F3' keys.222 = 'A-C-F4' keys.223 = 'A-C-F5' keys.224 = 'A-C-F6' keys.225 = 'A-C-F7' keys.226 = 'A-C-F8' keys.227 = 'A-C-F9' keys.228 = 'A-C-F10' keys.229 = 'A-C-F11' keys.230 = 'A-C-F12' keys.231 = 'S-C-F1' keys.232 = 'S-C-F2' keys.233 = 'S-C-F3' keys.234 = 'S-C-F4' keys.235 = 'S-C-F5' keys.236 = 'S-C-F6' keys.237 = 'S-C-F7' keys.238 = 'S-C-F8' keys.239 = 'S-C-F9' keys.240 = 'S-C-F10' keys.241 = 'S-C-F11' keys.242 = 'S-C-F12' keys.243 = 'S-C-A' keys.244 = 'S-C-B' keys.245 = 'S-C-C' keys.246 = 'S-C-D' keys.247 = 'S-C-E' keys.248 = 'S-C-F' keys.249 = 'S-C-G' keys.250 = 'S-C-H' keys.251 = 'S-C-I' keys.252 = 'S-C-J' keys.253 = 'S-C-K' keys.254 = 'S-C-L' keys.255 = 'S-C-M' keys.256 = 'S-C-N' keys.257 = 'S-C-O' keys.258 = 'S-C-P' keys.259 = 'S-C-Q' keys.260 = 'S-C-R' keys.261 = 'S-C-S' keys.262 = 'S-C-T' keys.263 = 'S-C-U' keys.264 = 'S-C-V' keys.265 = 'S-C-W' keys.266 = 'S-C-X' keys.267 = 'S-C-Y' keys.268 = 'S-C-Z' keys.269 = 'A-C-A' keys.270 = 'A-C-B' keys.271 = 'A-C-C' keys.272 = 'A-C-D' keys.273 = 'A-C-E' keys.274 = 'A-C-F' keys.275 = 'A-C-G' keys.276 = 'A-C-H' keys.277 = 'A-C-I' keys.278 = 'A-C-J' keys.279 = 'A-C-K' keys.280 = 'A-C-L' keys.281 = 'A-C-M' keys.282 = 'A-C-N' keys.283 = 'A-C-O' keys.284 = 'A-C-P' keys.285 = 'A-C-Q' keys.286 = 'A-C-R' keys.287 = 'A-C-S' keys.288 = 'A-C-T' keys.289 = 'A-C-U' keys.290 = 'A-C-V' keys.291 = 'A-C-W' keys.292 = 'A-C-X' keys.293 = 'A-C-Y' keys.294 = 'A-C-Z' keys.295 = 'S-C-0' keys.296 = 'S-C-1' keys.297 = 'S-C-2' keys.298 = 'S-C-3' keys.299 = 'S-C-4' keys.300 = 'S-C-5' keys.301 = 'S-C-6' keys.302 = 'S-C-7' keys.303 = 'S-C-8' keys.304 = 'S-C-9' keys.305 = 'A-C-0' keys.306 = 'A-C-1' keys.307 = 'A-C-2' keys.308 = 'A-C-3' keys.309 = 'A-C-4' keys.310 = 'A-C-5' keys.311 = 'A-C-6' keys.312 = 'A-C-7' keys.313 = 'A-C-8' keys.314 = 'A-C-9' keys.315 = 'A-C-`' keys.316 = 'A-C--' keys.317 = 'A-C-=' keys.318 = 'A-C-[' keys.319 = 'A-C-]' keys.320 = 'A-C-\' keys.321 = 'A-C-;' keys.322 = "A-C-'" keys.323 = 'A-C-,' keys.324 = 'A-C-.' keys.325 = 'A-C-/' keys.326 = 'A-C-App' keys.327 = 'A-C-Star' keys.328 = 'S-C--' keys.329 = 'S-C-=' keys.330 = 'S-C-[' keys.331 = 'S-C-]' keys.332 = 'S-C-\' keys.333 = 'S-C-;' keys.334 = "S-C-'" keys.335 = 'S-C-`' keys.336 = 'S-C-,' keys.337 = 'S-C-.' keys.338 = 'S-C-/' keys.339 = 'S-C-App' keys.340 = 'S-C-Star' keys.341 = 'S-C-Enter' keys.342 = 'S-C-Tab' keys.343 = 'S-C-Bksp' keys.344 = 'S-C-Home' keys.345 = 'S-C-PgUp' keys.346 = 'S-C-PgDn' keys.347 = 'S-C-Curl' keys.348 = 'S-C-Curr' keys.349 = 'S-C-Curu' keys.350 = 'S-C-Curd' keys.351 = 'S-C-End' keys.352 = 'S-C-Ins' keys.353 = 'S-C-Del' keys.354 = 'S-C-Center' keys.355 = 'S-C-Plus' keys.356 = 'S-C-Minus' keys.357 = 'S-C-Slash' keys.358 = 'S-C-Numenter' keys.359 = 'A-C-Enter' keys.360 = 'A-C-Bksp' keys.361 = 'A-C-Home' keys.362 = 'A-C-PgUp' keys.363 = 'A-C-PgDn' keys.364 = 'A-C-Curl' keys.365 = 'A-C-Curr' keys.366 = 'A-C-Curu' keys.367 = 'A-C-Curd' keys.368 = 'A-C-End' keys.369 = 'A-C-Ins' keys.370 = 'A-C-Plus' keys.371 = 'A-C-Minus' keys.372 = 'A-C-Slash' keys.373 = 'A-C-Numenter' keys.374 = 'A-C-Space' NumKeys = 374 end * Where we'll build our list "kedit unbound.lst (noprofile new" "set autosave off" do i = 1 to numkeys "nomsg query macro" keys.i if lastmsg.1() = 'nop' then 'input' keys.i end "top" say "There are currently" size.1() "unbound keys..."