home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 12 / BBS in a box XII-1.iso / Files / Tele / C / Comet2.1.3.sit / emlib / macro.c < prev    next >
MacBinary  |  1991-07-25  |  43.1 KB  |  [TEXT/????]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: macro.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Thu Jul 25 13:51:47 1991, modified Thu Jul 25 13:51:47 1991, creator '????', type ASCII, 43436 bytes "macro.c" , at 0xaa2c 428 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[????]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 07 6d 61 63 72 6f 2e | 63 00 00 00 00 00 00 00 |..macro.|c.......|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 3f 3f 3f | 3f 00 00 00 00 00 00 00 |.TEXT???|?.......|
|00000050| 00 00 00 00 00 a9 ac 00 | 00 01 ac a4 b4 c0 33 a4 |........|......3.|
|00000060| b4 c0 33 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..3.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 c4 1f 00 00 |........|........|
|00000080| 2f 2a 0d 09 43 6f 70 79 | 72 69 67 68 74 20 43 6f |/*..Copy|right Co|
|00000090| 72 6e 65 6c 6c 20 55 6e | 69 76 65 72 73 69 74 79 |rnell Un|iversity|
|000000a0| 20 31 39 38 36 2e 20 20 | 41 6c 6c 20 72 69 67 68 | 1986. |All righ|
|000000b0| 74 73 20 61 72 65 20 72 | 65 73 65 72 76 65 64 2e |ts are r|eserved.|
|000000c0| 0d 09 0d 09 6d 61 63 72 | 6f 2e 63 20 72 6f 75 74 |....macr|o.c rout|
|000000d0| 69 6e 65 73 20 68 61 6e | 64 6c 65 20 73 63 61 6e |ines han|dle scan|
|000000e0| 6e 69 6e 67 20 6b 65 79 | 73 20 66 6f 72 20 6d 61 |ning key|s for ma|
|000000f0| 63 72 6f 20 6d 61 74 63 | 68 65 73 2c 0d 09 70 72 |cro matc|hes,..pr|
|00000100| 65 73 65 6e 74 69 6e 67 | 20 61 20 64 69 61 6c 6f |esenting| a dialo|
|00000110| 67 20 66 6f 72 20 75 73 | 65 72 73 20 74 6f 20 61 |g for us|ers to a|
|00000120| 73 73 6f 63 69 61 74 65 | 20 6d 61 63 72 6f 73 20 |ssociate| macros |
|00000130| 77 69 74 68 20 6b 65 79 | 73 2c 0d 09 61 6e 64 20 |with key|s,..and |
|00000140| 64 75 6d 70 69 6e 67 20 | 74 68 65 20 6b 65 79 20 |dumping |the key |
|00000150| 6d 61 63 72 6f 73 2e 0d | 09 0d 09 46 6f 72 20 61 |macros..|...For a|
|00000160| 20 6c 69 73 74 20 6f 66 | 20 76 61 6c 69 64 20 6d | list of| valid m|
|00000170| 61 63 72 6f 20 63 6f 64 | 65 73 2c 20 73 65 65 20 |acro cod|es, see |
|00000180| 3a 3a 69 6e 63 6c 75 64 | 65 3a 72 63 6f 64 65 73 |::includ|e:rcodes|
|00000190| 2e 68 2e 0d 2a 2f 0d 0d | 0d 23 69 6e 63 6c 75 64 |.h..*/..|.#includ|
|000001a0| 65 20 3c 65 6d 2e 68 3e | 0d 0d 23 69 6e 63 6c 75 |e <em.h>|..#inclu|
|000001b0| 64 65 20 3c 6e 65 74 2e | 68 3e 0d 23 69 6e 63 6c |de <net.|h>.#incl|
|000001c0| 75 64 65 20 3c 68 31 39 | 2e 68 3e 0d 23 69 6e 63 |ude <h19|.h>.#inc|
|000001d0| 6c 75 64 65 20 3c 72 63 | 6f 64 65 73 2e 68 3e 0d |lude <rc|odes.h>.|
|000001e0| 23 69 6e 63 6c 75 64 65 | 20 3c 72 65 73 64 65 66 |#include| <resdef|
|000001f0| 73 2e 68 3e 0d 0d 0d 23 | 64 65 66 69 6e 65 20 4e |s.h>...#|define N|
|00000200| 45 47 20 28 2d 31 29 0d | 0d 2f 2a 20 09 65 61 63 |EG (-1).|./* .eac|
|00000210| 68 20 6b 65 79 20 6f 6e | 20 74 68 65 20 6b 65 79 |h key on| the key|
|00000220| 62 6f 61 72 64 20 68 61 | 73 20 61 20 75 6e 69 71 |board ha|s a uniq|
|00000230| 75 65 20 6e 61 6d 65 20 | 64 65 72 69 76 65 64 20 |ue name |derived |
|00000240| 66 72 6f 6d 20 74 68 69 | 73 20 74 61 62 6c 65 2c |from thi|s table,|
|00000250| 0d 09 77 68 69 63 68 20 | 61 73 73 6f 63 69 61 74 |..which |associat|
|00000260| 65 73 20 6b 65 79 63 6f | 64 65 73 20 26 20 74 69 |es keyco|des & ti|
|00000270| 74 6c 65 73 20 2a 2f 0d | 0d 23 64 65 66 69 6e 65 |tles */.|.#define|
|00000280| 20 4b 45 59 43 4f 44 45 | 53 20 31 32 38 0d 63 68 | KEYCODE|S 128.ch|
|00000290| 61 72 20 2a 20 6b 65 79 | 74 69 74 6c 65 5b 4b 45 |ar * key|title[KE|
|000002a0| 59 43 4f 44 45 53 5d 20 | 3d 20 7b 0d 22 41 22 2c |YCODES] |= {."A",|
|000002b0| 0d 22 53 22 2c 0d 22 44 | 22 2c 0d 22 46 22 2c 0d |."S",."D|",."F",.|
|000002c0| 22 48 22 2c 0d 22 47 22 | 2c 0d 22 5a 22 2c 0d 22 |"H",."G"|,."Z",."|
|000002d0| 58 22 2c 0d 22 43 22 2c | 0d 22 56 22 2c 0d 22 3f |X",."C",|."V",."?|
|000002e0| 22 2c 2f 2a 20 31 30 20 | 2a 2f 0d 22 42 22 2c 0d |",/* 10 |*/."B",.|
|000002f0| 22 51 22 2c 0d 22 57 22 | 2c 0d 22 45 22 2c 0d 22 |"Q",."W"|,."E",."|
|00000300| 52 22 2c 0d 22 59 22 2c | 0d 22 54 22 2c 0d 22 31 |R",."Y",|."T",."1|
|00000310| 22 2c 0d 22 32 22 2c 0d | 22 33 22 2c 2f 2a 20 32 |",."2",.|"3",/* 2|
|00000320| 30 20 2a 2f 0d 22 34 22 | 2c 0d 22 36 22 2c 0d 22 |0 */."4"|,."6",."|
|00000330| 35 22 2c 0d 22 3d 22 2c | 0d 22 39 22 2c 0d 22 37 |5",."=",|."9",."7|
|00000340| 22 2c 0d 22 2d 22 2c 0d | 22 38 22 2c 0d 22 30 22 |",."-",.|"8",."0"|
|00000350| 2c 0d 22 5d 22 2c 2f 2a | 20 33 30 20 2a 2f 0d 22 |,."]",/*| 30 */."|
|00000360| 4f 22 2c 0d 22 55 22 2c | 0d 22 5b 22 2c 0d 22 49 |O",."U",|."[",."I|
|00000370| 22 2c 0d 22 50 22 2c 0d | 22 52 65 74 75 72 6e 22 |",."P",.|"Return"|
|00000380| 2c 0d 22 4c 22 2c 0d 22 | 4a 22 2c 0d 22 27 22 2c |,."L",."|J",."'",|
|00000390| 0d 22 4b 22 2c 2f 2a 20 | 34 30 20 2a 2f 0d 22 3b |."K",/* |40 */.";|
|000003a0| 22 2c 0d 22 5c 5c 22 2c | 0d 22 2c 22 2c 0d 22 2f |",."\\",|.",",."/|
|000003b0| 22 2c 0d 22 4e 22 2c 0d | 22 4d 22 2c 0d 22 2e 22 |",."N",.|"M",."."|
|000003c0| 2c 0d 22 54 61 62 22 2c | 0d 22 53 70 61 63 65 22 |,."Tab",|."Space"|
|000003d0| 2c 0d 22 60 22 2c 2f 2a | 20 35 30 20 2a 2f 0d 22 |,."`",/*| 50 */."|
|000003e0| 42 61 63 6b 73 70 61 63 | 65 2f 64 65 6c 65 74 65 |Backspac|e/delete|
|000003f0| 22 2c 0d 22 45 6e 74 65 | 72 22 2c 0d 22 65 73 63 |",."Ente|r",."esc|
|00000400| 22 2c 0d 22 3f 22 2c 0d | 22 3f 22 2c 0d 22 3f 22 |",."?",.|"?",."?"|
|00000410| 2c 0d 22 3f 22 2c 0d 22 | 3f 22 2c 0d 22 3f 22 2c |,."?",."|?",."?",|
|00000420| 0d 22 3f 22 2c 2f 2a 20 | 36 30 20 2a 2f 0d 22 3f |."?",/* |60 */."?|
|00000430| 22 2c 0d 22 3f 22 2c 0d | 22 3f 22 2c 0d 22 3f 22 |",."?",.|"?",."?"|
|00000440| 2c 0d 22 2e 20 28 4b 50 | 29 22 2c 0d 22 2a 20 28 |,.". (KP|)",."* (|
|00000450| 4b 50 29 22 2c 0d 22 2a | 20 28 4b 50 29 22 2c 0d |KP)",."*| (KP)",.|
|00000460| 22 3f 22 2c 0d 22 2b 20 | 28 4b 50 29 22 2c 0d 22 |"?",."+ |(KP)",."|
|00000470| 2b 20 28 4b 50 29 22 2c | 2f 2a 20 37 30 20 2a 2f |+ (KP)",|/* 70 */|
|00000480| 0d 22 43 6c 65 61 72 20 | 28 4b 50 29 22 2c 0d 22 |."Clear |(KP)",."|
|00000490| 2c 20 28 4b 50 29 22 2c | 0d 22 3f 22 2c 0d 22 3f |, (KP)",|."?",."?|
|000004a0| 22 2c 0d 22 2f 20 28 4b | 50 29 22 2c 0d 22 45 6e |",."/ (K|P)",."En|
|000004b0| 74 65 72 20 28 4b 50 29 | 22 2c 0d 22 2f 20 28 4b |ter (KP)|",."/ (K|
|000004c0| 50 29 22 2c 0d 22 2d 20 | 28 4b 50 29 22 2c 0d 22 |P)",."- |(KP)",."|
|000004d0| 3f 22 2c 0d 22 3f 22 2c | 2f 2a 20 38 30 20 2a 2f |?",."?",|/* 80 */|
|000004e0| 0d 22 3d 20 28 4b 50 29 | 22 2c 0d 22 30 20 28 4b |."= (KP)|",."0 (K|
|000004f0| 50 29 22 2c 0d 22 31 20 | 28 4b 50 29 22 2c 0d 22 |P)",."1 |(KP)",."|
|00000500| 32 20 28 4b 50 29 22 2c | 0d 22 33 20 28 4b 50 29 |2 (KP)",|."3 (KP)|
|00000510| 22 2c 0d 22 34 20 28 4b | 50 29 22 2c 0d 22 35 20 |",."4 (K|P)",."5 |
|00000520| 28 4b 50 29 22 2c 0d 22 | 36 20 28 4b 50 29 22 2c |(KP)",."|6 (KP)",|
|00000530| 0d 22 37 20 28 4b 50 29 | 22 2c 0d 22 3f 22 2c 2f |."7 (KP)|",."?",/|
|00000540| 2a 20 39 30 20 2a 2f 0d | 22 38 20 28 4b 50 29 22 |* 90 */.|"8 (KP)"|
|00000550| 2c 0d 22 39 20 28 4b 50 | 29 22 2c 0d 22 3f 22 2c |,."9 (KP|)",."?",|
|00000560| 0d 22 3f 22 2c 0d 22 3f | 22 2c 20 0d 22 46 35 22 |."?",."?|", ."F5"|
|00000570| 2c 0d 22 46 36 22 2c 0d | 22 46 37 22 2c 0d 22 46 |,."F6",.|"F7",."F|
|00000580| 33 22 2c 0d 22 46 38 22 | 2c 09 2f 2a 20 31 30 30 |3",."F8"|,./* 100|
|00000590| 20 2a 2f 0d 22 46 39 22 | 2c 0d 22 3f 22 2c 0d 22 | */."F9"|,."?",."|
|000005a0| 46 31 31 22 2c 0d 22 3f | 22 2c 0d 22 46 31 33 22 |F11",."?|",."F13"|
|000005b0| 2c 0d 22 3f 22 2c 0d 22 | 46 31 34 22 2c 0d 22 3f |,."?",."|F14",."?|
|000005c0| 22 2c 0d 22 46 31 30 22 | 2c 0d 22 3f 22 2c 09 2f |",."F10"|,."?",./|
|000005d0| 2a 20 31 31 30 20 2a 2f | 0d 22 46 31 32 22 2c 0d |* 110 */|."F12",.|
|000005e0| 22 3f 22 2c 0d 22 46 31 | 35 22 2c 0d 22 68 65 6c |"?",."F1|5",."hel|
|000005f0| 70 22 2c 0d 22 68 6f 6d | 65 22 2c 0d 22 70 61 67 |p",."hom|e",."pag|
|00000600| 65 20 75 70 22 2c 0d 22 | 58 2d 3e 22 2c 0d 22 46 |e up",."|X->",."F|
|00000610| 34 22 2c 0d 22 65 6e 64 | 22 2c 0d 22 46 32 22 2c |4",."end|",."F2",|
|00000620| 09 2f 2a 20 31 32 30 20 | 2a 2f 0d 22 70 61 67 65 |./* 120 |*/."page|
|00000630| 20 64 6f 77 6e 22 2c 0d | 22 46 31 22 2c 0d 22 4c | down",.|"F1",."L|
|00000640| 65 66 74 22 2c 0d 22 52 | 69 67 68 74 22 2c 0d 22 |eft",."R|ight",."|
|00000650| 44 6f 77 6e 22 2c 0d 22 | 55 70 22 2c 0d 22 3f 22 |Down",."|Up",."?"|
|00000660| 0d 7d 3b 0d 0d 2f 2a 20 | 6b 65 79 20 6d 61 63 72 |.};../* |key macr|
|00000670| 6f 20 6d 61 70 70 69 6e | 67 20 64 69 61 6c 6f 67 |o mappin|g dialog|
|00000680| 20 64 65 66 69 6e 65 73 | 20 2a 2f 0d 0d 23 64 65 | defines| */..#de|
|00000690| 66 69 6e 65 20 44 49 42 | 4d 4b 45 59 45 58 43 45 |fine DIB|MKEYEXCE|
|000006a0| 50 54 09 31 31 34 35 30 | 0d 23 64 65 66 69 6e 65 |PT.11450|.#define|
|000006b0| 20 44 41 53 43 4b 45 59 | 45 58 43 45 50 54 09 31 | DASCKEY|EXCEPT.1|
|000006c0| 31 34 35 31 0d 0d 23 64 | 65 66 69 6e 65 20 44 4b |1451..#d|efine DK|
|000006d0| 45 59 4e 41 44 41 09 30 | 09 09 09 2f 2a 20 64 6f |EYNADA.0|.../* do|
|000006e0| 20 6e 6f 74 68 69 6e 67 | 20 61 74 20 61 6c 6c 20 | nothing| at all |
|000006f0| 2a 2f 0d 23 64 65 66 69 | 6e 65 20 44 4b 45 59 4f |*/.#defi|ne DKEYO|
|00000700| 4b 09 09 31 09 09 09 2f | 2a 20 4f 4b 20 62 75 74 |K..1.../|* OK but|
|00000710| 74 6f 6e 09 2a 2f 0d 23 | 64 65 66 69 6e 65 20 44 |ton.*/.#|define D|
|00000720| 4b 45 59 43 41 4e 43 45 | 4c 09 32 09 09 09 2f 2a |KEYCANCE|L.2.../*|
|00000730| 20 63 61 6e 63 65 6c 20 | 62 75 74 74 6f 6e 20 2a | cancel |button *|
|00000740| 2f 0d 23 64 65 66 69 6e | 65 09 44 4b 45 59 50 52 |/.#defin|e.DKEYPR|
|00000750| 45 53 53 09 33 09 09 09 | 2f 2a 20 64 6f 20 61 6e |ESS.3...|/* do an|
|00000760| 6f 74 68 65 72 20 6b 65 | 79 20 2a 2f 0d 23 64 65 |other ke|y */.#de|
|00000770| 66 69 6e 65 20 44 4b 45 | 59 44 45 53 43 09 34 09 |fine DKE|YDESC.4.|
|00000780| 09 09 2f 2a 20 74 65 78 | 74 20 64 65 73 63 72 69 |../* tex|t descri|
|00000790| 70 74 69 6f 6e 20 6f 66 | 20 6b 65 79 20 2a 2f 0d |ption of| key */.|
|000007a0| 09 2f 2a 20 73 6b 69 70 | 20 2a 2f 0d 23 64 65 66 |./* skip| */.#def|
|000007b0| 69 6e 65 09 44 4b 45 59 | 41 43 54 49 4f 4e 09 36 |ine.DKEY|ACTION.6|
|000007c0| 09 09 09 2f 2a 20 61 63 | 74 69 6f 6e 20 63 6f 64 |.../* ac|tion cod|
|000007d0| 65 20 68 61 73 20 62 65 | 65 6e 20 63 68 61 6e 67 |e has be|en chang|
|000007e0| 65 64 20 2a 2f 0d 23 64 | 65 66 69 6e 65 09 44 4b |ed */.#d|efine.DK|
|000007f0| 45 59 43 4f 44 45 09 37 | 09 09 09 2f 2a 20 74 68 |EYCODE.7|.../* th|
|00000800| 65 20 61 63 74 69 6f 6e | 20 63 6f 64 65 20 73 6f |e action| code so|
|00000810| 20 75 73 65 72 20 63 61 | 6e 20 73 65 65 20 69 74 | user ca|n see it|
|00000820| 20 2a 2f 0d 09 2f 2a 20 | 73 6b 69 70 20 2a 2f 0d | */../* |skip */.|
|00000830| 23 64 65 66 69 6e 65 09 | 44 4b 45 59 4b 49 4c 4c |#define.|DKEYKILL|
|00000840| 09 39 09 09 09 2f 2a 20 | 72 65 6d 6f 76 65 20 6b |.9.../* |remove k|
|00000850| 65 79 20 66 72 6f 6d 20 | 6d 61 63 72 6f 20 6c 69 |ey from |macro li|
|00000860| 73 74 20 2a 2f 0d 23 64 | 65 66 69 6e 65 09 44 4b |st */.#d|efine.DK|
|00000870| 45 59 51 55 49 54 09 31 | 30 09 09 09 2f 2a 20 71 |EYQUIT.1|0.../* q|
|00000880| 75 69 74 20 74 68 69 73 | 20 64 69 61 6c 6f 67 20 |uit this| dialog |
|00000890| 2a 2f 0d 23 64 65 66 69 | 6e 65 09 44 4b 45 59 48 |*/.#defi|ne.DKEYH|
|000008a0| 45 4c 50 09 31 31 09 09 | 09 2f 2a 20 73 68 6f 77 |ELP.11..|./* show|
|000008b0| 20 68 65 6c 70 20 77 69 | 6e 64 6f 77 20 2a 2f 0d | help wi|ndow */.|
|000008c0| 23 64 65 66 69 6e 65 09 | 44 4b 45 59 53 48 4f 57 |#define.|DKEYSHOW|
|000008d0| 09 31 32 09 09 09 2f 2a | 20 73 68 6f 77 20 61 6c |.12.../*| show al|
|000008e0| 6c 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 6b 65 |l the cu|rrent ke|
|000008f0| 79 20 6d 61 63 72 6f 73 | 20 2a 2f 0d 23 64 65 66 |y macros| */.#def|
|00000900| 69 6e 65 09 44 4b 45 59 | 44 49 53 50 4c 41 59 09 |ine.DKEY|DISPLAY.|
|00000910| 31 30 30 30 09 09 09 2f | 2a 20 64 6f 20 74 68 65 |1000.../|* do the|
|00000920| 20 61 63 74 75 61 6c 20 | 6b 65 79 20 64 69 73 70 | actual |key disp|
|00000930| 6c 61 79 20 2a 2f 0d 09 | 2f 2a 20 74 68 65 20 72 |lay */..|/* the r|
|00000940| 61 6e 67 65 20 66 72 6f | 6d 20 31 34 20 74 6f 20 |ange fro|m 14 to |
|00000950| 4d 41 58 42 55 54 41 43 | 54 20 69 73 20 61 73 73 |MAXBUTAC|T is ass|
|00000960| 6f 63 69 61 74 65 64 20 | 77 69 74 68 20 62 75 74 |ociated |with but|
|00000970| 74 6f 6e 73 20 77 68 69 | 63 68 20 70 72 6f 64 75 |tons whi|ch produ|
|00000980| 63 65 20 74 68 65 20 63 | 6f 6d 6d 61 6e 64 20 73 |ce the c|ommand s|
|00000990| 74 72 69 6e 67 73 20 66 | 6f 72 20 79 6f 75 20 2a |trings f|or you *|
|000009a0| 2f 0d 23 64 65 66 69 6e | 65 20 44 50 46 31 09 31 |/.#defin|e DPF1.1|
|000009b0| 34 0d 23 64 65 66 69 6e | 65 20 44 50 46 41 43 54 |4.#defin|e DPFACT|
|000009c0| 53 09 32 34 0d 23 64 65 | 66 69 6e 65 20 44 41 43 |S.24.#de|fine DAC|
|000009d0| 54 31 09 28 44 50 46 31 | 20 2b 20 44 50 46 41 43 |T1.(DPF1| + DPFAC|
|000009e0| 54 53 29 0d 23 64 65 66 | 69 6e 65 20 4d 41 58 42 |TS).#def|ine MAXB|
|000009f0| 55 54 41 43 54 09 35 37 | 0d 23 64 65 66 69 6e 65 |UTACT.57|.#define|
|00000a00| 20 4e 55 4d 42 55 54 41 | 43 54 53 09 4d 41 58 42 | NUMBUTA|CTS.MAXB|
|00000a10| 55 54 41 43 54 20 2d 20 | 44 41 43 54 31 0d 0d 23 |UTACT - |DACT1..#|
|00000a20| 64 65 66 69 6e 65 20 49 | 54 45 58 54 4d 41 43 52 |define I|TEXTMACR|
|00000a30| 4f 53 09 09 32 30 31 32 | 0d 23 64 65 66 69 6e 65 |OS..2012|.#define|
|00000a40| 20 41 4c 4b 45 59 51 55 | 49 54 09 09 30 0d 0d 0d | ALKEYQU|IT..0...|
|00000a50| 2f 2a 20 74 68 65 20 6c | 69 73 74 20 6f 66 20 69 |/* the l|ist of i|
|00000a60| 63 6f 6e 20 63 6f 64 65 | 73 20 2d 2d 20 73 6f 6d |con code|s -- som|
|00000a70| 65 20 63 6f 6d 6d 61 6e | 64 20 63 6f 64 65 73 20 |e comman|d codes |
|00000a80| 63 61 6e 20 61 70 70 65 | 61 72 20 61 73 20 61 20 |can appe|ar as a |
|00000a90| 73 69 6e 67 6c 65 20 69 | 63 6f 6e 20 0d 09 69 6e |single i|con ..in|
|00000aa0| 20 74 68 65 20 22 4f 75 | 72 63 61 67 6f 22 20 63 | the "Ou|rcago" c|
|00000ab0| 68 61 72 61 63 74 65 72 | 20 73 65 74 20 74 6f 20 |haracter| set to |
|00000ac0| 65 61 73 65 20 65 64 69 | 74 69 6e 67 20 2a 2f 0d |ease edi|ting */.|
|00000ad0| 0d 23 64 65 66 69 6e 65 | 20 49 50 46 31 09 31 32 |.#define| IPF1.12|
|00000ae0| 38 0d 23 64 65 66 69 6e | 65 20 49 50 46 32 09 31 |8.#defin|e IPF2.1|
|00000af0| 32 39 0d 23 64 65 66 69 | 6e 65 20 49 50 46 33 09 |29.#defi|ne IPF3.|
|00000b00| 31 33 30 0d 23 64 65 66 | 69 6e 65 20 49 50 46 34 |130.#def|ine IPF4|
|00000b10| 09 31 33 31 0d 23 64 65 | 66 69 6e 65 20 49 50 46 |.131.#de|fine IPF|
|00000b20| 35 09 31 33 32 0d 23 64 | 65 66 69 6e 65 20 49 50 |5.132.#d|efine IP|
|00000b30| 46 36 09 31 33 33 0d 23 | 64 65 66 69 6e 65 20 49 |F6.133.#|define I|
|00000b40| 50 46 37 09 31 33 34 0d | 23 64 65 66 69 6e 65 20 |PF7.134.|#define |
|00000b50| 49 50 46 38 09 31 33 35 | 0d 23 64 65 66 69 6e 65 |IPF8.135|.#define|
|00000b60| 20 49 50 46 39 09 31 33 | 36 0d 23 64 65 66 69 6e | IPF9.13|6.#defin|
|00000b70| 65 20 49 50 46 31 30 09 | 31 33 37 0d 23 64 65 66 |e IPF10.|137.#def|
|00000b80| 69 6e 65 20 49 50 46 31 | 31 09 31 33 38 0d 23 64 |ine IPF1|1.138.#d|
|00000b90| 65 66 69 6e 65 20 49 50 | 46 31 32 09 31 33 39 0d |efine IP|F12.139.|
|00000ba0| 23 64 65 66 69 6e 65 20 | 49 50 46 31 33 09 31 34 |#define |IPF13.14|
|00000bb0| 30 0d 23 64 65 66 69 6e | 65 20 49 50 46 31 34 09 |0.#defin|e IPF14.|
|00000bc0| 31 34 31 0d 23 64 65 66 | 69 6e 65 20 49 50 46 31 |141.#def|ine IPF1|
|00000bd0| 35 09 31 34 32 0d 23 64 | 65 66 69 6e 65 20 49 50 |5.142.#d|efine IP|
|00000be0| 46 31 36 09 31 34 33 0d | 23 64 65 66 69 6e 65 20 |F16.143.|#define |
|00000bf0| 49 50 46 31 37 09 31 34 | 34 0d 23 64 65 66 69 6e |IPF17.14|4.#defin|
|00000c00| 65 20 49 50 46 31 38 09 | 31 34 35 0d 23 64 65 66 |e IPF18.|145.#def|
|00000c10| 69 6e 65 20 49 50 46 31 | 39 09 31 34 36 0d 23 64 |ine IPF1|9.146.#d|
|00000c20| 65 66 69 6e 65 20 49 50 | 46 32 30 09 31 34 37 0d |efine IP|F20.147.|
|00000c30| 23 64 65 66 69 6e 65 20 | 49 50 46 32 31 09 31 34 |#define |IPF21.14|
|00000c40| 38 0d 23 64 65 66 69 6e | 65 20 49 50 46 32 32 09 |8.#defin|e IPF22.|
|00000c50| 31 34 39 0d 23 64 65 66 | 69 6e 65 20 49 50 46 32 |149.#def|ine IPF2|
|00000c60| 33 09 31 35 30 0d 23 64 | 65 66 69 6e 65 20 49 50 |3.150.#d|efine IP|
|00000c70| 46 32 34 09 31 35 31 0d | 23 64 65 66 69 6e 65 20 |F24.151.|#define |
|00000c80| 49 50 41 31 09 31 35 32 | 0d 23 64 65 66 69 6e 65 |IPA1.152|.#define|
|00000c90| 20 49 50 41 32 09 31 35 | 33 0d 23 64 65 66 69 6e | IPA2.15|3.#defin|
|00000ca0| 65 20 49 50 41 33 09 31 | 35 34 0d 23 64 65 66 69 |e IPA3.1|54.#defi|
|00000cb0| 6e 65 20 49 45 4e 54 45 | 52 09 31 35 35 0d 23 64 |ne IENTE|R.155.#d|
|00000cc0| 65 66 69 6e 65 20 49 4e | 45 57 4c 49 4e 45 09 31 |efine IN|EWLINE.1|
|00000cd0| 35 36 0d 23 64 65 66 69 | 6e 65 20 49 43 4c 45 41 |56.#defi|ne ICLEA|
|00000ce0| 52 09 31 35 37 0d 23 64 | 65 66 69 6e 65 20 49 52 |R.157.#d|efine IR|
|00000cf0| 45 53 45 54 09 31 35 38 | 0d 23 64 65 66 69 6e 65 |ESET.158|.#define|
|00000d00| 20 49 48 4f 4d 45 09 31 | 35 39 0d 23 64 65 66 69 | IHOME.1|59.#defi|
|00000d10| 6e 65 20 49 4c 45 46 54 | 09 31 36 30 0d 23 64 65 |ne ILEFT|.160.#de|
|00000d20| 66 69 6e 65 20 49 55 50 | 09 09 31 36 31 0d 23 64 |fine IUP|..161.#d|
|00000d30| 65 66 69 6e 65 20 49 44 | 4f 57 4e 09 31 36 32 0d |efine ID|OWN.162.|
|00000d40| 23 64 65 66 69 6e 65 20 | 49 52 49 47 48 54 09 31 |#define |IRIGHT.1|
|00000d50| 36 33 0d 23 64 65 66 69 | 6e 65 20 49 54 41 42 09 |63.#defi|ne ITAB.|
|00000d60| 31 36 34 0d 23 64 65 66 | 69 6e 65 20 49 42 41 43 |164.#def|ine IBAC|
|00000d70| 4b 54 41 42 09 31 36 35 | 0d 23 64 65 66 69 6e 65 |KTAB.165|.#define|
|00000d80| 20 49 49 4e 53 45 52 54 | 09 31 36 36 0d 23 64 65 | IINSERT|.166.#de|
|00000d90| 66 69 6e 65 20 49 44 45 | 4c 45 54 45 09 31 36 37 |fine IDE|LETE.167|
|00000da0| 0d 23 64 65 66 69 6e 65 | 20 49 45 52 49 4e 50 55 |.#define| IERINPU|
|00000db0| 54 09 31 36 38 0d 23 64 | 65 66 69 6e 65 20 49 45 |T.168.#d|efine IE|
|00000dc0| 52 45 4f 46 09 31 36 39 | 0d 23 64 65 66 69 6e 65 |REOF.169|.#define|
|00000dd0| 20 49 42 53 44 45 4c 09 | 31 37 30 0d 0d 63 68 61 | IBSDEL.|170..cha|
|00000de0| 72 20 2a 20 6f 75 74 6f | 66 74 65 78 74 20 3d 20 |r * outo|ftext = |
|00000df0| 22 43 61 6e 6e 6f 74 20 | 64 69 73 70 6c 61 79 20 |"Cannot |display |
|00000e00| 74 65 78 74 2d 2d 6f 6e | 6c 79 20 32 35 35 20 63 |text--on|ly 255 c|
|00000e10| 68 61 72 61 63 74 65 72 | 73 20 61 76 61 69 6c 61 |haracter|s availa|
|00000e20| 62 6c 65 22 3b 0d 63 68 | 61 72 20 2a 20 65 6e 64 |ble";.ch|ar * end|
|00000e30| 6f 66 74 65 78 74 20 3d | 20 22 49 6e 76 61 6c 69 |oftext =| "Invali|
|00000e40| 64 20 63 6f 64 65 20 61 | 74 20 65 6e 64 20 6f 66 |d code a|t end of|
|00000e50| 20 65 6e 74 72 79 22 3b | 0d 0d 6c 6f 6e 67 20 6b | entry";|..long k|
|00000e60| 65 79 69 64 3b 09 09 09 | 09 09 2f 2a 20 6f 75 72 |eyid;...|../* our|
|00000e70| 20 75 6e 69 71 75 65 20 | 6b 65 79 20 69 64 2c 20 | unique |key id, |
|00000e80| 6b 65 79 6d 6f 64 73 20 | 2f 20 6b 65 79 63 6f 64 |keymods |/ keycod|
|00000e90| 65 20 2f 20 6b 65 79 63 | 68 61 72 20 2a 2f 0d 73 |e / keyc|har */.s|
|00000ea0| 68 6f 72 74 20 6b 65 79 | 63 6f 64 65 3b 09 09 09 |hort key|code;...|
|00000eb0| 09 2f 2a 20 6b 65 79 20 | 63 6f 64 65 20 2a 2f 0d |./* key |code */.|
|00000ec0| 73 68 6f 72 74 20 6b 65 | 79 6d 6f 64 73 3b 09 09 |short ke|ymods;..|
|00000ed0| 09 09 2f 2a 20 6b 65 79 | 20 6d 6f 64 69 66 69 65 |../* key| modifie|
|00000ee0| 72 73 20 2a 2f 0d 73 68 | 6f 72 74 20 4b 44 6e 6f |rs */.sh|ort KDno|
|00000ef0| 74 73 68 6f 77 6e 20 3d | 20 54 52 55 45 3b 09 2f |tshown =| TRUE;./|
|00000f00| 2a 20 6e 6f 20 6b 65 79 | 20 73 65 6c 65 63 74 65 |* no key| selecte|
|00000f10| 64 20 69 6e 20 6b 65 79 | 20 64 69 61 6c 6f 67 2c |d in key| dialog,|
|00000f20| 20 63 68 61 6e 67 65 73 | 20 43 52 20 72 65 73 70 | changes| CR resp|
|00000f30| 6f 6e 73 65 20 2a 2f 0d | 73 68 6f 72 74 20 64 6f |onse */.|short do|
|00000f40| 73 68 6f 77 20 3d 20 46 | 41 4c 53 45 3b 09 09 2f |show = F|ALSE;../|
|00000f50| 2a 20 73 68 6f 77 20 63 | 6f 64 65 73 20 66 6f 72 |* show c|odes for|
|00000f60| 20 6e 65 78 74 20 6b 65 | 79 20 2a 2f 0d 73 68 6f | next ke|y */.sho|
|00000f70| 72 74 20 6d 61 63 72 6f | 63 68 61 6e 67 65 64 3b |rt macro|changed;|
|00000f80| 09 09 09 2f 2a 20 68 61 | 73 20 61 20 6b 65 79 20 |.../* ha|s a key |
|00000f90| 61 63 74 69 6f 6e 20 73 | 65 71 75 65 6e 63 65 20 |action s|equence |
|00000fa0| 62 65 65 6e 20 6d 6f 64 | 69 66 69 65 64 3f 20 2a |been mod|ified? *|
|00000fb0| 2f 0d 0d 63 68 61 72 20 | 65 6d 70 74 79 74 65 78 |/..char |emptytex|
|00000fc0| 74 5b 32 5d 20 3d 20 7b | 20 27 5c 30 30 30 27 2c |t[2] = {| '\000',|
|00000fd0| 20 27 5c 30 30 30 27 20 | 7d 3b 20 0d 65 78 74 65 | '\000' |}; .exte|
|00000fe0| 72 6e 20 63 68 61 72 20 | 2a 20 6d 61 6c 6c 6f 63 |rn char |* malloc|
|00000ff0| 28 29 3b 0d 0d 44 69 61 | 6c 6f 67 50 74 72 09 6d |();..Dia|logPtr.m|
|00001000| 61 63 72 6f 64 70 3b 0d | 44 69 61 6c 6f 67 52 65 |acrodp;.|DialogRe|
|00001010| 63 6f 72 64 20 6d 61 63 | 72 6f 64 6c 6f 67 3b 0d |cord mac|rodlog;.|
|00001020| 0d 2f 2a 20 64 6f 20 64 | 69 61 6c 6f 67 20 74 6f |./* do d|ialog to|
|00001030| 20 65 78 61 6d 69 6e 65 | 20 61 6e 64 20 73 65 74 | examine| and set|
|00001040| 20 6b 65 79 20 6d 61 63 | 72 6f 20 6c 69 73 74 20 | key mac|ro list |
|00001050| 61 63 74 69 6f 6e 20 63 | 6f 64 65 73 20 2a 2f 0d |action c|odes */.|
|00001060| 48 61 6e 64 6c 65 20 68 | 61 63 74 69 6f 6e 3b 09 |Handle h|action;.|
|00001070| 09 09 09 2f 2a 20 61 63 | 74 69 6f 6e 20 74 65 78 |.../* ac|tion tex|
|00001080| 74 20 69 73 20 67 6c 6f | 62 61 6c 20 73 6f 20 4b |t is glo|bal so K|
|00001090| 44 6b 65 79 6d 6f 64 20 | 63 61 6e 20 67 65 74 20 |Dkeymod |can get |
|000010a0| 69 74 20 2a 2f 0d 48 61 | 6e 64 6c 65 20 68 64 65 |it */.Ha|ndle hde|
|000010b0| 73 63 3b 09 09 09 09 2f | 2a 20 76 61 72 69 6f 75 |sc;..../|* variou|
|000010c0| 73 20 64 69 61 6c 6f 67 | 20 6f 62 6a 65 63 74 73 |s dialog| objects|
|000010d0| 20 2a 2f 0d 48 61 6e 64 | 6c 65 20 68 6e 65 78 74 | */.Hand|le hnext|
|000010e0| 3b 0d 48 61 6e 64 6c 65 | 20 68 73 68 6f 77 3b 0d |;.Handle| hshow;.|
|000010f0| 0d 65 78 74 65 72 6e 20 | 6c 6f 6e 67 20 6d 65 6d |.extern |long mem|
|00001100| 74 65 73 74 28 29 3b 0d | 0d 0d 73 65 74 6b 65 79 |test();.|..setkey|
|00001110| 64 69 61 6c 6f 67 28 29 | 0d 7b 0d 09 52 65 63 74 |dialog()|.{..Rect|
|00001120| 20 72 65 63 74 2c 20 73 | 68 6f 77 72 65 63 74 3b | rect, s|howrect;|
|00001130| 09 09 2f 2a 20 72 65 63 | 74 20 69 73 20 67 61 72 |../* rec|t is gar|
|00001140| 62 61 67 65 2c 20 6f 74 | 68 65 72 73 20 61 72 65 |bage, ot|hers are|
|00001150| 20 75 73 65 64 20 2a 2f | 0d 09 52 65 63 74 20 6e | used */|..Rect n|
|00001160| 65 78 74 72 65 63 74 3b | 20 0d 09 73 68 6f 72 74 |extrect;| ..short|
|00001170| 20 64 69 61 6c 6e 75 6d | 3b 0d 09 73 68 6f 72 74 | dialnum|;..short|
|00001180| 20 74 79 70 65 3b 0d 09 | 73 68 6f 72 74 20 69 74 | type;..|short it|
|00001190| 65 6d 5f 69 64 3b 0d 09 | 73 68 6f 72 74 20 63 6f |em_id;..|short co|
|000011a0| 75 6e 74 3b 0d 09 73 68 | 6f 72 74 20 6e 6f 6d 61 |unt;..sh|ort noma|
|000011b0| 63 72 6f 3b 09 09 09 2f | 2a 20 69 73 20 74 68 65 |cro;.../|* is the|
|000011c0| 72 65 20 61 6e 20 6d 61 | 63 72 6f 20 6c 69 73 74 |re an ma|cro list|
|000011d0| 20 66 6f 72 20 74 68 65 | 20 63 75 72 72 65 6e 74 | for the| current|
|000011e0| 20 6b 65 79 3f 20 2a 2f | 0d 09 53 74 72 32 35 35 | key? */|..Str255|
|000011f0| 20 64 65 73 63 74 65 78 | 74 2c 20 61 63 74 74 65 | desctex|t, actte|
|00001200| 78 74 3b 0d 09 53 74 72 | 32 35 35 20 6e 65 78 74 |xt;..Str|255 next|
|00001210| 70 72 6f 6d 70 74 3b 0d | 09 63 68 61 72 20 2a 20 |prompt;.|.char * |
|00001220| 61 63 74 70 74 72 3b 0d | 09 73 74 72 75 63 74 20 |actptr;.|.struct |
|00001230| 74 6f 6b 65 6e 20 2a 20 | 6b 65 79 61 63 74 3b 0d |token * |keyact;.|
|00001240| 09 47 72 61 66 50 74 72 | 20 6f 70 6f 72 74 3b 0d |.GrafPtr| oport;.|
|00001250| 09 63 68 61 72 20 74 65 | 6d 70 74 65 78 74 5b 35 |.char te|mptext[5|
|00001260| 31 32 5d 3b 09 09 2f 2a | 20 62 69 67 20 61 72 72 |12];../*| big arr|
|00001270| 61 79 20 66 6f 72 20 61 | 63 74 69 6f 6e 20 63 6f |ay for a|ction co|
|00001280| 64 65 20 74 72 61 6e 73 | 6c 61 74 69 6f 6e 20 2a |de trans|lation *|
|00001290| 2f 0d 09 73 68 6f 72 74 | 20 74 65 6d 70 6c 65 6e |/..short| templen|
|000012a0| 67 74 68 3b 0d 09 52 65 | 63 74 20 6f 66 66 6e 65 |gth;..Re|ct offne|
|000012b0| 78 74 72 65 63 74 3b 09 | 09 2f 2a 20 75 73 65 64 |xtrect;.|./* used|
|000012c0| 20 74 6f 20 6d 6f 76 65 | 20 22 50 72 65 73 73 20 | to move| "Press |
|000012d0| 6b 65 79 22 20 6f 66 66 | 2d 77 69 6e 64 6f 77 20 |key" off|-window |
|000012e0| 2a 2f 0d 09 63 68 61 72 | 20 77 69 6e 64 74 69 74 |*/..char| windtit|
|000012f0| 5b 32 35 36 5d 3b 09 09 | 2f 2a 20 74 65 6d 70 20 |[256];..|/* temp |
|00001300| 66 6f 72 20 77 69 6e 64 | 6f 77 20 74 69 74 6c 65 |for wind|ow title|
|00001310| 20 2a 2f 0d 0d 09 65 78 | 74 65 72 6e 20 42 6f 6f | */...ex|tern Boo|
|00001320| 6c 65 61 6e 20 4b 44 6b | 65 79 6d 6f 64 28 29 3b |lean KDk|eymod();|
|00001330| 0d 0d 09 6e 6f 6d 61 63 | 72 6f 20 3d 20 54 52 55 |...nomac|ro = TRU|
|00001340| 45 3b 0d 09 53 65 74 44 | 41 46 6f 6e 74 28 4f 55 |E;..SetD|AFont(OU|
|00001350| 52 43 48 49 43 41 47 4f | 29 3b 09 2f 2a 20 63 68 |RCHICAGO|);./* ch|
|00001360| 69 63 61 67 6f 20 66 6f | 6e 74 20 77 69 74 68 20 |icago fo|nt with |
|00001370| 63 6f 6e 74 72 6f 6c 20 | 63 68 61 72 73 20 64 65 |control |chars de|
|00001380| 66 69 6e 65 64 20 2a 2f | 0d 09 47 65 74 50 6f 72 |fined */|..GetPor|
|00001390| 74 28 26 6f 70 6f 72 74 | 29 3b 0d 0d 09 64 69 61 |t(&oport|);...dia|
|000013a0| 6c 6e 75 6d 20 3d 20 6b | 65 79 64 70 2d 3e 69 62 |lnum = k|eydp->ib|
|000013b0| 6d 5f 6b 65 79 6d 6f 64 | 65 20 3f 20 44 49 42 4d |m_keymod|e ? DIBM|
|000013c0| 4b 45 59 45 58 43 45 50 | 54 20 3a 20 44 41 53 43 |KEYEXCEP|T : DASC|
|000013d0| 4b 45 59 45 58 43 45 50 | 54 3b 0d 0d 09 65 6d 77 |KEYEXCEP|T;...emw|
|000013e0| 64 65 61 63 74 69 76 61 | 74 65 28 29 3b 0d 09 69 |deactiva|te();..i|
|000013f0| 66 20 28 28 6d 61 63 72 | 6f 64 70 20 3d 20 47 65 |f ((macr|odp = Ge|
|00001400| 74 4e 65 77 44 69 61 6c | 6f 67 28 64 69 61 6c 6e |tNewDial|og(dialn|
|00001410| 75 6d 2c 20 28 50 74 72 | 29 20 26 6d 61 63 72 6f |um, (Ptr|) &macro|
|00001420| 64 6c 6f 67 2c 20 28 57 | 69 6e 64 6f 77 50 74 72 |dlog, (W|indowPtr|
|00001430| 29 20 28 2d 31 29 29 29 | 20 3d 3d 20 4e 55 4c 4c |) (-1)))| == NULL|
|00001440| 29 0d 09 09 72 65 74 75 | 72 6e 28 30 29 3b 0d 0d |)...retu|rn(0);..|
|00001450| 09 63 65 6e 74 65 72 77 | 69 6e 64 28 6d 61 63 72 |.centerw|ind(macr|
|00001460| 6f 64 70 29 3b 0d 0d 09 | 72 65 6f 70 65 6e 63 6f |odp);...|reopenco|
|00001470| 6e 66 69 67 28 6b 65 79 | 64 70 29 3b 0d 09 0d 09 |nfig(key|dp);....|
|00001480| 73 68 6f 77 63 75 72 73 | 6f 72 28 29 3b 0d 09 53 |showcurs|or();..S|
|00001490| 65 74 43 75 72 73 6f 72 | 28 26 61 72 72 6f 77 29 |etCursor|(&arrow)|
|000014a0| 3b 0d 09 53 65 74 50 6f | 72 74 28 6d 61 63 72 6f |;..SetPo|rt(macro|
|000014b0| 64 70 29 3b 0d 0d 09 47 | 65 74 44 49 74 65 6d 28 |dp);...G|etDItem(|
|000014c0| 6d 61 63 72 6f 64 70 2c | 20 44 4b 45 59 50 52 45 |macrodp,| DKEYPRE|
|000014d0| 53 53 2c 20 26 74 79 70 | 65 2c 20 26 68 6e 65 78 |SS, &typ|e, &hnex|
|000014e0| 74 2c 20 26 6e 65 78 74 | 72 65 63 74 29 3b 0d 09 |t, &next|rect);..|
|000014f0| 47 65 74 57 54 69 74 6c | 65 28 6b 65 79 64 70 2d |GetWTitl|e(keydp-|
|00001500| 3e 65 6d 77 69 6e 64 6f | 77 2c 20 26 77 69 6e 64 |>emwindo|w, &wind|
|00001510| 74 69 74 5b 30 5d 29 3b | 0d 09 53 65 74 49 54 65 |tit[0]);|..SetITe|
|00001520| 78 74 28 68 6e 65 78 74 | 2c 20 26 77 69 6e 64 74 |xt(hnext|, &windt|
|00001530| 69 74 5b 30 5d 29 3b 0d | 0d 09 2f 2a 20 70 72 6f |it[0]);.|../* pro|
|00001540| 6d 70 74 20 6e 6f 77 20 | 61 70 70 65 61 72 73 20 |mpt now |appears |
|00001550| 69 6e 20 6b 65 79 20 64 | 65 73 63 72 69 70 74 69 |in key d|escripti|
|00001560| 6f 6e 20 62 6f 78 2e 2e | 2e 20 2a 2f 0d 09 47 65 |on box..|. */..Ge|
|00001570| 74 44 49 74 65 6d 28 6d | 61 63 72 6f 64 70 2c 20 |tDItem(m|acrodp, |
|00001580| 44 4b 45 59 44 45 53 43 | 2c 20 26 74 79 70 65 2c |DKEYDESC|, &type,|
|00001590| 20 26 68 64 65 73 63 2c | 20 26 72 65 63 74 29 3b | &hdesc,| &rect);|
|000015a0| 0d 09 47 65 74 49 54 65 | 78 74 28 68 64 65 73 63 |..GetITe|xt(hdesc|
|000015b0| 2c 20 26 6e 65 78 74 70 | 72 6f 6d 70 74 29 3b 0d |, &nextp|rompt);.|
|000015c0| 0d 09 47 65 74 44 49 74 | 65 6d 28 6d 61 63 72 6f |..GetDIt|em(macro|
|000015d0| 64 70 2c 20 44 4b 45 59 | 53 48 4f 57 2c 20 26 74 |dp, DKEY|SHOW, &t|
|000015e0| 79 70 65 2c 20 26 68 73 | 68 6f 77 2c 20 26 73 68 |ype, &hs|how, &sh|
|000015f0| 6f 77 72 65 63 74 29 3b | 0d 09 47 65 74 44 49 74 |owrect);|..GetDIt|
|00001600| 65 6d 28 6d 61 63 72 6f | 64 70 2c 20 44 4b 45 59 |em(macro|dp, DKEY|
|00001610| 41 43 54 49 4f 4e 2c 20 | 26 74 79 70 65 2c 20 26 |ACTION, |&type, &|
|00001620| 68 61 63 74 69 6f 6e 2c | 20 26 72 65 63 74 29 3b |haction,| &rect);|
|00001630| 0d 0d 09 6b 65 79 73 68 | 6f 77 70 72 65 70 28 26 |...keysh|owprep(&|
|00001640| 6e 65 78 74 70 72 6f 6d | 70 74 29 3b 0d 0d 09 54 |nextprom|pt);...T|
|00001650| 45 46 72 6f 6d 53 63 72 | 61 70 28 29 3b 0d 09 09 |EFromScr|ap();...|
|00001660| 2f 2a 20 67 65 74 20 74 | 68 65 20 63 75 72 72 65 |/* get t|he curre|
|00001670| 6e 74 20 73 63 72 61 70 | 20 69 6e 20 63 61 73 65 |nt scrap| in case|
|00001680| 20 69 74 27 73 20 6e 65 | 65 64 65 64 20 74 6f 20 | it's ne|eded to |
|00001690| 70 75 74 20 69 6e 74 6f | 20 74 68 65 20 64 69 61 |put into| the dia|
|000016a0| 6c 6f 67 20 74 65 78 74 | 20 2a 2f 0d 09 09 0d 09 |log text| */.....|
|000016b0| 77 68 69 6c 65 20 28 54 | 52 55 45 29 20 7b 0d 09 |while (T|RUE) {..|
|000016c0| 09 4d 6f 64 61 6c 44 69 | 61 6c 6f 67 28 28 50 72 |.ModalDi|alog((Pr|
|000016d0| 6f 63 50 74 72 29 20 4b | 44 6b 65 79 6d 6f 64 2c |ocPtr) K|Dkeymod,|
|000016e0| 20 26 69 74 65 6d 5f 69 | 64 29 3b 0d 09 09 53 65 | &item_i|d);...Se|
|000016f0| 74 50 6f 72 74 28 6d 61 | 63 72 6f 64 70 29 3b 0d |tPort(ma|crodp);.|
|00001700| 09 09 73 77 69 74 63 68 | 20 28 69 74 65 6d 5f 69 |..switch| (item_i|
|00001710| 64 29 20 7b 0d 09 09 09 | 63 61 73 65 20 44 4b 45 |d) {....|case DKE|
|00001720| 59 4e 41 44 41 3a 20 0d | 09 09 09 09 62 72 65 61 |YNADA: .|....brea|
|00001730| 6b 3b 0d 09 09 09 63 61 | 73 65 20 44 4b 45 59 4f |k;....ca|se DKEYO|
|00001740| 4b 3a 20 7b 0d 09 09 09 | 09 73 74 72 75 63 74 20 |K: {....|.struct |
|00001750| 6b 65 79 78 6c 69 73 74 | 20 2a 20 6b 65 79 78 70 |keyxlist| * keyxp|
|00001760| 3b 0d 09 09 09 09 48 61 | 6e 64 6c 65 20 68 6b 65 |;.....Ha|ndle hke|
|00001770| 79 72 65 73 3b 0d 0d 09 | 09 09 09 2f 2a 20 73 65 |yres;...|.../* se|
|00001780| 74 20 6b 65 79 20 74 6f | 20 75 73 65 20 61 63 74 |t key to| use act|
|00001790| 69 6f 6e 20 63 6f 64 65 | 73 20 75 73 65 72 20 68 |ion code|s user h|
|000017a0| 61 73 20 65 6e 74 65 72 | 65 64 20 2a 2f 0d 09 09 |as enter|ed */...|
|000017b0| 09 09 69 66 20 28 6d 61 | 63 72 6f 63 68 61 6e 67 |..if (ma|crochang|
|000017c0| 65 64 29 20 7b 0d 09 09 | 09 09 09 2f 2a 20 67 65 |ed) {...|.../* ge|
|000017d0| 74 20 74 65 78 74 20 20 | 2a 2f 0d 09 09 09 09 09 |t text |*/......|
|000017e0| 47 65 74 49 54 65 78 74 | 28 68 61 63 74 69 6f 6e |GetIText|(haction|
|000017f0| 2c 20 26 61 63 74 74 65 | 78 74 29 3b 0d 09 09 09 |, &actte|xt);....|
|00001800| 09 09 69 66 20 28 20 28 | 74 65 6d 70 6c 65 6e 67 |..if ( (|templeng|
|00001810| 74 68 20 3d 20 61 63 74 | 65 6e 63 6f 64 65 28 26 |th = act|encode(&|
|00001820| 61 63 74 74 65 78 74 2c | 20 26 74 65 6d 70 74 65 |acttext,| &tempte|
|00001830| 78 74 5b 30 5d 29 29 20 | 3d 3d 20 4e 45 47 20 29 |xt[0])) |== NEG )|
|00001840| 20 7b 0d 09 09 09 09 09 | 09 2f 2a 20 65 6e 63 6f | {......|./* enco|
|00001850| 64 65 20 69 6e 74 6f 20 | 61 6e 20 61 63 74 69 6f |de into |an actio|
|00001860| 6e 20 6c 69 73 74 2c 20 | 69 66 20 62 61 64 20 61 |n list, |if bad a|
|00001870| 62 6f 72 74 20 2e 2e 2e | 20 2a 2f 0d 09 09 09 09 |bort ...| */.....|
|00001880| 09 09 62 72 65 61 6b 3b | 0d 09 09 09 09 09 7d 0d |..break;|......}.|
|00001890| 09 09 09 09 09 69 66 20 | 28 74 65 6d 70 6c 65 6e |.....if |(templen|
|000018a0| 67 74 68 20 25 20 73 69 | 7a 65 6f 66 28 73 74 72 |gth % si|zeof(str|
|000018b0| 75 63 74 20 74 6f 6b 65 | 6e 29 20 29 20 7b 0d 09 |uct toke|n) ) {..|
|000018c0| 09 09 09 09 09 2f 2a 20 | 73 68 6f 75 6c 64 20 62 |...../* |should b|
|000018d0| 65 20 7a 65 72 6f 2c 20 | 6f 72 20 77 65 27 76 65 |e zero, |or we've|
|000018e0| 20 67 6f 74 20 61 20 62 | 61 64 20 63 6f 64 65 20 | got a b|ad code |
|000018f0| 2e 2e 2e 20 61 62 6f 72 | 74 20 2a 2f 0d 09 09 09 |... abor|t */....|
|00001900| 09 09 09 73 74 6f 70 65 | 72 72 6f 72 28 22 55 6e |...stope|rror("Un|
|00001910| 65 76 65 6e 20 6e 75 6d | 62 65 72 20 6f 66 20 63 |even num|ber of c|
|00001920| 6f 64 65 73 22 29 3b 20 | 0d 09 09 09 09 09 09 62 |odes"); |.......b|
|00001930| 72 65 61 6b 3b 0d 09 09 | 09 09 09 7d 0d 0d 09 09 |reak;...|...}....|
|00001940| 09 09 09 2f 2a 20 6d 6f | 64 69 66 79 20 74 68 65 |.../* mo|dify the|
|00001950| 20 72 65 73 6f 75 72 63 | 65 20 2a 2f 0d 0d 09 09 | resourc|e */....|
|00001960| 09 09 09 2f 2a 20 61 64 | 64 20 61 20 72 65 73 6f |.../* ad|d a reso|
|00001970| 75 72 63 65 20 77 68 65 | 6e 3a 0d 09 09 09 09 09 |urce whe|n:......|
|00001980| 09 09 31 29 20 61 20 64 | 6f 63 75 6d 65 6e 74 20 |..1) a d|ocument |
|00001990| 66 69 6c 65 20 69 73 20 | 6f 70 65 6e 20 61 6e 64 |file is |open and|
|000019a0| 20 61 6e 20 6d 61 63 72 | 6f 20 65 78 69 73 74 73 | an macr|o exists|
|000019b0| 2c 0d 09 09 09 09 09 09 | 09 09 62 75 74 20 69 6e |,.......|..but in|
|000019c0| 20 74 68 65 20 61 70 70 | 6c 20 72 65 73 6f 75 72 | the app|l resour|
|000019d0| 63 65 20 66 69 6c 65 2c | 20 73 6f 20 77 65 20 77 |ce file,| so we w|
|000019e0| 69 6c 6c 20 69 67 6e 6f | 72 65 20 69 74 3b 0d 09 |ill igno|re it;..|
|000019f0| 09 09 09 09 09 09 32 29 | 20 6e 6f 20 6d 61 63 72 |......2)| no macr|
|00001a00| 6f 20 65 78 69 73 74 73 | 20 2a 2f 0d 09 09 09 09 |o exists| */.....|
|00001a10| 09 69 66 20 28 21 6e 6f | 6d 61 63 72 6f 29 20 7b |.if (!no|macro) {|
|00001a20| 0d 09 09 09 09 09 09 6b | 65 79 78 70 20 3d 20 6b |.......k|eyxp = k|
|00001a30| 65 79 78 70 74 72 28 6b | 65 79 69 64 29 3b 0d 09 |eyxptr(k|eyid);..|
|00001a40| 09 09 09 09 09 69 66 20 | 28 21 72 65 6e 65 77 72 |.....if |(!renewr|
|00001a50| 65 73 6f 75 72 63 65 28 | 6b 65 79 78 70 29 29 0d |esource(|keyxp)).|
|00001a60| 09 09 09 09 09 09 09 6e | 6f 6d 61 63 72 6f 20 3d |.......n|omacro =|
|00001a70| 20 54 52 55 45 3b 0d 09 | 09 09 09 09 09 65 6c 73 | TRUE;..|.....els|
|00001a80| 65 20 69 66 20 28 6b 65 | 79 64 70 2d 3e 72 65 73 |e if (ke|ydp->res|
|00001a90| 66 69 64 20 21 3d 20 61 | 70 70 72 65 73 66 69 64 |fid != a|ppresfid|
|00001aa0| 20 26 26 20 0d 09 09 09 | 09 09 09 09 61 70 70 72 | && ....|....appr|
|00001ab0| 65 73 66 69 64 20 3d 3d | 20 48 6f 6d 65 52 65 73 |esfid ==| HomeRes|
|00001ac0| 46 69 6c 65 28 6b 65 79 | 78 70 2d 3e 68 6b 65 79 |File(key|xp->hkey|
|00001ad0| 61 63 74 29 29 20 7b 0d | 09 09 09 09 09 09 09 2f |act)) {.|......./|
|00001ae0| 2a 20 74 68 65 20 6b 65 | 79 20 65 78 69 73 74 73 |* the ke|y exists|
|00001af0| 20 69 6e 20 74 68 65 20 | 53 65 74 74 69 6e 67 73 | in the |Settings|
|00001b00| 20 66 69 6c 65 2c 20 6f | 76 65 72 72 69 64 65 20 | file, o|verride |
|00001b10| 69 74 20 2a 2f 0d 09 09 | 09 09 09 09 09 6e 6f 6d |it */...|.....nom|
|00001b20| 61 63 72 6f 20 3d 20 54 | 52 55 45 3b 0d 09 09 09 |acro = T|RUE;....|
|00001b30| 09 09 09 7d 0d 09 09 09 | 09 09 7d 0d 09 09 09 09 |...}....|..}.....|
|00001b40| 09 09 2f 2a 20 4b 53 20 | 38 2f 32 37 2f 38 36 20 |../* KS |8/27/86 |
|00001b50| 2a 2f 0d 09 09 09 09 09 | 69 66 20 28 6e 6f 6d 61 |*/......|if (noma|
|00001b60| 63 72 6f 29 20 7b 0d 09 | 09 09 09 09 09 2f 2a 20 |cro) {..|...../* |
|00001b70| 6d 61 6b 65 20 61 20 6e | 65 77 20 72 65 73 6f 75 |make a n|ew resou|
|00001b80| 72 63 65 20 2a 2f 0d 09 | 09 09 09 09 09 68 6b 65 |rce */..|.....hke|
|00001b90| 79 72 65 73 20 3d 20 4e | 65 77 48 61 6e 64 6c 65 |yres = N|ewHandle|
|00001ba0| 28 28 6c 6f 6e 67 29 20 | 28 74 65 6d 70 6c 65 6e |((long) |(templen|
|00001bb0| 67 74 68 20 2b 20 34 29 | 29 3b 20 2f 2a 20 57 41 |gth + 4)|); /* WA|
|00001bc0| 52 4e 49 4e 47 20 54 4f | 44 4f 20 73 68 6f 75 6c |RNING TO|DO shoul|
|00001bd0| 64 20 75 73 65 20 73 69 | 7a 65 6f 66 20 6b 65 79 |d use si|zeof key|
|00001be0| 61 63 74 6c 69 73 74 2d | 3e 6b 65 79 69 64 20 72 |actlist-|>keyid r|
|00001bf0| 61 74 68 65 72 20 74 68 | 61 6e 20 68 61 72 64 63 |ather th|an hardc|
|00001c00| 6f 64 65 64 20 34 20 2a | 2f 0d 09 09 09 09 09 09 |oded 4 *|/.......|
|00001c10| 28 28 73 74 72 75 63 74 | 20 6b 65 79 61 63 74 6c |((struct| keyactl|
|00001c20| 69 73 74 20 2a 29 20 2a | 68 6b 65 79 72 65 73 29 |ist *) *|hkeyres)|
|00001c30| 2d 3e 6b 65 79 69 64 20 | 3d 20 6b 65 79 69 64 3b |->keyid |= keyid;|
|00001c40| 0d 09 09 09 09 09 09 09 | 2f 2a 20 73 65 74 20 74 |........|/* set t|
|00001c50| 68 65 20 6b 65 79 20 69 | 64 20 66 69 65 6c 64 20 |he key i|d field |
|00001c60| 6f 66 20 74 68 65 20 6e | 65 77 20 72 65 73 6f 75 |of the n|ew resou|
|00001c70| 72 63 65 20 2a 2f 0d 0d | 09 09 09 09 09 09 6b 65 |rce */..|......ke|
|00001c80| 79 78 70 20 3d 20 6d 61 | 6c 6c 6f 63 28 28 75 6e |yxp = ma|lloc((un|
|00001c90| 73 69 67 6e 65 64 29 20 | 73 69 7a 65 6f 66 28 73 |signed) |sizeof(s|
|00001ca0| 74 72 75 63 74 20 6b 65 | 79 78 6c 69 73 74 29 29 |truct ke|yxlist))|
|00001cb0| 3b 0d 09 09 09 09 09 09 | 6b 65 79 78 70 2d 3e 68 |;.......|keyxp->h|
|00001cc0| 6b 65 79 61 63 74 20 3d | 20 68 6b 65 79 72 65 73 |keyact =| hkeyres|
|00001cd0| 3b 0d 09 09 09 09 09 09 | 09 2f 2a 20 73 65 74 20 |;.......|./* set |
|00001ce0| 75 70 20 61 20 6c 69 6e | 6b 20 2a 2f 0d 0d 09 09 |up a lin|k */....|
|00001cf0| 09 09 09 09 6b 65 79 78 | 70 2d 3e 6e 65 78 74 6b |....keyx|p->nextk|
|00001d00| 65 79 20 3d 20 6b 65 79 | 64 70 2d 3e 6b 65 79 78 |ey = key|dp->keyx|
|00001d10| 68 65 61 64 3b 0d 09 09 | 09 09 09 09 6b 65 79 64 |head;...|....keyd|
|00001d20| 70 2d 3e 6b 65 79 78 68 | 65 61 64 20 3d 20 6b 65 |p->keyxh|ead = ke|
|00001d30| 79 78 70 3b 0d 09 09 09 | 09 09 09 09 2f 2a 20 6d |yxp;....|..../* m|
|00001d40| 61 6b 65 20 74 68 65 20 | 6e 65 77 20 6c 69 6e 6b |ake the |new link|
|00001d50| 20 66 69 72 73 74 20 69 | 6e 20 6c 69 6e 65 20 2a | first i|n line *|
|00001d60| 2f 0d 09 09 09 09 09 7d | 0d 09 09 09 09 09 65 6c |/......}|......el|
|00001d70| 73 65 20 7b 0d 09 09 09 | 09 09 09 68 6b 65 79 72 |se {....|...hkeyr|
|00001d80| 65 73 20 3d 20 6b 65 79 | 78 70 2d 3e 68 6b 65 79 |es = key|xp->hkey|
|00001d90| 61 63 74 3b 0d 09 09 09 | 09 09 09 53 65 74 48 61 |act;....|...SetHa|
|00001da0| 6e 64 6c 65 53 69 7a 65 | 28 68 6b 65 79 72 65 73 |ndleSize|(hkeyres|
|00001db0| 2c 20 28 6c 6f 6e 67 29 | 20 28 74 65 6d 70 6c 65 |, (long)| (temple|
|00001dc0| 6e 67 74 68 20 2b 20 34 | 29 29 3b 20 2f 2a 20 57 |ngth + 4|)); /* W|
|00001dd0| 41 52 4e 49 4e 47 20 54 | 4f 44 4f 20 73 68 6f 75 |ARNING T|ODO shou|
|00001de0| 6c 64 20 75 73 65 20 73 | 69 7a 65 6f 66 20 6b 65 |ld use s|izeof ke|
|00001df0| 79 61 63 74 6c 69 73 74 | 2d 3e 6b 65 79 69 64 20 |yactlist|->keyid |
|00001e00| 72 61 74 68 65 72 20 74 | 68 61 6e 20 68 61 72 64 |rather t|han hard|
|00001e10| 63 6f 64 65 64 20 34 20 | 2a 2f 0d 09 09 09 09 09 |coded 4 |*/......|
|00001e20| 7d 0d 0d 09 09 09 09 09 | 6b 65 79 78 70 2d 3e 61 |}.......|keyxp->a|
|00001e30| 63 74 6c 65 6e 20 3d 20 | 74 65 6d 70 6c 65 6e 67 |ctlen = |templeng|
|00001e40| 74 68 20 2f 20 73 69 7a | 65 6f 66 28 73 74 72 75 |th / siz|eof(stru|
|00001e50| 63 74 20 74 6f 6b 65 6e | 29 3b 0d 09 09 09 09 09 |ct token|);......|
|00001e60| 6d 79 73 74 72 6e 63 70 | 79 28 26 28 28 73 74 72 |mystrncp|y(&((str|
|00001e70| 75 63 74 20 6b 65 79 61 | 63 74 6c 69 73 74 20 2a |uct keya|ctlist *|
|00001e80| 29 20 2a 68 6b 65 79 72 | 65 73 29 2d 3e 61 63 74 |) *hkeyr|es)->act|
|00001e90| 5b 30 5d 2c 20 26 74 65 | 6d 70 74 65 78 74 5b 30 |[0], &te|mptext[0|
|00001ea0| 5d 2c 0d 09 09 09 09 09 | 09 74 65 6d 70 6c 65 6e |],......|.templen|
|00001eb0| 67 74 68 29 3b 0d 09 09 | 09 09 09 09 2f 2a 20 63 |gth);...|..../* c|
|00001ec0| 6f 70 79 20 74 68 65 20 | 6e 65 77 20 64 61 74 61 |opy the |new data|
|00001ed0| 20 6f 76 65 72 20 74 6f | 20 74 68 65 20 72 65 73 | over to| the res|
|00001ee0| 6f 75 72 63 65 20 2a 2f | 0d 0d 09 09 09 09 09 69 |ource */|.......i|
|00001ef0| 66 20 28 6e 6f 6d 61 63 | 72 6f 29 20 7b 0d 09 09 |f (nomac|ro) {...|
|00001f00| 09 09 09 09 2f 2a 20 6d | 61 6b 65 20 61 20 6e 65 |..../* m|ake a ne|
|00001f10| 77 20 4b 45 59 58 20 72 | 65 73 6f 75 72 63 65 20 |w KEYX r|esource |
|00001f20| 2a 2f 0d 09 09 09 09 09 | 09 73 68 6f 72 74 20 6e |*/......|.short n|
|00001f30| 65 77 69 64 3b 0d 0d 09 | 09 09 09 09 09 6e 65 77 |ewid;...|.....new|
|00001f40| 69 64 20 3d 20 55 6e 69 | 71 75 65 49 44 28 6b 65 |id = Uni|queID(ke|
|00001f50| 79 64 70 2d 3e 69 62 6d | 5f 6b 65 79 6d 6f 64 65 |ydp->ibm|_keymode|
|00001f60| 20 3f 20 27 4b 45 59 49 | 27 20 3a 20 27 4b 45 59 | ? 'KEYI|' : 'KEY|
|00001f70| 58 27 29 3b 0d 09 09 09 | 09 09 09 41 64 64 52 65 |X');....|...AddRe|
|00001f80| 73 6f 75 72 63 65 28 68 | 6b 65 79 72 65 73 2c 20 |source(h|keyres, |
|00001f90| 6b 65 79 64 70 2d 3e 69 | 62 6d 5f 6b 65 79 6d 6f |keydp->i|bm_keymo|
|00001fa0| 64 65 20 3f 20 27 4b 45 | 59 49 27 20 3a 20 27 4b |de ? 'KE|YI' : 'K|
|00001fb0| 45 59 58 27 2c 20 0d 09 | 09 09 09 09 09 09 6e 65 |EYX', ..|......ne|
|00001fc0| 77 69 64 2c 20 26 64 65 | 73 63 74 65 78 74 29 3b |wid, &de|sctext);|
|00001fd0| 0d 09 09 09 09 09 7d 0d | 0d 09 09 09 09 09 2f 2a |......}.|....../*|
|00001fe0| 20 77 72 69 74 65 20 6f | 75 74 20 74 68 65 20 72 | write o|ut the r|
|00001ff0| 65 73 6f 75 72 63 65 20 | 2a 2f 0d 09 09 09 09 09 |esource |*/......|
|00002000| 48 4e 6f 50 75 72 67 65 | 28 68 6b 65 79 72 65 73 |HNoPurge|(hkeyres|
|00002010| 29 3b 0d 09 09 09 09 09 | 43 68 61 6e 67 65 64 52 |);......|ChangedR|
|00002020| 65 73 6f 75 72 63 65 28 | 68 6b 65 79 72 65 73 29 |esource(|hkeyres)|
|00002030| 3b 0d 09 09 09 09 09 69 | 66 20 28 6e 6f 6d 61 63 |;......i|f (nomac|
|00002040| 72 6f 29 0d 09 09 09 09 | 09 09 55 70 64 61 74 65 |ro).....|..Update|
|00002050| 52 65 73 46 69 6c 65 28 | 6b 65 79 64 70 2d 3e 72 |ResFile(|keydp->r|
|00002060| 65 73 66 69 64 29 3b 0d | 09 09 09 09 09 65 6c 73 |esfid);.|.....els|
|00002070| 65 0d 09 09 09 09 09 09 | 55 70 64 61 74 65 52 65 |e.......|UpdateRe|
|00002080| 73 46 69 6c 65 28 48 6f | 6d 65 52 65 73 46 69 6c |sFile(Ho|meResFil|
|00002090| 65 28 68 6b 65 79 72 65 | 73 29 29 3b 0d 09 09 09 |e(hkeyre|s));....|
|000020a0| 09 09 69 66 20 28 52 65 | 73 45 72 72 6f 72 28 29 |..if (Re|sError()|
|000020b0| 29 0d 09 09 09 09 09 09 | 65 72 72 6f 72 28 22 4b |).......|error("K|
|000020c0| 65 79 20 72 65 73 6f 75 | 72 63 65 20 73 61 76 65 |ey resou|rce save|
|000020d0| 20 66 61 69 6c 65 64 22 | 29 3b 0d 0d 09 09 09 09 | failed"|);......|
|000020e0| 09 44 65 74 61 63 68 52 | 65 73 6f 75 72 63 65 28 |.DetachR|esource(|
|000020f0| 68 6b 65 79 72 65 73 29 | 3b 0d 09 09 09 09 7d 0d |hkeyres)|;.....}.|
|00002100| 09 09 09 09 6b 65 79 73 | 68 6f 77 70 72 65 70 28 |....keys|howprep(|
|00002110| 26 6e 65 78 74 70 72 6f | 6d 70 74 29 3b 0d 09 09 |&nextpro|mpt);...|
|00002120| 09 09 62 72 65 61 6b 3b | 0d 09 09 09 7d 0d 09 09 |..break;|....}...|
|00002130| 09 63 61 73 65 20 44 4b | 45 59 53 48 4f 57 3a 20 |.case DK|EYSHOW: |
|00002140| 7b 0d 09 09 09 09 6b 65 | 79 78 64 75 6d 70 28 4f |{.....ke|yxdump(O|
|00002150| 55 52 43 48 49 43 41 47 | 4f 2c 20 31 32 29 3b 0d |URCHICAG|O, 12);.|
|00002160| 09 09 09 09 62 72 65 61 | 6b 3b 0d 09 09 09 7d 0d |....brea|k;....}.|
|00002170| 09 09 09 63 61 73 65 20 | 44 4b 45 59 44 49 53 50 |...case |DKEYDISP|
|00002180| 4c 41 59 3a 20 7b 0d 09 | 09 09 09 2f 2a 20 64 6f |LAY: {..|.../* do|
|00002190| 20 74 68 65 20 64 69 73 | 70 6c 61 79 20 66 6f 72 | the dis|play for|
|000021a0| 20 61 20 6b 65 79 20 63 | 6f 6d 62 69 6e 61 74 69 | a key c|ombinati|
|000021b0| 6f 6e 20 2a 2f 0d 0d 09 | 09 09 09 2f 2a 20 75 6e |on */...|.../* un|
|000021c0| 68 69 67 68 6c 69 74 65 | 20 22 50 72 65 73 73 20 |highlite| "Press |
|000021d0| 4b 65 79 22 20 2a 2f 0d | 23 69 66 64 65 66 20 4b |Key" */.|#ifdef K|
|000021e0| 45 59 50 52 45 53 53 43 | 4f 4e 54 52 4f 4c 0d 09 |EYPRESSC|ONTROL..|
|000021f0| 09 09 09 48 69 6c 69 74 | 65 43 6f 6e 74 72 6f 6c |...Hilit|eControl|
|00002200| 28 68 6e 65 78 74 2c 20 | 30 29 3b 0d 23 65 6c 73 |(hnext, |0);.#els|
|00002210| 65 0d 09 09 09 09 2f 2a | 20 53 65 74 49 54 65 78 |e...../*| SetITex|
|00002220| 74 28 68 6e 65 78 74 2c | 20 22 5c 50 22 29 3b 20 |t(hnext,| "\P"); |
|00002230| 20 6e 6f 77 20 69 6e 20 | 68 64 65 73 63 2e 2e 2e | now in |hdesc...|
|00002240| 20 2a 2f 0d 23 65 6e 64 | 69 66 0d 09 09 09 09 2f | */.#end|if...../|
|00002250| 2a 20 67 69 76 65 20 74 | 68 65 20 6b 65 79 20 61 |* give t|he key a|
|00002260| 20 6e 61 6d 65 20 2a 2f | 0d 09 09 09 09 6e 61 6d | name */|.....nam|
|00002270| 65 6b 65 79 28 64 65 73 | 63 74 65 78 74 2e 74 65 |ekey(des|ctext.te|
|00002280| 78 74 2c 20 6b 65 79 63 | 6f 64 65 2c 20 6b 65 79 |xt, keyc|ode, key|
|00002290| 6d 6f 64 73 29 3b 0d 09 | 09 09 09 64 65 73 63 74 |mods);..|...desct|
|000022a0| 65 78 74 2e 6c 65 6e 67 | 74 68 20 3d 20 73 74 72 |ext.leng|th = str|
|000022b0| 6c 65 6e 28 64 65 73 63 | 74 65 78 74 2e 74 65 78 |len(desc|text.tex|
|000022c0| 74 29 3b 0d 09 09 09 09 | 53 65 74 49 54 65 78 74 |t);.....|SetIText|
|000022d0| 28 68 64 65 73 63 2c 20 | 26 64 65 73 63 74 65 78 |(hdesc, |&desctex|
|000022e0| 74 29 3b 0d 0d 09 09 09 | 09 69 66 20 28 20 28 28 |t);.....|.if ( ((|
|000022f0| 6b 65 79 61 63 74 20 3d | 20 6b 65 79 78 66 69 6e |keyact =| keyxfin|
|00002300| 64 28 6b 65 79 69 64 2c | 20 26 63 6f 75 6e 74 29 |d(keyid,| &count)|
|00002310| 29 20 21 3d 20 4e 55 4c | 4c 29 20 29 20 7b 0d 09 |) != NUL|L) ) {..|
|00002320| 09 09 09 09 2f 2a 20 69 | 66 20 6b 65 79 20 69 6e |..../* i|f key in|
|00002330| 20 6d 61 63 72 6f 20 6c | 69 73 74 20 70 72 6f 64 | macro l|ist prod|
|00002340| 75 63 69 6e 67 20 61 63 | 74 69 6f 6e 20 6b 65 79 |ucing ac|tion key|
|00002350| 73 2c 20 73 65 74 20 61 | 63 74 69 6f 6e 20 74 65 |s, set a|ction te|
|00002360| 78 74 20 2a 2f 0d 09 09 | 2f 2a 20 54 4f 44 4f 20 |xt */...|/* TODO |
|00002370| 69 73 20 74 68 65 20 6c | 65 6e 67 74 68 20 72 65 |is the l|ength re|
|00002380| 73 74 72 69 63 74 69 6f | 6e 20 61 73 73 6f 63 2e |strictio|n assoc.|
|00002390| 20 77 69 74 68 20 53 74 | 72 32 35 35 20 61 63 63 | with St|r255 acc|
|000023a0| 65 70 74 61 62 6c 65 20 | 20 66 6f 72 20 61 63 74 |eptable | for act|
|000023b0| 69 6f 6e 73 3f 20 2a 2f | 0d 09 09 09 09 09 63 68 |ions? */|......ch|
|000023c0| 61 72 20 2a 20 74 65 78 | 74 65 6e 64 3b 0d 09 09 |ar * tex|tend;...|
|000023d0| 09 09 09 69 6e 74 20 6c | 65 6e 67 74 68 3b 0d 0d |...int l|ength;..|
|000023e0| 09 09 09 09 09 66 6f 72 | 20 28 20 74 65 78 74 65 |.....for| ( texte|
|000023f0| 6e 64 20 3d 20 61 63 74 | 74 65 78 74 2e 74 65 78 |nd = act|text.tex|
|00002400| 74 20 2b 20 32 35 34 2c | 20 61 63 74 70 74 72 20 |t + 254,| actptr |
|00002410| 3d 20 61 63 74 74 65 78 | 74 2e 74 65 78 74 3b 20 |= acttex|t.text; |
|00002420| 20 0d 09 09 09 09 09 09 | 09 63 6f 75 6e 74 2d 2d | .......|.count--|
|00002430| 3b 20 6b 65 79 61 63 74 | 2b 2b 29 20 7b 0d 09 09 |; keyact|++) {...|
|00002440| 09 09 09 09 2f 2a 20 63 | 6f 70 79 20 74 65 78 74 |..../* c|opy text|
|00002450| 20 74 6f 20 70 61 73 63 | 61 6c 20 53 74 72 32 35 | to pasc|al Str25|
|00002460| 35 20 2a 2f 0d 09 09 09 | 09 09 09 69 66 20 28 20 |5 */....|...if ( |
|00002470| 28 6c 65 6e 67 74 68 20 | 3d 20 61 63 74 64 65 63 |(length |= actdec|
|00002480| 6f 64 65 28 61 63 74 70 | 74 72 2c 20 74 65 78 74 |ode(actp|tr, text|
|00002490| 65 6e 64 2c 20 6b 65 79 | 61 63 74 2c 20 54 52 55 |end, key|act, TRU|
|000024a0| 45 29 29 20 3d 3d 20 4e | 45 47 29 0d 09 09 09 09 |E)) == N|EG).....|
|000024b0| 09 09 09 2f 2a 20 65 72 | 72 6f 72 20 64 65 63 6f |.../* er|ror deco|
|000024c0| 64 69 6e 67 2d 2d 73 68 | 6f 75 6c 64 20 61 6c 65 |ding--sh|ould ale|
|000024d0| 72 74 20 74 68 61 74 20 | 61 74 20 65 6e 64 3f 20 |rt that |at end? |
|000024e0| 2a 2f 0d 09 09 09 09 09 | 09 09 62 72 65 61 6b 3b |*/......|..break;|
|000024f0| 0d 09 09 09 09 09 09 65 | 6c 73 65 0d 09 09 09 09 |.......e|lse.....|
|00002500| 09 09 09 61 63 74 70 74 | 72 20 2b 3d 20 6c 65 6e |...actpt|r += len|
|00002510| 67 74 68 3b 0d 09 09 09 | 09 09 7d 0d 09 09 09 09 |gth;....|..}.....|
|00002520| 09 61 63 74 74 65 78 74 | 2e 6c 65 6e 67 74 68 20 |.acttext|.length |
|00002530| 3d 20 61 63 74 70 74 72 | 20 2d 20 61 63 74 74 65 |= actptr| - actte|
|00002540| 78 74 2e 74 65 78 74 3b | 0d 09 09 09 09 09 53 65 |xt.text;|......Se|
|00002550| 74 49 54 65 78 74 28 68 | 61 63 74 69 6f 6e 2c 20 |tIText(h|action, |
|00002560| 26 61 63 74 74 65 78 74 | 29 3b 0d 09 09 09 09 09 |&acttext|);......|
|00002570| 6f 6e 64 69 74 65 6d 28 | 6d 61 63 72 6f 64 70 2c |onditem(|macrodp,|
|00002580| 20 44 4b 45 59 4b 49 4c | 4c 29 3b 0d 09 09 09 09 | DKEYKIL|L);.....|
|00002590| 09 6e 6f 6d 61 63 72 6f | 20 3d 20 46 41 4c 53 45 |.nomacro| = FALSE|
|000025a0| 3b 0d 09 09 09 09 7d 0d | 09 09 09 09 65 6c 73 65 |;.....}.|....else|
|000025b0| 20 7b 0d 09 09 09 09 09 | 2f 2a 20 6e 6f 20 6d 61 | {......|/* no ma|
|000025c0| 63 72 6f 20 79 65 74 20 | 65 78 69 73 74 73 20 2a |cro yet |exists *|
|000025d0| 2f 0d 09 09 09 09 09 53 | 65 74 49 54 65 78 74 28 |/......S|etIText(|
|000025e0| 68 61 63 74 69 6f 6e 2c | 20 65 6d 70 74 79 74 65 |haction,| emptyte|
|000025f0| 78 74 29 3b 0d 09 09 09 | 09 09 6e 6f 6d 61 63 72 |xt);....|..nomacr|
|00002600| 6f 20 3d 20 54 52 55 45 | 3b 0d 09 09 09 09 7d 0d |o = TRUE|;.....}.|
|00002610| 09 09 09 09 4b 44 6e 6f | 74 73 68 6f 77 6e 20 3d |....KDno|tshown =|
|00002620| 20 46 41 4c 53 45 3b 0d | 09 09 09 09 6d 61 63 72 | FALSE;.|....macr|
|00002630| 6f 63 68 61 6e 67 65 64 | 20 3d 20 46 41 4c 53 45 |ochanged| = FALSE|
|00002640| 3b 0d 09 09 09 09 6f 6e | 64 69 74 65 6d 28 6d 61 |;.....on|ditem(ma|
|00002650| 63 72 6f 64 70 2c 20 44 | 4b 45 59 43 41 4e 43 45 |crodp, D|KEYCANCE|
|00002660| 4c 29 3b 0d 09 09 09 09 | 62 72 65 61 6b 3b 0d 09 |L);.....|break;..|
|00002670| 09 09 7d 0d 09 09 09 63 | 61 73 65 20 44 4b 45 59 |..}....c|ase DKEY|
|00002680| 43 41 4e 43 45 4c 3a 20 | 7b 0d 09 09 09 09 2f 2a |CANCEL: |{...../*|
|00002690| 20 64 6f 20 61 6c 65 72 | 74 20 74 6f 20 73 65 65 | do aler|t to see|
|000026a0| 20 69 66 20 63 61 6e 63 | 65 6c 20 6f 6b 3f 20 2a | if canc|el ok? *|
|000026b0| 2f 0d 09 09 09 09 6b 65 | 79 73 68 6f 77 70 72 65 |/.....ke|yshowpre|
|000026c0| 70 28 26 6e 65 78 74 70 | 72 6f 6d 70 74 29 3b 0d |p(&nextp|rompt);.|
|000026d0| 09 09 09 09 62 72 65 61 | 6b 3b 0d 09 09 09 7d 0d |....brea|k;....}.|
|000026e0| 09 09 09 63 61 73 65 20 | 44 4b 45 59 41 43 54 49 |...case |DKEYACTI|
|000026f0| 4f 4e 3a 20 7b 0d 09 09 | 09 09 69 66 20 28 21 6d |ON: {...|..if (!m|
|00002700| 61 63 72 6f 63 68 61 6e | 67 65 64 29 20 7b 0d 09 |acrochan|ged) {..|
|00002710| 09 09 09 09 6f 66 66 64 | 69 74 65 6d 28 6d 61 63 |....offd|item(mac|
|00002720| 72 6f 64 70 2c 20 44 4b | 45 59 51 55 49 54 29 3b |rodp, DK|EYQUIT);|
|00002730| 0d 09 09 09 09 09 6f 6e | 64 69 74 65 6d 28 6d 61 |......on|ditem(ma|
|00002740| 63 72 6f 64 70 2c 20 44 | 4b 45 59 4f 4b 29 3b 0d |crodp, D|KEYOK);.|
|00002750| 09 09 09 09 7d 0d 09 09 | 09 09 6d 61 63 72 6f 63 |....}...|..macroc|
|00002760| 68 61 6e 67 65 64 20 3d | 20 54 52 55 45 3b 0d 09 |hanged =| TRUE;..|
|00002770| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 09 7d 0d 09 |...break|;....}..|
|00002780| 09 09 63 61 73 65 20 44 | 4b 45 59 4b 49 4c 4c 3a |..case D|KEYKILL:|
|00002790| 20 7b 0d 09 09 09 09 69 | 66 20 28 6b 65 79 78 6b | {.....i|f (keyxk|
|000027a0| 69 6c 6c 28 6b 65 79 78 | 70 74 72 28 6b 65 79 69 |ill(keyx|ptr(keyi|
|000027b0| 64 29 29 29 20 7b 0d 09 | 09 09 09 09 2f 2a 20 6e |d))) {..|..../* n|
|000027c0| 6f 20 73 75 63 68 20 6b | 65 79 20 69 6e 20 6c 69 |o such k|ey in li|
|000027d0| 73 74 20 2a 2f 0d 09 09 | 09 09 09 65 72 72 6f 72 |st */...|...error|
|000027e0| 28 22 4b 65 79 20 6e 6f | 74 20 69 6e 20 6d 61 63 |("Key no|t in mac|
|000027f0| 72 6f 20 6c 69 73 74 22 | 29 3b 0d 09 09 09 09 7d |ro list"|);.....}|
|00002800| 0d 09 09 09 09 6b 65 79 | 73 68 6f 77 70 72 65 70 |.....key|showprep|
|00002810| 28 26 6e 65 78 74 70 72 | 6f 6d 70 74 29 3b 0d 09 |(&nextpr|ompt);..|
|00002820| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 09 7d 0d 09 |...break|;....}..|
|00002830| 09 09 63 61 73 65 20 44 | 4b 45 59 51 55 49 54 3a |..case D|KEYQUIT:|
|00002840| 20 7b 0d 09 09 09 09 53 | 65 74 50 6f 72 74 28 6f | {.....S|etPort(o|
|00002850| 70 6f 72 74 29 3b 0d 09 | 09 09 09 5a 65 72 6f 53 |port);..|...ZeroS|
|00002860| 63 72 61 70 28 29 3b 0d | 09 09 09 09 54 45 54 6f |crap();.|....TETo|
|00002870| 53 63 72 61 70 28 29 3b | 0d 09 09 09 09 09 2f 2a |Scrap();|....../*|
|00002880| 20 63 6f 70 79 20 74 68 | 65 20 54 45 20 73 63 72 | copy th|e TE scr|
|00002890| 61 70 20 74 6f 20 74 68 | 65 20 53 63 72 61 70 20 |ap to th|e Scrap |
|000028a0| 2a 2f 0d 09 09 09 09 09 | 0d 09 09 09 09 43 6c 6f |*/......|.....Clo|
|000028b0| 73 65 44 69 61 6c 6f 67 | 28 6d 61 63 72 6f 64 70 |seDialog|(macrodp|
|000028c0| 29 3b 0d 09 09 09 09 53 | 65 74 44 41 46 6f 6e 74 |);.....S|etDAFont|
|000028d0| 28 73 79 73 74 65 6d 46 | 6f 6e 74 29 3b 09 0d 09 |(systemF|ont);...|
|000028e0| 09 09 09 63 6c 6f 73 65 | 63 6f 6e 66 69 67 28 6b |...close|config(k|
|000028f0| 65 79 64 70 29 3b 0d 09 | 09 09 09 72 65 74 75 72 |eydp);..|...retur|
|00002900| 6e 28 30 29 3b 0d 09 09 | 09 7d 0d 09 09 09 63 61 |n(0);...|.}....ca|
|00002910| 73 65 20 44 4b 45 59 48 | 45 4c 50 3a 20 7b 0d 09 |se DKEYH|ELP: {..|
|00002920| 09 09 09 68 65 6c 70 77 | 69 6e 64 6f 77 28 49 54 |...helpw|indow(IT|
|00002930| 45 58 54 4d 41 43 52 4f | 53 2c 20 67 65 6e 65 76 |EXTMACRO|S, genev|
|00002940| 61 2c 20 39 29 3b 0d 09 | 09 09 09 62 72 65 61 6b |a, 9);..|...break|
|00002950| 3b 0d 09 09 09 7d 0d 09 | 09 09 64 65 66 61 75 6c |;....}..|..defaul|
|00002960| 74 3a 20 7b 0d 09 09 09 | 09 69 66 20 28 4b 44 6e |t: {....|.if (KDn|
|00002970| 6f 74 73 68 6f 77 6e 29 | 0d 09 09 09 09 09 65 72 |otshown)|......er|
|00002980| 72 6f 72 28 22 59 6f 75 | 20 6e 65 65 64 20 74 6f |ror("You| need to|
|00002990| 20 70 72 65 73 73 20 61 | 20 6b 65 79 2d 63 6f 6d | press a| key-com|
|000029a0| 62 69 6e 61 74 69 6f 6e | 20 62 65 66 6f 72 65 20 |bination| before |
|000029b0| 79 6f 75 20 63 61 6e 20 | 65 6e 74 65 72 20 6d 61 |you can |enter ma|
|000029c0| 63 72 6f 20 62 75 74 74 | 6f 6e 73 22 29 3b 0d 09 |cro butt|ons");..|
|000029d0| 09 09 09 65 6c 73 65 0d | 09 09 09 09 09 69 62 6d |...else.|.....ibm|
|000029e0| 61 63 74 73 28 69 74 65 | 6d 5f 69 64 29 3b 0d 09 |acts(ite|m_id);..|
|000029f0| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 09 7d 0d 09 |...break|;....}..|
|00002a00| 09 7d 0d 09 7d 0d 7d 0d | 0d 0d 70 61 73 63 61 6c |.}..}.}.|..pascal|
|00002a10| 20 42 6f 6f 6c 65 61 6e | 0d 4b 44 6b 65 79 6d 6f | Boolean|.KDkeymo|
|00002a20| 64 28 64 70 74 72 2c 20 | 64 65 76 74 2c 20 69 74 |d(dptr, |devt, it|
|00002a30| 65 6d 29 0d 44 69 61 6c | 6f 67 50 74 72 20 64 70 |em).Dial|ogPtr dp|
|00002a40| 74 72 3b 0d 45 76 65 6e | 74 52 65 63 6f 72 64 20 |tr;.Even|tRecord |
|00002a50| 2a 20 64 65 76 74 3b 0d | 73 68 6f 72 74 20 2a 20 |* devt;.|short * |
|00002a60| 69 74 65 6d 3b 0d 7b 0d | 09 73 68 6f 72 74 20 6e |item;.{.|.short n|
|00002a70| 6b 65 79 63 6f 64 65 3b | 09 09 09 09 2f 2a 20 6b |keycode;|..../* k|
|00002a80| 65 79 20 63 6f 64 65 20 | 2a 2f 0d 0d 09 62 6b 72 |ey code |*/...bkr|
|00002a90| 64 5f 73 65 72 76 69 63 | 65 28 29 3b 0d 09 69 66 |d_servic|e();..if|
|00002aa0| 20 28 64 65 76 74 2d 3e | 77 68 61 74 20 3d 3d 20 | (devt->|what == |
|00002ab0| 6b 65 79 44 6f 77 6e 29 | 20 7b 0d 09 09 6e 6b 65 |keyDown)| {...nke|
|00002ac0| 79 63 6f 64 65 20 3d 20 | 28 64 65 76 74 2d 3e 6d |ycode = |(devt->m|
|00002ad0| 65 73 73 61 67 65 20 26 | 20 30 78 66 66 30 30 29 |essage &| 0xff00)|
|00002ae0| 20 3e 3e 20 38 3b 0d 0d | 09 09 69 66 20 28 64 6f | >> 8;..|..if (do|
|00002af0| 73 68 6f 77 29 20 7b 0d | 09 09 09 2f 2a 20 74 68 |show) {.|.../* th|
|00002b00| 65 20 65 76 65 6e 74 20 | 69 73 20 74 68 65 20 6b |e event |is the k|
|00002b10| 65 79 20 77 65 20 77 61 | 6e 74 20 74 6f 20 64 69 |ey we wa|nt to di|
|00002b20| 73 70 6c 61 79 20 2a 2f | 0d 09 09 09 6b 65 79 6d |splay */|....keym|
|00002b30| 6f 64 73 20 3d 20 64 65 | 76 74 2d 3e 6d 6f 64 69 |ods = de|vt->modi|
|00002b40| 66 69 65 72 73 3b 09 09 | 2f 2a 20 67 6c 6f 62 61 |fiers;..|/* globa|
|00002b50| 6c 20 66 6f 72 20 6b 65 | 79 20 74 65 78 74 20 2a |l for ke|y text *|
|00002b60| 2f 0d 09 09 09 6b 65 79 | 63 6f 64 65 20 3d 20 6e |/....key|code = n|
|00002b70| 6b 65 79 63 6f 64 65 3b | 0d 0d 09 09 09 2f 2a 20 |keycode;|...../* |
|00002b80| 64 65 72 69 76 65 20 74 | 68 65 20 6b 65 79 69 64 |derive t|he keyid|
|00002b90| 20 66 72 6f 6d 20 6d 6f | 64 69 66 69 65 72 20 3c | from mo|difier <|
|00002ba0| 3c 20 31 36 20 2b 20 6d | 65 73 73 61 67 65 20 2a |< 16 + m|essage *|
|00002bb0| 2f 0d 09 09 09 6b 65 79 | 69 64 20 3d 20 64 65 76 |/....key|id = dev|
|00002bc0| 74 2d 3e 6d 6f 64 69 66 | 69 65 72 73 3b 0d 09 09 |t->modif|iers;...|
|00002bd0| 09 6b 65 79 69 64 20 3c | 3c 3d 20 31 36 3b 0d 09 |.keyid <|<= 16;..|
|00002be0| 09 09 6b 65 79 69 64 20 | 7c 3d 20 28 64 65 76 74 |..keyid ||= (devt|
|00002bf0| 2d 3e 6d 65 73 73 61 67 | 65 20 26 20 30 78 66 66 |->messag|e & 0xff|
|00002c00| 66 66 29 3b 0d 09 09 09 | 2a 69 74 65 6d 20 3d 20 |ff);....|*item = |
|00002c10| 44 4b 45 59 44 49 53 50 | 4c 41 59 3b 0d 09 09 09 |DKEYDISP|LAY;....|
|00002c20| 64 6f 73 68 6f 77 20 3d | 20 46 41 4c 53 45 3b 0d |doshow =| FALSE;.|
|00002c30| 09 09 09 72 65 74 75 72 | 6e 28 54 52 55 45 29 3b |...retur|n(TRUE);|
|00002c40| 0d 09 09 7d 0d 09 09 69 | 66 20 28 4b 44 6e 6f 74 |...}...i|f (KDnot|
|00002c50| 73 68 6f 77 6e 29 20 7b | 0d 09 09 09 69 66 20 28 |shown) {|....if (|
|00002c60| 20 28 73 68 6f 72 74 29 | 20 28 64 65 76 74 2d 3e | (short)| (devt->|
|00002c70| 6d 65 73 73 61 67 65 20 | 26 20 30 78 66 66 29 20 |message |& 0xff) |
|00002c80| 3d 3d 20 43 52 29 20 7b | 0d 09 09 09 09 2f 2a 20 |== CR) {|...../* |
|00002c90| 75 73 65 20 52 65 74 75 | 72 6e 20 74 6f 20 73 69 |use Retu|rn to si|
|00002ca0| 67 6e 61 6c 20 61 20 53 | 68 6f 77 20 2a 2f 0d 09 |gnal a S|how */..|
|00002cb0| 09 09 09 2a 69 74 65 6d | 20 3d 20 44 4b 45 59 53 |...*item| = DKEYS|
|00002cc0| 48 4f 57 3b 0d 09 09 09 | 09 72 65 74 75 72 6e 28 |HOW;....|.return(|
|00002cd0| 54 52 55 45 29 3b 0d 09 | 09 09 7d 0d 09 09 09 65 |TRUE);..|..}....e|
|00002ce0| 6c 73 65 20 7b 0d 09 09 | 09 09 2f 2a 20 77 65 27 |lse {...|../* we'|
|00002cf0| 72 65 20 6e 6f 74 20 61 | 63 63 65 70 74 69 6e 67 |re not a|ccepting|
|00002d00| 20 6b 65 79 65 64 20 69 | 6e 70 75 74 20 6e 6f 77 | keyed i|nput now|
|00002d10| 20 2a 2f 0d 09 09 09 09 | 2a 69 74 65 6d 20 3d 20 | */.....|*item = |
|00002d20| 44 4b 45 59 43 4f 44 45 | 3b 0d 09 09 09 09 09 2f |DKEYCODE|;....../|
|00002d30| 2a 20 61 6e 79 20 69 74 | 65 6d 20 74 68 61 74 20 |* any it|em that |
|00002d40| 77 69 6c 6c 20 62 65 20 | 69 67 6e 6f 72 65 64 20 |will be |ignored |
|00002d50| 77 69 6c 6c 20 64 6f 20 | 2a 2f 0d 09 09 09 09 72 |will do |*/.....r|
|00002d60| 65 74 75 72 6e 28 54 52 | 55 45 29 3b 0d 09 09 09 |eturn(TR|UE);....|
|00002d70| 7d 0d 09 09 7d 0d 09 09 | 69 66 20 28 21 28 64 65 |}...}...|if (!(de|
|00002d80| 76 74 2d 3e 6d 6f 64 69 | 66 69 65 72 73 20 26 20 |vt->modi|fiers & |
|00002d90| 73 68 69 66 74 4b 65 79 | 29 20 26 26 20 21 28 64 |shiftKey|) && !(d|
|00002da0| 65 76 74 2d 3e 6d 6f 64 | 69 66 69 65 72 73 20 26 |evt->mod|ifiers &|
|00002db0| 20 63 6d 64 4b 65 79 29 | 0d 09 09 09 26 26 20 28 | cmdKey)|....&& (|
|00002dc0| 28 64 65 76 74 2d 3e 6d | 6f 64 69 66 69 65 72 73 |(devt->m|odifiers|
|00002dd0| 20 26 20 6f 70 74 69 6f | 6e 4b 65 79 20 26 26 20 | & optio|nKey && |
|00002de0| 21 28 64 65 76 74 2d 3e | 6d 6f 64 69 66 69 65 72 |!(devt->|modifier|
|00002df0| 73 20 26 20 63 74 72 6c | 4b 65 79 29 29 0d 09 09 |s & ctrl|Key))...|
|00002e00| 09 09 7c 7c 20 28 64 65 | 76 74 2d 3e 6d 6f 64 69 |..|| (de|vt->modi|
|00002e10| 66 69 65 72 73 20 26 20 | 63 74 72 6c 4b 65 79 20 |fiers & |ctrlKey |
|00002e20| 26 26 20 21 28 64 65 76 | 74 2d 3e 6d 6f 64 69 66 |&& !(dev|t->modif|
|00002e30| 69 65 72 73 20 26 20 6f | 70 74 69 6f 6e 4b 65 79 |iers & o|ptionKey|
|00002e40| 29 29 29 0d 09 09 09 29 | 20 7b 0d 09 09 09 09 2f |)))....)| {...../|
|00002e50| 2a 20 74 68 65 20 43 6f | 6e 74 72 6f 6c 20 6f 72 |* the Co|ntrol or|
|00002e60| 20 4f 70 74 69 6f 6e 20 | 6b 65 79 20 69 73 20 64 | Option |key is d|
|00002e70| 6f 77 6e 20 61 6c 6c 20 | 62 79 20 69 74 73 65 6c |own all |by itsel|
|00002e80| 66 20 2a 2f 0d 09 09 09 | 09 2f 2a 20 6d 61 6b 65 |f */....|./* make|
|00002e90| 20 61 20 63 6f 6e 74 72 | 6f 6c 20 63 68 61 72 20 | a contr|ol char |
|00002ea0| 2a 2f 0d 09 09 09 63 68 | 61 72 20 63 6f 6e 74 63 |*/....ch|ar contc|
|00002eb0| 68 61 72 3b 0d 0d 09 09 | 09 63 6f 6e 74 63 68 61 |har;....|.contcha|
|00002ec0| 72 20 3d 20 28 63 68 61 | 72 29 20 28 64 65 76 74 |r = (cha|r) (devt|
|00002ed0| 2d 3e 6d 65 73 73 61 67 | 65 20 26 20 30 78 66 66 |->messag|e & 0xff|
|00002ee0| 29 3b 0d 09 09 09 69 66 | 20 28 21 6d 61 6b 65 63 |);....if| (!makec|
|00002ef0| 6f 6e 74 72 6f 6c 28 26 | 63 6f 6e 74 63 68 61 72 |ontrol(&|contchar|
|00002f00| 2c 20 6e 6b 65 79 63 6f | 64 65 29 29 20 7b 0d 09 |, nkeyco|de)) {..|
|00002f10| 09 09 09 2f 2a 20 69 6e | 74 65 72 70 72 65 74 20 |.../* in|terpret |
|00002f20| 61 73 20 61 20 63 6f 6e | 74 72 6f 6c 20 6b 65 79 |as a con|trol key|
|00002f30| 20 2a 2f 0d 09 09 09 09 | 72 65 74 75 72 6e 28 54 | */.....|return(T|
|00002f40| 52 55 45 29 3b 0d 09 09 | 09 7d 0d 09 09 09 2a 69 |RUE);...|.}....*i|
|00002f50| 74 65 6d 20 3d 20 44 4b | 45 59 41 43 54 49 4f 4e |tem = DK|EYACTION|
|00002f60| 3b 09 2f 2a 20 73 68 6f | 77 20 77 65 20 73 61 77 |;./* sho|w we saw|
|00002f70| 20 61 20 6b 65 79 20 65 | 6e 74 65 72 65 64 20 2a | a key e|ntered *|
|00002f80| 2f 0d 09 09 09 2f 2a 20 | 77 65 20 63 6f 75 72 61 |/..../* |we coura|
|00002f90| 67 65 6f 75 73 6c 79 20 | 69 6e 73 65 72 74 20 74 |geously |insert t|
|00002fa0| 68 65 20 63 68 61 72 20 | 6f 75 72 73 65 6c 76 65 |he char |ourselve|
|00002fb0| 73 2c 20 73 69 6e 63 65 | 20 54 45 2f 44 69 61 6c |s, since| TE/Dial|
|00002fc0| 6f 67 20 77 6f 6e 27 74 | 20 72 65 70 72 6f 64 75 |og won't| reprodu|
|00002fd0| 63 65 20 63 6f 72 72 65 | 63 74 6c 79 20 2a 2f 0d |ce corre|ctly */.|
|00002fe0| 09 09 09 54 45 44 65 6c | 65 74 65 28 6d 61 63 72 |...TEDel|ete(macr|
|00002ff0| 6f 64 6c 6f 67 2e 74 65 | 78 74 48 29 3b 0d 09 09 |odlog.te|xtH);...|
|00003000| 09 09 2f 2a 20 6b 69 6c | 6c 20 73 65 6c 65 63 74 |../* kil|l select|
|00003010| 20 72 61 6e 67 65 20 61 | 73 20 69 6e 20 73 74 61 | range a|s in sta|
|00003020| 6e 64 61 72 64 20 2a 2f | 0d 09 09 09 54 45 49 6e |ndard */|....TEIn|
|00003030| 73 65 72 74 28 26 63 6f | 6e 74 63 68 61 72 2c 20 |sert(&co|ntchar, |
|00003040| 28 6c 6f 6e 67 29 20 31 | 2c 20 6d 61 63 72 6f 64 |(long) 1|, macrod|
|00003050| 6c 6f 67 2e 74 65 78 74 | 48 29 3b 0d 09 09 09 72 |log.text|H);....r|
|00003060| 65 74 75 72 6e 28 54 52 | 55 45 29 3b 0d 09 09 7d |eturn(TR|UE);...}|
|00003070| 0d 23 64 65 66 69 6e 65 | 20 4d 41 43 52 4f 45 44 |.#define| MACROED|
|00003080| 49 54 0d 23 69 66 64 65 | 66 20 4d 41 43 52 4f 45 |IT.#ifde|f MACROE|
|00003090| 44 49 54 0d 09 09 69 66 | 20 28 64 65 76 74 2d 3e |DIT...if| (devt->|
|000030a0| 6d 6f 64 69 66 69 65 72 | 73 20 26 20 63 6d 64 4b |modifier|s & cmdK|
|000030b0| 65 79 29 20 7b 0d 09 09 | 09 2f 2a 20 64 6f 20 43 |ey) {...|./* do C|
|000030c0| 75 74 20 43 6f 70 79 20 | 61 6e 64 20 50 61 73 74 |ut Copy |and Past|
|000030d0| 65 3f 20 2a 2f 0d 09 09 | 09 63 68 61 72 20 74 68 |e? */...|.char th|
|000030e0| 65 63 68 61 72 3b 0d 09 | 09 09 0d 09 09 09 74 68 |echar;..|......th|
|000030f0| 65 63 68 61 72 20 3d 20 | 64 65 76 74 2d 3e 6d 65 |echar = |devt->me|
|00003100| 73 73 61 67 65 20 26 20 | 30 78 66 66 3b 0d 09 09 |ssage & |0xff;...|
|00003110| 09 73 77 69 74 63 68 20 | 28 74 68 65 63 68 61 72 |.switch |(thechar|
|00003120| 29 20 7b 0d 09 09 09 09 | 63 61 73 65 20 27 78 27 |) {.....|case 'x'|
|00003130| 3a 20 7b 0d 09 09 09 09 | 09 54 45 43 75 74 28 6d |: {.....|.TECut(m|
|00003140| 61 63 72 6f 64 6c 6f 67 | 2e 74 65 78 74 48 29 3b |acrodlog|.textH);|
|00003150| 0d 09 09 09 09 09 62 72 | 65 61 6b 3b 0d 09 09 09 |......br|eak;....|
|00003160| 09 7d 0d 09 09 09 09 63 | 61 73 65 20 27 63 27 3a |.}.....c|ase 'c':|
|00003170| 20 7b 0d 09 09 09 09 09 | 54 45 43 6f 70 79 28 6d | {......|TECopy(m|
|00003180| 61 63 72 6f 64 6c 6f 67 | 2e 74 65 78 74 48 29 3b |acrodlog|.textH);|
|00003190| 0d 09 09 09 09 09 62 72 | 65 61 6b 3b 0d 09 09 09 |......br|eak;....|
|000031a0| 09 7d 0d 09 09 09 09 63 | 61 73 65 20 27 76 27 3a |.}.....c|ase 'v':|
|000031b0| 20 7b 0d 09 09 09 09 09 | 54 45 50 61 73 74 65 28 | {......|TEPaste(|
|000031c0| 6d 61 63 72 6f 64 6c 6f | 67 2e 74 65 78 74 48 29 |macrodlo|g.textH)|
|000031d0| 3b 0d 09 09 09 09 09 62 | 72 65 61 6b 3b 0d 09 09 |;......b|reak;...|
|000031e0| 09 09 7d 0d 09 09 09 09 | 63 61 73 65 20 27 2e 27 |..}.....|case '.'|
|000031f0| 3a 20 7b 0d 09 09 09 09 | 09 2f 2a 20 63 61 6e 63 |: {.....|./* canc|
|00003200| 65 6c 20 73 65 74 74 69 | 6e 67 20 74 68 65 20 6b |el setti|ng the k|
|00003210| 65 79 20 2a 2f 0d 09 09 | 09 09 09 2a 69 74 65 6d |ey */...|...*item|
|00003220| 20 3d 20 44 4b 45 59 43 | 41 4e 43 45 4c 3b 09 0d | = DKEYC|ANCEL;..|
|00003230| 09 09 09 09 09 72 65 74 | 75 72 6e 28 54 52 55 45 |.....ret|urn(TRUE|
|00003240| 29 3b 0d 09 09 09 09 7d | 0d 09 09 09 7d 0d 09 09 |);.....}|....}...|
|00003250| 09 2a 69 74 65 6d 20 3d | 20 44 4b 45 59 41 43 54 |.*item =| DKEYACT|
|00003260| 49 4f 4e 3b 09 2f 2a 20 | 73 68 6f 77 20 77 65 20 |ION;./* |show we |
|00003270| 73 61 77 20 61 20 6b 65 | 79 20 65 6e 74 65 72 65 |saw a ke|y entere|
|00003280| 64 20 2a 2f 0d 09 09 09 | 72 65 74 75 72 6e 28 54 |d */....|return(T|
|00003290| 52 55 45 29 3b 0d 09 09 | 7d 0d 23 65 6e 64 69 66 |RUE);...|}.#endif|
|000032a0| 0d 09 09 2f 2a 20 54 4f | 44 4f 20 61 64 64 20 74 |.../* TO|DO add t|
|000032b0| 65 73 74 20 74 6f 20 64 | 69 73 74 69 6e 67 75 69 |est to d|istingui|
|000032c0| 73 68 20 43 52 20 26 20 | 64 6f 20 61 20 73 68 6f |sh CR & |do a sho|
|000032d0| 77 20 62 75 74 74 6f 6e | 20 3f 20 2a 2f 0d 09 09 |w button| ? */...|
|000032e0| 0d 09 7d 0d 09 65 6c 73 | 65 20 69 66 20 28 64 65 |..}..els|e if (de|
|000032f0| 76 74 2d 3e 77 68 61 74 | 20 3d 3d 20 6d 6f 75 73 |vt->what| == mous|
|00003300| 65 44 6f 77 6e 20 26 26 | 20 21 4b 44 6e 6f 74 73 |eDown &&| !KDnots|
|00003310| 68 6f 77 6e 29 20 7b 0d | 09 09 2f 2a 20 70 75 6c |hown) {.|../* pul|
|00003320| 6c 20 64 6f 77 6e 20 6d | 65 6e 75 73 20 74 6f 20 |l down m|enus to |
|00003330| 69 6e 73 65 72 74 20 63 | 6f 64 65 73 20 69 66 20 |insert c|odes if |
|00003340| 64 6f 69 6e 67 20 69 6e | 70 75 74 20 61 6e 64 20 |doing in|put and |
|00003350| 69 6e 20 6d 65 6e 75 20 | 61 72 65 61 20 2a 2f 0d |in menu |area */.|
|00003360| 09 09 73 68 6f 72 74 20 | 63 6f 64 65 3b 0d 09 09 |..short |code;...|
|00003370| 6c 6f 6e 67 20 6d 65 6e | 75 63 6f 64 65 3b 0d 09 |long men|ucode;..|
|00003380| 09 57 69 6e 64 6f 77 50 | 74 72 20 77 68 69 63 68 |.WindowP|tr which|
|00003390| 57 69 6e 64 6f 77 3b 0d | 0d 09 09 63 6f 64 65 20 |Window;.|...code |
|000033a0| 3d 20 46 69 6e 64 57 69 | 6e 64 6f 77 28 70 61 73 |= FindWi|ndow(pas|
|000033b0| 73 28 64 65 76 74 2d 3e | 77 68 65 72 65 29 2c 20 |s(devt->|where), |
|000033c0| 26 77 68 69 63 68 57 69 | 6e 64 6f 77 29 3b 0d 09 |&whichWi|ndow);..|
|000033d0| 09 69 66 20 28 63 6f 64 | 65 20 3d 3d 20 69 6e 4d |.if (cod|e == inM|
|000033e0| 65 6e 75 42 61 72 29 20 | 7b 0d 09 09 09 6d 65 6e |enuBar) |{....men|
|000033f0| 75 63 6f 64 65 20 3d 20 | 4d 65 6e 75 53 65 6c 65 |ucode = |MenuSele|
|00003400| 63 74 28 70 61 73 73 28 | 64 65 76 74 2d 3e 77 68 |ct(pass(|devt->wh|
|00003410| 65 72 65 29 29 3b 0d 09 | 09 7d 0d 09 7d 0d 09 72 |ere));..|.}..}..r|
|00003420| 65 74 75 72 6e 28 46 41 | 4c 53 45 29 3b 0d 7d 0d |eturn(FA|LSE);.}.|
|00003430| 0d 0d 2f 2a 09 74 68 69 | 73 20 72 6f 75 74 69 6e |../*.thi|s routin|
|00003440| 65 20 72 65 74 75 72 6e | 73 20 61 20 70 6f 69 6e |e return|s a poin|
|00003450| 74 65 72 20 74 6f 20 61 | 20 6b 65 79 6e 61 6d 65 |ter to a| keyname|
|00003460| 20 74 61 62 6c 65 20 65 | 6e 74 72 79 20 2a 2f 0d | table e|ntry */.|
|00003470| 0d 63 68 61 72 20 6e 75 | 6c 6c 73 74 72 69 6e 67 |.char nu|llstring|
|00003480| 5b 5d 20 3d 20 22 55 6e | 6b 6e 6f 77 6e 20 4b 65 |[] = "Un|known Ke|
|00003490| 79 22 3b 0d 0d 63 68 61 | 72 20 2a 0d 6b 65 79 6e |y";..cha|r *.keyn|
|000034a0| 61 6d 65 28 6b 65 79 63 | 6f 64 65 29 0d 75 6e 73 |ame(keyc|ode).uns|
|000034b0| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 6b 65 79 63 |igned sh|ort keyc|
|000034c0| 6f 64 65 3b 0d 7b 0d 09 | 69 66 20 28 6b 65 79 63 |ode;.{..|if (keyc|
|000034d0| 6f 64 65 20 3e 3d 20 4b | 45 59 43 4f 44 45 53 29 |ode >= K|EYCODES)|
|000034e0| 20 7b 0d 09 09 72 65 74 | 75 72 6e 28 6e 75 6c 6c | {...ret|urn(null|
|000034f0| 73 74 72 69 6e 67 29 3b | 0d 09 7d 0d 09 72 65 74 |string);|..}..ret|
|00003500| 75 72 6e 28 6b 65 79 74 | 69 74 6c 65 5b 6b 65 79 |urn(keyt|itle[key|
|00003510| 63 6f 64 65 5d 29 3b 0d | 7d 0d 0d 0d 2f 2a 09 47 |code]);.|}.../*.G|
|00003520| 65 74 20 61 6c 6c 20 4b | 45 59 58 20 72 65 73 6f |et all K|EYX reso|
|00003530| 75 72 63 65 73 2c 20 77 | 68 69 63 68 20 63 6f 6e |urces, w|hich con|
|00003540| 74 61 69 6e 20 61 20 6b | 65 79 69 64 20 66 6f 6c |tain a k|eyid fol|
|00003550| 6c 6f 77 65 64 20 62 79 | 20 61 20 73 65 72 69 65 |lowed by| a serie|
|00003560| 73 20 6f 66 20 20 0d 09 | 61 63 74 69 6f 6e 20 63 |s of ..|action c|
|00003570| 6f 64 65 73 2c 20 20 61 | 6e 64 20 70 6c 61 63 65 |odes, a|nd place|
|00003580| 20 74 68 65 6d 20 69 6e | 74 6f 20 61 6e 20 61 72 | them in|to an ar|
|00003590| 72 61 79 20 6f 66 20 6b | 65 79 69 64 2f 63 68 61 |ray of k|eyid/cha|
|000035a0| 72 20 70 6f 69 6e 74 65 | 72 73 20 0d 09 0d 09 61 |r pointe|rs ....a|
|000035b0| 20 6d 61 63 72 6f 20 6d | 75 73 74 20 61 6c 77 61 | macro m|ust alwa|
|000035c0| 79 73 20 68 61 76 65 20 | 61 6e 20 61 63 74 69 6f |ys have |an actio|
|000035d0| 6e 20 68 61 6e 64 6c 65 | 21 0d 09 0d 2a 2f 20 0d |n handle|!...*/ .|
|000035e0| 0d 6b 65 79 78 69 6e 69 | 74 28 29 0d 7b 0d 09 73 |.keyxini|t().{..s|
|000035f0| 68 6f 72 74 20 6e 75 6d | 6b 65 79 78 3b 09 09 2f |hort num|keyx;../|
|00003600| 2a 20 6e 75 6d 62 65 72 | 20 6f 66 20 6d 61 63 72 |* number| of macr|
|00003610| 6f 20 65 6e 74 72 69 65 | 73 20 69 6e 20 6c 69 73 |o entrie|s in lis|
|00003620| 74 20 6f 66 20 6b 65 79 | 73 20 2a 2f 0d 09 73 68 |t of key|s */..sh|
|00003630| 6f 72 74 20 63 6f 75 6e | 74 3b 0d 09 6c 6f 6e 67 |ort coun|t;..long|
|00003640| 20 6b 65 79 73 69 7a 65 | 3b 0d 09 48 61 6e 64 6c | keysize|;..Handl|
|00003650| 65 20 6b 65 79 68 61 6e | 64 3b 0d 09 73 74 72 75 |e keyhan|d;..stru|
|00003660| 63 74 20 6b 65 79 78 6c | 69 73 74 20 2a 20 6b 65 |ct keyxl|ist * ke|
|00003670| 79 78 70 3b 0d 09 73 74 | 72 75 63 74 20 6b 65 79 |yxp;..st|ruct key|
|00003680| 78 6c 69 73 74 20 2a 20 | 70 72 65 76 6b 65 79 78 |xlist * |prevkeyx|
|00003690| 70 3b 0d 0d 09 6e 75 6d | 6b 65 79 78 20 3d 20 43 |p;...num|keyx = C|
|000036a0| 6f 75 6e 74 31 52 65 73 | 6f 75 72 63 65 73 28 65 |ount1Res|ources(e|
|000036b0| 6d 64 70 2d 3e 69 62 6d | 5f 6b 65 79 6d 6f 64 65 |mdp->ibm|_keymode|
|000036c0| 20 3f 20 27 4b 45 59 49 | 27 20 3a 20 27 4b 45 59 | ? 'KEYI|' : 'KEY|
|000036d0| 58 27 29 3b 0d 09 69 66 | 20 28 6e 75 6d 6b 65 79 |X');..if| (numkey|
|000036e0| 78 20 3d 3d 20 30 29 20 | 7b 0d 09 09 2f 2a 20 6e |x == 0) |{.../* n|
|000036f0| 6f 20 6d 61 63 72 6f 73 | 20 65 78 69 73 74 2c 20 |o macros| exist, |
|00003700| 74 65 72 6d 69 6e 61 74 | 65 20 6c 69 73 74 20 2a |terminat|e list *|
|00003710| 2f 0d 09 09 65 6d 64 70 | 2d 3e 6b 65 79 78 68 65 |/...emdp|->keyxhe|
|00003720| 61 64 20 3d 20 4e 55 4c | 4c 3b 0d 09 09 72 65 74 |ad = NUL|L;...ret|
|00003730| 75 72 6e 28 30 29 3b 0d | 09 7d 0d 09 65 6d 64 70 |urn(0);.|.}..emdp|
|00003740| 2d 3e 6b 65 79 78 68 65 | 61 64 20 3d 20 6b 65 79 |->keyxhe|ad = key|
|00003750| 78 70 20 3d 20 6d 61 6c | 6c 6f 63 28 28 75 6e 73 |xp = mal|loc((uns|
|00003760| 69 67 6e 65 64 29 20 73 | 69 7a 65 6f 66 28 73 74 |igned) s|izeof(st|
|00003770| 72 75 63 74 20 6b 65 79 | 78 6c 69 73 74 29 29 3b |ruct key|xlist));|
|00003780| 0d 09 69 66 20 28 65 6d | 64 70 2d 3e 6b 65 79 78 |..if (em|dp->keyx|
|00003790| 68 65 61 64 20 3d 3d 20 | 4e 55 4c 4c 29 0d 09 09 |head == |NULL)...|
|000037a0| 72 65 74 75 72 6e 28 2d | 31 29 3b 0d 09 09 0d 09 |return(-|1);.....|
|000037b0| 66 6f 72 20 28 63 6f 75 | 6e 74 20 3d 20 31 3b 20 |for (cou|nt = 1; |
|000037c0| 63 6f 75 6e 74 20 3c 3d | 20 6e 75 6d 6b 65 79 78 |count <=| numkeyx|
|000037d0| 3b 20 63 6f 75 6e 74 2b | 2b 29 20 7b 0d 09 09 6b |; count+|+) {...k|
|000037e0| 65 79 78 70 2d 3e 68 6b | 65 79 61 63 74 20 3d 20 |eyxp->hk|eyact = |
|000037f0| 47 65 74 31 49 6e 64 52 | 65 73 6f 75 72 63 65 28 |Get1IndR|esource(|
|00003800| 65 6d 64 70 2d 3e 69 62 | 6d 5f 6b 65 79 6d 6f 64 |emdp->ib|m_keymod|
|00003810| 65 20 3f 20 27 4b 45 59 | 49 27 20 3a 20 27 4b 45 |e ? 'KEY|I' : 'KE|
|00003820| 59 58 27 2c 20 63 6f 75 | 6e 74 29 3b 0d 09 09 0d |YX', cou|nt);....|
|00003830| 09 09 69 66 20 28 6b 65 | 79 78 70 2d 3e 68 6b 65 |..if (ke|yxp->hke|
|00003840| 79 61 63 74 20 3d 3d 20 | 4e 55 4c 4c 29 0d 09 09 |yact == |NULL)...|
|00003850| 09 63 6f 6e 74 69 6e 75 | 65 3b 0d 0d 09 09 44 65 |.continu|e;....De|
|00003860| 74 61 63 68 52 65 73 6f | 75 72 63 65 28 6b 65 79 |tachReso|urce(key|
|00003870| 78 70 2d 3e 68 6b 65 79 | 61 63 74 29 3b 0d 09 09 |xp->hkey|act);...|
|00003880| 09 2f 2a 20 64 65 74 61 | 63 68 20 74 68 65 20 72 |./* deta|ch the r|
|00003890| 65 73 6f 75 72 63 65 20 | 73 6f 20 69 74 27 73 20 |esource |so it's |
|000038a0| 6e 6f 74 20 73 65 65 6e | 20 62 79 20 6f 74 68 65 |not seen| by othe|
|000038b0| 72 20 77 69 6e 64 6f 77 | 73 20 6c 6f 61 64 69 6e |r window|s loadin|
|000038c0| 67 20 0d 09 09 09 09 6d | 61 63 72 6f 73 20 2e 2e |g .....m|acros ..|
|000038d0| 2e 20 2a 2f 0d 0d 09 09 | 6b 65 79 78 70 2d 3e 61 |. */....|keyxp->a|
|000038e0| 63 74 6c 65 6e 20 3d 20 | 28 28 73 68 6f 72 74 29 |ctlen = |((short)|
|000038f0| 20 47 65 74 48 61 6e 64 | 6c 65 53 69 7a 65 28 6b | GetHand|leSize(k|
|00003900| 65 79 78 70 2d 3e 68 6b | 65 79 61 63 74 29 20 2d |eyxp->hk|eyact) -|
|00003910| 20 34 29 20 2f 20 73 69 | 7a 65 6f 66 28 73 74 72 | 4) / si|zeof(str|
|00003920| 75 63 74 20 74 6f 6b 65 | 6e 29 3b 0d 09 09 09 2f |uct toke|n);..../|
|00003930| 2a 20 54 4f 44 4f 20 73 | 68 6f 75 6c 64 20 75 73 |* TODO s|hould us|
|00003940| 65 20 73 69 7a 65 6f 66 | 20 6b 65 79 61 63 74 6c |e sizeof| keyactl|
|00003950| 69 73 74 2d 3e 6b 65 79 | 69 64 20 72 61 74 68 65 |ist->key|id rathe|
|00003960| 72 20 74 68 61 6e 20 68 | 61 72 64 63 6f 64 65 64 |r than h|ardcoded|
|00003970| 20 34 20 2a 2f 0d 0d 09 | 09 69 66 20 28 63 6f 75 | 4 */...|.if (cou|
|00003980| 6e 74 20 3c 20 6e 75 6d | 6b 65 79 78 29 20 7b 0d |nt < num|keyx) {.|
|00003990| 09 09 09 6b 65 79 78 70 | 2d 3e 6e 65 78 74 6b 65 |...keyxp|->nextke|
|000039a0| 79 20 3d 20 6d 61 6c 6c | 6f 63 28 28 75 6e 73 69 |y = mall|oc((unsi|
|000039b0| 67 6e 65 64 29 20 73 69 | 7a 65 6f 66 28 73 74 72 |gned) si|zeof(str|
|000039c0| 75 63 74 20 6b 65 79 78 | 6c 69 73 74 29 29 3b 0d |uct keyx|list));.|
|000039d0| 09 09 09 09 2f 2a 20 61 | 6c 6c 6f 63 61 74 65 20 |..../* a|llocate |
|000039e0| 6e 65 78 74 20 6b 65 79 | 78 6c 69 73 74 20 73 74 |next key|xlist st|
|000039f0| 72 75 63 74 20 61 6e 64 | 20 73 65 74 20 63 75 72 |ruct and| set cur|
|00003a00| 72 65 6e 74 20 6b 65 79 | 20 70 6f 69 6e 74 65 72 |rent key| pointer|
|00003a10| 20 74 6f 20 69 74 20 2a | 2f 0d 09 09 09 69 66 20 | to it *|/....if |
|00003a20| 28 6b 65 79 78 70 2d 3e | 6e 65 78 74 6b 65 79 20 |(keyxp->|nextkey |
|00003a30| 3d 3d 20 4e 55 4c 4c 29 | 20 7b 0d 09 09 09 09 2f |== NULL)| {...../|
|00003a40| 2a 20 67 69 76 65 20 75 | 70 20 69 66 20 77 65 27 |* give u|p if we'|
|00003a50| 72 65 20 72 75 6e 6e 69 | 6e 67 20 6f 75 74 20 6f |re runni|ng out o|
|00003a60| 66 20 6d 65 6d 6f 72 79 | 20 2a 2f 0d 09 09 09 09 |f memory| */.....|
|00003a70| 62 72 65 61 6b 3b 0d 09 | 09 09 7d 0d 09 09 09 70 |break;..|..}....p|
|00003a80| 72 65 76 6b 65 79 78 70 | 20 3d 20 6b 65 79 78 70 |revkeyxp| = keyxp|
|00003a90| 3b 0d 09 09 09 6b 65 79 | 78 70 20 3d 20 6b 65 79 |;....key|xp = key|
|00003aa0| 78 70 2d 3e 6e 65 78 74 | 6b 65 79 3b 0d 09 09 7d |xp->next|key;...}|
|00003ab0| 0d 09 7d 0d 09 6b 65 79 | 78 70 2d 3e 6e 65 78 74 |..}..key|xp->next|
|00003ac0| 6b 65 79 20 3d 20 4e 55 | 4c 4c 3b 0d 09 09 2f 2a |key = NU|LL;.../*|
|00003ad0| 20 74 65 72 6d 69 6e 61 | 74 65 20 74 68 65 20 6c | termina|te the l|
|00003ae0| 69 73 74 20 2a 2f 0d 09 | 69 66 20 28 6b 65 79 78 |ist */..|if (keyx|
|00003af0| 70 2d 3e 68 6b 65 79 61 | 63 74 20 3d 3d 20 4e 55 |p->hkeya|ct == NU|
|00003b00| 4c 4c 29 20 7b 0d 09 09 | 2f 2a 20 63 6f 75 6c 64 |LL) {...|/* could|
|00003b10| 6e 27 74 20 6d 61 6e 61 | 67 65 20 74 6f 20 67 65 |n't mana|ge to ge|
|00003b20| 74 20 61 20 72 65 73 6f | 75 72 63 65 20 66 6f 72 |t a reso|urce for|
|00003b30| 20 74 68 65 20 6c 61 73 | 74 20 6d 61 6c 6c 6f 63 | the las|t malloc|
|00003b40| 20 2a 2f 0d 09 09 66 72 | 65 65 28 6b 65 79 78 70 | */...fr|ee(keyxp|
|00003b50| 29 3b 0d 09 09 69 66 20 | 28 6b 65 79 78 70 20 3d |);...if |(keyxp =|
|00003b60| 3d 20 65 6d 64 70 2d 3e | 6b 65 79 78 68 65 61 64 |= emdp->|keyxhead|
|00003b70| 29 0d 09 09 09 2f 2a 20 | 6e 6f 20 6d 61 63 72 6f |)..../* |no macro|
|00003b80| 73 20 61 74 20 61 6c 6c | 20 2a 2f 0d 09 09 09 65 |s at all| */....e|
|00003b90| 6d 64 70 2d 3e 6b 65 79 | 78 68 65 61 64 20 3d 20 |mdp->key|xhead = |
|00003ba0| 4e 55 4c 4c 3b 0d 09 09 | 65 6c 73 65 0d 09 09 09 |NULL;...|else....|
|00003bb0| 70 72 65 76 6b 65 79 78 | 70 2d 3e 6e 65 78 74 6b |prevkeyx|p->nextk|
|00003bc0| 65 79 20 3d 20 4e 55 4c | 4c 3b 0d 09 09 09 09 2f |ey = NUL|L;...../|
|00003bd0| 2a 20 66 69 78 20 74 68 | 65 20 6c 69 6e 6b 20 62 |* fix th|e link b|
|00003be0| 65 66 6f 72 65 20 74 6f | 20 72 65 66 6c 65 63 74 |efore to| reflect|
|00003bf0| 20 6e 6f 20 6d 6f 72 65 | 20 69 6e 20 71 20 2a 2f | no more| in q */|
|00003c00| 0d 09 7d 0d 09 72 65 74 | 75 72 6e 28 30 29 3b 0d |..}..ret|urn(0);.|
|00003c10| 7d 0d 0d 0d 2f 2a 09 54 | 68 69 73 20 72 6f 75 74 |}.../*.T|his rout|
|00003c20| 69 6e 65 20 72 65 74 75 | 72 6e 73 20 61 20 70 6f |ine retu|rns a po|
|00003c30| 69 6e 74 65 72 20 74 6f | 20 74 68 65 20 61 63 74 |inter to| the act|
|00003c40| 69 6f 6e 20 73 65 71 75 | 65 6e 63 65 20 61 73 73 |ion sequ|ence ass|
|00003c50| 6f 63 69 61 74 65 64 20 | 77 69 74 68 20 61 20 6b |ociated |with a k|
|00003c60| 65 79 20 0d 09 69 66 20 | 6e 6f 20 61 63 74 69 6f |ey ..if |no actio|
|00003c70| 6e 20 73 65 71 75 65 6e | 63 65 20 65 78 69 73 74 |n sequen|ce exist|
|00003c80| 73 2c 20 69 74 20 72 65 | 74 75 72 6e 73 20 4e 55 |s, it re|turns NU|
|00003c90| 4c 4c 20 20 0d 09 2a 2f | 0d 0d 73 74 72 75 63 74 |LL ..*/|..struct|
|00003ca0| 20 6b 65 79 78 6c 69 73 | 74 20 2a 0d 6b 65 79 78 | keyxlis|t *.keyx|
|00003cb0| 70 74 72 28 6b 65 79 69 | 64 29 0d 6c 6f 6e 67 20 |ptr(keyi|d).long |
|00003cc0| 6b 65 79 69 64 3b 0d 7b | 0d 09 6c 6f 6e 67 20 6b |keyid;.{|..long k|
|00003cd0| 65 79 78 69 64 3b 0d 09 | 73 74 72 75 63 74 20 6b |eyxid;..|struct k|
|00003ce0| 65 79 78 6c 69 73 74 20 | 2a 20 6b 65 79 78 70 3b |eyxlist |* keyxp;|
|00003cf0| 0d 09 0d 09 66 6f 72 20 | 28 6b 65 79 78 70 20 3d |....for |(keyxp =|
|00003d00| 20 6b 65 79 64 70 2d 3e | 6b 65 79 78 68 65 61 64 | keydp->|keyxhead|
|00003d10| 3b 20 6b 65 79 78 70 20 | 21 3d 20 4e 55 4c 4c 3b |; keyxp |!= NULL;|
|00003d20| 20 6b 65 79 78 70 20 3d | 20 6b 65 79 78 70 2d 3e | keyxp =| keyxp->|
|00003d30| 6e 65 78 74 6b 65 79 29 | 20 7b 0d 09 09 6b 65 79 |nextkey)| {...key|
|00003d40| 78 69 64 20 3d 20 28 28 | 73 74 72 75 63 74 20 6b |xid = ((|struct k|
|00003d50| 65 79 61 63 74 6c 69 73 | 74 20 2a 29 20 28 2a 6b |eyactlis|t *) (*k|
|00003d60| 65 79 78 70 2d 3e 68 6b | 65 79 61 63 74 29 29 2d |eyxp->hk|eyact))-|
|00003d70| 3e 6b 65 79 69 64 3b 0d | 09 09 69 66 20 28 6b 65 |>keyid;.|..if (ke|
|00003d80| 79 78 69 64 20 3d 3d 20 | 6b 65 79 69 64 29 20 7b |yxid == |keyid) {|
|00003d90| 0d 09 09 09 2f 2a 20 77 | 65 27 76 65 20 67 6f 74 |..../* w|e've got|
|00003da0| 20 61 20 6d 61 74 63 68 | 2c 20 72 65 74 75 72 6e | a match|, return|
|00003db0| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 6d 61 63 72 | pointer| to macr|
|00003dc0| 6f 20 73 74 72 75 63 74 | 20 2a 2f 0d 09 09 09 72 |o struct| */....r|
|00003dd0| 65 74 75 72 6e 28 28 73 | 74 72 75 63 74 20 6b 65 |eturn((s|truct ke|
|00003de0| 79 78 6c 69 73 74 20 2a | 29 20 6b 65 79 78 70 29 |yxlist *|) keyxp)|
|00003df0| 3b 0d 09 09 7d 0d 09 7d | 0d 09 72 65 74 75 72 6e |;...}..}|..return|
|00003e00| 28 4e 55 4c 4c 29 3b 0d | 09 09 2f 2a 20 6e 6f 20 |(NULL);.|../* no |
|00003e10| 6d 61 74 63 68 20 2a 2f | 0d 7d 0d 0d 0d 2f 2a 20 |match */|.}.../* |
|00003e20| 54 4f 44 4f 20 73 68 6f | 75 6c 64 20 75 73 65 20 |TODO sho|uld use |
|00003e30| 6b 65 79 78 70 74 72 20 | 6e 6f 74 20 6b 65 79 69 |keyxptr |not keyi|
|00003e40| 64 20 2a 2f 0d 0d 73 74 | 72 75 63 74 20 74 6f 6b |d */..st|ruct tok|
|00003e50| 65 6e 20 2a 0d 6b 65 79 | 78 66 69 6e 64 28 6b 65 |en *.key|xfind(ke|
|00003e60| 79 69 64 2c 20 61 63 74 | 63 6f 75 6e 74 29 0d 6c |yid, act|count).l|
|00003e70| 6f 6e 67 20 6b 65 79 69 | 64 3b 0d 73 68 6f 72 74 |ong keyi|d;.short|
|00003e80| 20 2a 20 61 63 74 63 6f | 75 6e 74 3b 0d 7b 0d 09 | * actco|unt;.{..|
|00003e90| 6c 6f 6e 67 20 6b 65 79 | 78 69 64 3b 0d 09 73 74 |long key|xid;..st|
|00003ea0| 72 75 63 74 20 6b 65 79 | 78 6c 69 73 74 20 2a 20 |ruct key|xlist * |
|00003eb0| 6b 65 79 78 70 3b 0d 09 | 73 74 72 75 63 74 20 74 |keyxp;..|struct t|
|00003ec0| 6f 6b 65 6e 20 2a 20 74 | 6f 6b 65 70 3b 0d 09 0d |oken * t|okep;...|
|00003ed0| 09 66 6f 72 20 28 6b 65 | 79 78 70 20 3d 20 6b 65 |.for (ke|yxp = ke|
|00003ee0| 79 64 70 2d 3e 6b 65 79 | 78 68 65 61 64 3b 20 6b |ydp->key|xhead; k|
|00003ef0| 65 79 78 70 20 21 3d 20 | 4e 55 4c 4c 3b 20 6b 65 |eyxp != |NULL; ke|
|00003f00| 79 78 70 20 3d 20 6b 65 | 79 78 70 2d 3e 6e 65 78 |yxp = ke|yxp->nex|
|00003f10| 74 6b 65 79 29 20 7b 0d | 09 09 6b 65 79 78 69 64 |tkey) {.|..keyxid|
|00003f20| 20 3d 20 28 28 73 74 72 | 75 63 74 20 6b 65 79 61 | = ((str|uct keya|
|00003f30| 63 74 6c 69 73 74 20 2a | 29 20 28 2a 28 6b 65 79 |ctlist *|) (*(key|
|00003f40| 78 70 2d 3e 68 6b 65 79 | 61 63 74 29 29 29 2d 3e |xp->hkey|act)))->|
|00003f50| 6b 65 79 69 64 3b 0d 09 | 09 69 66 20 28 6b 65 79 |keyid;..|.if (key|
|00003f60| 78 69 64 20 3d 3d 20 6b | 65 79 69 64 29 20 7b 0d |xid == k|eyid) {.|
|00003f70| 09 09 09 2f 2a 20 77 65 | 27 76 65 20 67 6f 74 20 |.../* we|'ve got |
|00003f80| 61 20 6d 61 74 63 68 2c | 20 72 65 74 75 72 6e 20 |a match,| return |
|00003f90| 63 6f 75 6e 74 20 61 6e | 64 20 70 6f 69 6e 74 65 |count an|d pointe|
|00003fa0| 72 20 74 6f 20 61 63 74 | 69 6f 6e 20 2a 2f 0d 09 |r to act|ion */..|
|00003fb0| 09 09 2a 61 63 74 63 6f | 75 6e 74 20 3d 20 6b 65 |..*actco|unt = ke|
|00003fc0| 79 78 70 2d 3e 61 63 74 | 6c 65 6e 3b 0d 09 09 09 |yxp->act|len;....|
|00003fd0| 74 6f 6b 65 70 20 3d 20 | 26 28 28 73 74 72 75 63 |tokep = |&((struc|
|00003fe0| 74 20 6b 65 79 61 63 74 | 6c 69 73 74 20 2a 29 20 |t keyact|list *) |
|00003ff0| 2a 28 6b 65 79 78 70 2d | 3e 68 6b 65 79 61 63 74 |*(keyxp-|>hkeyact|
|00004000| 29 29 2d 3e 61 63 74 5b | 30 5d 3b 0d 09 09 09 72 |))->act[|0];....r|
|00004010| 65 74 75 72 6e 28 74 6f | 6b 65 70 29 3b 0d 09 09 |eturn(to|kep);...|
|00004020| 7d 0d 09 7d 0d 09 72 65 | 74 75 72 6e 28 4e 55 4c |}..}..re|turn(NUL|
|00004030| 4c 29 3b 0d 09 09 2f 2a | 20 6e 6f 20 6d 61 74 63 |L);.../*| no matc|
|00004040| 68 20 2a 2f 0d 7d 0d 0d | 2f 2a 20 72 65 6c 65 61 |h */.}..|/* relea|
|00004050| 73 65 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 62 |se the c|urrent b|
|00004060| 61 74 63 68 20 6f 66 20 | 6b 65 79 20 72 65 73 6f |atch of |key reso|
|00004070| 75 72 63 65 73 20 2a 2f | 0d 0d 6b 65 79 78 72 65 |urces */|..keyxre|
|00004080| 6c 65 61 73 65 28 29 0d | 7b 0d 0d 09 73 74 72 75 |lease().|{...stru|
|00004090| 63 74 20 6b 65 79 78 6c | 69 73 74 20 2a 20 6b 65 |ct keyxl|ist * ke|
|000040a0| 79 78 70 2c 20 2a 20 6f | 6c 64 78 70 3b 0d 09 0d |yxp, * o|ldxp;...|
|000040b0| 09 66 6f 72 20 28 6b 65 | 79 78 70 20 3d 20 65 6d |.for (ke|yxp = em|
|000040c0| 64 70 2d 3e 6b 65 79 78 | 68 65 61 64 3b 20 6b 65 |dp->keyx|head; ke|
|000040d0| 79 78 70 20 21 3d 20 4e | 55 4c 4c 3b 20 29 20 7b |yxp != N|ULL; ) {|
|000040e0| 0d 09 09 2f 2a 20 67 6f | 20 74 68 72 6f 75 67 68 |.../* go| through|
|000040f0| 20 6c 69 73 74 20 72 65 | 6c 65 61 73 69 6e 67 20 | list re|leasing |
|00004100| 61 6c 6c 20 2a 2f 0d 09 | 09 44 69 73 70 6f 73 48 |all */..|.DisposH|
|00004110| 61 6e 64 6c 65 28 6b 65 | 79 78 70 2d 3e 68 6b 65 |andle(ke|yxp->hke|
|00004120| 79 61 63 74 29 3b 0d 09 | 09 6f 6c 64 78 70 20 3d |yact);..|.oldxp =|
|00004130| 20 6b 65 79 78 70 3b 0d | 09 09 6b 65 79 78 70 20 | keyxp;.|..keyxp |
|00004140| 3d 20 6b 65 79 78 70 2d | 3e 6e 65 78 74 6b 65 79 |= keyxp-|>nextkey|
|00004150| 3b 0d 09 09 66 72 65 65 | 28 6f 6c 64 78 70 29 3b |;...free|(oldxp);|
|00004160| 0d 09 7d 0d 09 65 6d 64 | 70 2d 3e 6b 65 79 78 68 |..}..emd|p->keyxh|
|00004170| 65 61 64 20 3d 20 4e 55 | 4c 4c 3b 0d 7d 0d 0d 2f |ead = NU|LL;.}../|
|00004180| 2a 09 72 65 6d 6f 76 65 | 20 61 20 6b 65 79 20 6d |*.remove| a key m|
|00004190| 61 63 72 6f 20 65 6e 74 | 72 79 20 66 72 6f 6d 20 |acro ent|ry from |
|000041a0| 74 68 65 20 6c 69 6e 6b | 65 64 20 6c 69 73 74 2c |the link|ed list,|
|000041b0| 0d 09 61 6e 64 20 72 65 | 6d 6f 76 65 20 74 68 65 |..and re|move the|
|000041c0| 20 72 65 73 6f 75 72 63 | 65 20 66 72 6f 6d 20 74 | resourc|e from t|
|000041d0| 68 65 20 72 65 73 6f 75 | 72 63 65 20 66 69 6c 65 |he resou|rce file|
|000041e0| 0d 09 2a 2f 0d 09 0d 63 | 68 61 72 20 2a 20 6b 65 |..*/...c|har * ke|
|000041f0| 79 72 65 73 66 61 69 6c | 20 3d 20 22 4b 65 79 20 |yresfail| = "Key |
|00004200| 72 65 73 6f 75 72 63 65 | 20 6b 69 6c 6c 20 66 61 |resource| kill fa|
|00004210| 69 6c 65 64 22 3b 0d 0d | 6b 65 79 78 6b 69 6c 6c |iled";..|keyxkill|
|00004220| 28 6b 65 79 70 29 0d 73 | 74 72 75 63 74 20 6b 65 |(keyp).s|truct ke|
|00004230| 79 78 6c 69 73 74 20 2a | 20 6b 65 79 70 3b 0d 7b |yxlist *| keyp;.{|
|00004240| 0d 09 73 74 72 75 63 74 | 20 6b 65 79 78 6c 69 73 |..struct| keyxlis|
|00004250| 74 20 2a 20 6b 69 6c 6c | 6e 65 78 74 3b 0d 09 73 |t * kill|next;..s|
|00004260| 68 6f 72 74 20 68 6f 6d | 65 6b 65 79 72 65 73 3b |hort hom|ekeyres;|
|00004270| 0d 09 0d 09 69 66 20 28 | 6b 65 79 70 20 21 3d 20 |....if (|keyp != |
|00004280| 4e 55 4c 4c 29 20 7b 0d | 09 09 2f 2a 20 64 65 6c |NULL) {.|../* del|
|00004290| 65 74 65 20 72 65 73 6f | 75 72 63 65 20 2a 2f 0d |ete reso|urce */.|
|000042a0| 09 09 69 66 20 28 72 65 | 6e 65 77 72 65 73 6f 75 |..if (re|newresou|
|000042b0| 72 63 65 28 6b 65 79 70 | 29 29 20 7b 0d 09 09 09 |rce(keyp|)) {....|
|000042c0| 68 6f 6d 65 6b 65 79 72 | 65 73 20 3d 20 48 6f 6d |homekeyr|es = Hom|
|000042d0| 65 52 65 73 46 69 6c 65 | 28 6b 65 79 70 2d 3e 68 |eResFile|(keyp->h|
|000042e0| 6b 65 79 61 63 74 29 3b | 0d 09 09 09 52 6d 76 65 |keyact);|....Rmve|
|000042f0| 52 65 73 6f 75 72 63 65 | 28 6b 65 79 70 2d 3e 68 |Resource|(keyp->h|
|00004300| 6b 65 79 61 63 74 29 3b | 0d 09 09 09 55 70 64 61 |keyact);|....Upda|
|00004310| 74 65 52 65 73 46 69 6c | 65 28 68 6f 6d 65 6b 65 |teResFil|e(homeke|
|00004320| 79 72 65 73 29 3b 0d 09 | 09 09 69 66 20 28 52 65 |yres);..|..if (Re|
|00004330| 73 45 72 72 6f 72 28 29 | 29 0d 09 09 09 09 65 72 |sError()|).....er|
|00004340| 72 6f 72 28 6b 65 79 72 | 65 73 66 61 69 6c 29 3b |ror(keyr|esfail);|
|00004350| 0d 09 09 7d 0d 09 09 44 | 69 73 70 6f 73 48 61 6e |...}...D|isposHan|
|00004360| 64 6c 65 28 6b 65 79 70 | 2d 3e 68 6b 65 79 61 63 |dle(keyp|->hkeyac|
|00004370| 74 29 3b 0d 0d 09 09 69 | 66 20 28 20 28 6b 69 6c |t);....i|f ( (kil|
|00004380| 6c 6e 65 78 74 20 3d 20 | 6b 65 79 70 2d 3e 6e 65 |lnext = |keyp->ne|
|00004390| 78 74 6b 65 79 29 20 21 | 3d 20 4e 55 4c 4c 29 20 |xtkey) !|= NULL) |
|000043a0| 7b 0d 09 09 09 2f 2a 20 | 77 65 27 72 65 20 69 6e |{..../* |we're in|
|000043b0| 20 74 68 65 20 66 72 6f | 6e 74 20 6f 72 20 6d 69 | the fro|nt or mi|
|000043c0| 64 64 6c 65 20 6f 66 20 | 74 68 65 20 6c 69 73 74 |ddle of |the list|
|000043d0| 2c 20 64 65 6c 65 74 65 | 20 74 68 65 20 0d 09 09 |, delete| the ...|
|000043e0| 09 09 6c 69 73 74 20 65 | 6e 74 72 79 20 62 79 20 |..list e|ntry by |
|000043f0| 6d 6f 76 69 6e 67 20 2a | 6e 65 78 74 2a 20 65 6e |moving *|next* en|
|00004400| 74 72 79 20 75 70 20 61 | 6e 64 20 66 72 65 65 69 |try up a|nd freei|
|00004410| 6e 67 20 2a 69 74 2a 20 | 2a 2f 0d 09 09 09 6b 65 |ng *it* |*/....ke|
|00004420| 79 70 2d 3e 61 63 74 6c | 65 6e 20 3d 20 6b 65 79 |yp->actl|en = key|
|00004430| 70 2d 3e 6e 65 78 74 6b | 65 79 2d 3e 61 63 74 6c |p->nextk|ey->actl|
|00004440| 65 6e 3b 0d 09 09 09 6b | 65 79 70 2d 3e 68 6b 65 |en;....k|eyp->hke|
|00004450| 79 61 63 74 20 3d 20 6b | 65 79 70 2d 3e 6e 65 78 |yact = k|eyp->nex|
|00004460| 74 6b 65 79 2d 3e 68 6b | 65 79 61 63 74 3b 0d 09 |tkey->hk|eyact;..|
|00004470| 09 09 6b 65 79 70 2d 3e | 6e 65 78 74 6b 65 79 20 |..keyp->|nextkey |
|00004480| 3d 20 6b 65 79 70 2d 3e | 6e 65 78 74 6b 65 79 2d |= keyp->|nextkey-|
|00004490| 3e 6e 65 78 74 6b 65 79 | 3b 0d 09 09 09 66 72 65 |>nextkey|;....fre|
|000044a0| 65 28 6b 69 6c 6c 6e 65 | 78 74 29 3b 0d 09 09 7d |e(killne|xt);...}|
|000044b0| 0d 09 09 65 6c 73 65 20 | 7b 0d 09 09 09 2f 2a 20 |...else |{..../* |
|000044c0| 77 65 27 72 65 20 61 74 | 20 74 68 65 20 65 6e 64 |we're at| the end|
|000044d0| 20 6f 66 20 74 68 65 20 | 6c 69 73 74 20 2a 2f 0d | of the |list */.|
|000044e0| 09 09 09 69 66 20 28 20 | 28 6b 69 6c 6c 6e 65 78 |...if ( |(killnex|
|000044f0| 74 20 3d 20 6b 65 79 64 | 70 2d 3e 6b 65 79 78 68 |t = keyd|p->keyxh|
|00004500| 65 61 64 29 20 3d 3d 20 | 6b 65 79 70 29 20 7b 0d |ead) == |keyp) {.|
|00004510| 09 09 09 09 2f 2a 20 77 | 65 27 72 65 20 61 74 20 |..../* w|e're at |
|00004520| 74 68 65 20 66 72 6f 6e | 74 20 74 6f 6f 21 20 2a |the fron|t too! *|
|00004530| 2f 0d 09 09 09 09 6b 65 | 79 64 70 2d 3e 6b 65 79 |/.....ke|ydp->key|
|00004540| 78 68 65 61 64 20 3d 20 | 4e 55 4c 4c 3b 0d 09 09 |xhead = |NULL;...|
|00004550| 09 09 66 72 65 65 28 6b | 69 6c 6c 6e 65 78 74 29 |..free(k|illnext)|
|00004560| 3b 0d 09 09 09 7d 0d 09 | 09 09 65 6c 73 65 20 7b |;....}..|..else {|
|00004570| 0d 09 09 09 09 2f 2a 20 | 67 6f 20 74 68 72 6f 75 |...../* |go throu|
|00004580| 67 68 20 74 68 65 20 6c | 69 73 74 20 6f 66 20 6d |gh the l|ist of m|
|00004590| 61 63 72 6f 73 20 75 6e | 74 69 6c 20 70 72 65 76 |acros un|til prev|
|000045a0| 69 6f 75 73 20 6c 69 6e | 6b 20 2a 2f 0d 09 09 09 |ious lin|k */....|
|000045b0| 09 66 6f 72 20 28 3b 20 | 6b 69 6c 6c 6e 65 78 74 |.for (; |killnext|
|000045c0| 2d 3e 6e 65 78 74 6b 65 | 79 20 21 3d 20 6b 65 79 |->nextke|y != key|
|000045d0| 70 3b 20 20 6b 69 6c 6c | 6e 65 78 74 20 3d 20 6b |p; kill|next = k|
|000045e0| 69 6c 6c 6e 65 78 74 2d | 3e 6e 65 78 74 6b 65 79 |illnext-|>nextkey|
|000045f0| 29 0d 09 09 09 09 09 3b | 0d 09 09 09 09 6b 69 6c |)......;|.....kil|
|00004600| 6c 6e 65 78 74 2d 3e 6e | 65 78 74 6b 65 79 20 3d |lnext->n|extkey =|
|00004610| 20 4e 55 4c 4c 3b 20 0d | 09 09 09 09 09 2f 2a 20 | NULL; .|...../* |
|00004620| 74 65 72 6d 69 6e 61 74 | 65 20 74 68 65 20 6c 69 |terminat|e the li|
|00004630| 73 74 20 2a 2f 0d 09 09 | 09 09 66 72 65 65 28 6b |st */...|..free(k|
|00004640| 65 79 70 29 3b 0d 09 09 | 09 09 09 2f 2a 20 6b 69 |eyp);...|.../* ki|
|00004650| 6c 6c 20 74 68 65 20 65 | 6e 74 72 79 20 2a 2f 0d |ll the e|ntry */.|
|00004660| 09 09 09 7d 0d 09 09 7d | 0d 09 09 72 65 74 75 72 |...}...}|...retur|
|00004670| 6e 28 30 29 3b 0d 09 7d | 0d 09 72 65 74 75 72 6e |n(0);..}|..return|
|00004680| 28 4e 45 47 29 3b 0d 09 | 09 2f 2a 20 6e 6f 20 6d |(NEG);..|./* no m|
|00004690| 61 74 63 68 20 2a 2f 0d | 7d 0d 0d 0d 0d 63 68 61 |atch */.|}....cha|
|000046a0| 72 20 74 68 69 73 69 73 | 74 65 78 74 5b 5d 20 3d |r thisis|text[] =|
|000046b0| 20 22 4b 65 79 73 20 69 | 6e 20 74 68 65 20 6d 61 | "Keys i|n the ma|
|000046c0| 63 72 6f 20 6c 69 73 74 | 3a 5c 72 5c 72 22 3b 0d |cro list|:\r\r";.|
|000046d0| 63 68 61 72 20 6d 6f 72 | 65 74 65 78 74 5b 5d 20 |char mor|etext[] |
|000046e0| 3d 20 22 5c 72 43 6c 69 | 63 6b 20 66 6f 72 20 6d |= "\rCli|ck for m|
|000046f0| 6f 72 65 2e 2e 2e 22 3b | 0d 63 68 61 72 20 65 6e |ore...";|.char en|
|00004700| 64 74 65 78 74 5b 5d 20 | 3d 20 22 5c 72 45 6e 64 |dtext[] |= "\rEnd|
|00004710| 20 6f 66 20 6c 69 73 74 | 2c 20 63 6c 69 63 6b 20 | of list|, click |
|00004720| 74 6f 20 65 78 69 74 22 | 3b 0d 0d 23 64 65 66 69 |to exit"|;..#defi|
|00004730| 6e 65 20 44 55 4d 50 57 | 49 4e 44 20 31 31 31 31 |ne DUMPW|IND 1111|
|00004740| 0d 23 64 65 66 69 6e 65 | 20 58 54 45 58 54 09 35 |.#define| XTEXT.5|
|00004750| 30 30 0d 0d 6b 65 79 78 | 64 75 6d 70 28 66 6f 6e |00..keyx|dump(fon|
|00004760| 74 2c 20 66 6f 6e 74 73 | 69 7a 65 29 0d 73 68 6f |t, fonts|ize).sho|
|00004770| 72 74 20 66 6f 6e 74 3b | 0d 73 68 6f 72 74 20 66 |rt font;|.short f|
|00004780| 6f 6e 74 73 69 7a 65 3b | 0d 7b 0d 09 6c 6f 6e 67 |ontsize;|.{..long|
|00004790| 20 6c 65 6e 67 74 68 3b | 0d 09 63 68 61 72 20 74 | length;|..char t|
|000047a0| 68 65 74 65 78 74 5b 58 | 54 45 58 54 5d 3b 0d 09 |hetext[X|TEXT];..|
|000047b0| 63 68 61 72 20 73 70 61 | 63 65 73 5b 38 5d 3b 0d |char spa|ces[8];.|
|000047c0| 09 45 76 65 6e 74 52 65 | 63 6f 72 64 20 61 6e 65 |.EventRe|cord ane|
|000047d0| 76 65 6e 74 3b 0d 09 54 | 45 48 61 6e 64 6c 65 20 |vent;..T|EHandle |
|000047e0| 74 65 78 74 68 61 6e 64 | 3b 0d 09 57 69 6e 64 6f |texthand|;..Windo|
|000047f0| 77 50 74 72 20 68 65 6c | 70 77 69 6e 64 3b 0d 09 |wPtr hel|pwind;..|
|00004800| 47 72 61 66 50 74 72 20 | 6f 6c 64 70 6f 72 74 3b |GrafPtr |oldport;|
|00004810| 0d 09 52 65 63 74 20 62 | 6f 75 6e 64 73 3b 0d 09 |..Rect b|ounds;..|
|00004820| 73 74 72 75 63 74 20 6b | 65 79 78 6c 69 73 74 20 |struct k|eyxlist |
|00004830| 2a 20 6b 65 79 78 70 3b | 0d 09 6c 6f 6e 67 20 6b |* keyxp;|..long k|
|00004840| 65 79 78 69 64 3b 0d 09 | 73 68 6f 72 74 20 64 6b |eyxid;..|short dk|
|00004850| 65 79 63 6f 64 65 2c 20 | 6d 6f 64 69 66 69 65 72 |eycode, |modifier|
|00004860| 73 3b 0d 09 63 68 61 72 | 20 2a 20 61 63 74 70 74 |s;..char| * actpt|
|00004870| 72 3b 0d 09 63 68 61 72 | 20 2a 20 74 65 78 74 65 |r;..char| * texte|
|00004880| 6e 64 3b 0d 09 73 74 72 | 75 63 74 20 74 6f 6b 65 |nd;..str|uct toke|
|00004890| 6e 20 2a 20 6b 65 79 61 | 63 74 3b 0d 09 69 6e 74 |n * keya|ct;..int|
|000048a0| 20 63 6f 75 6e 74 3b 0d | 09 0d 09 65 6d 77 64 65 | count;.|...emwde|
|000048b0| 61 63 74 69 76 61 74 65 | 28 29 3b 0d 09 69 66 20 |activate|();..if |
|000048c0| 28 20 28 68 65 6c 70 77 | 69 6e 64 20 3d 20 47 65 |( (helpw|ind = Ge|
|000048d0| 74 4e 65 77 57 69 6e 64 | 6f 77 28 44 55 4d 50 57 |tNewWind|ow(DUMPW|
|000048e0| 49 4e 44 2c 20 28 50 74 | 72 29 20 4e 55 4c 4c 2c |IND, (Pt|r) NULL,|
|000048f0| 20 28 57 69 6e 64 6f 77 | 50 74 72 29 20 28 2d 31 | (Window|Ptr) (-1|
|00004900| 29 29 20 29 20 3d 3d 20 | 4e 55 4c 4c 29 0d 09 09 |)) ) == |NULL)...|
|00004910| 72 65 74 75 72 6e 28 2d | 31 29 3b 0d 09 09 0d 09 |return(-|1);.....|
|00004920| 63 65 6e 74 65 72 77 69 | 6e 64 28 68 65 6c 70 77 |centerwi|nd(helpw|
|00004930| 69 6e 64 29 3b 0d 09 0d | 09 73 74 72 63 70 79 28 |ind);...|.strcpy(|
|00004940| 26 73 70 61 63 65 73 5b | 30 5d 2c 20 22 20 20 20 |&spaces[|0], " |
|00004950| 20 20 22 29 3b 0d 09 0d | 09 0d 09 47 65 74 50 6f | ");...|...GetPo|
|00004960| 72 74 28 26 6f 6c 64 70 | 6f 72 74 29 3b 0d 09 53 |rt(&oldp|ort);..S|
|00004970| 65 74 50 6f 72 74 28 68 | 65 6c 70 77 69 6e 64 29 |etPort(h|elpwind)|
|00004980| 3b 0d 0d 09 62 6f 75 6e | 64 73 2e 74 6f 70 20 3d |;...boun|ds.top =|
|00004990| 20 36 3b 0d 09 62 6f 75 | 6e 64 73 2e 6c 65 66 74 | 6;..bou|nds.left|
|000049a0| 20 3d 20 36 3b 0d 09 62 | 6f 75 6e 64 73 2e 62 6f | = 6;..b|ounds.bo|
|000049b0| 74 74 6f 6d 20 3d 20 74 | 68 65 50 6f 72 74 2d 3e |ttom = t|hePort->|
|000049c0| 70 6f 72 74 52 65 63 74 | 2e 62 6f 74 74 6f 6d 20 |portRect|.bottom |
|000049d0| 2d 20 36 3b 0d 09 62 6f | 75 6e 64 73 2e 72 69 67 |- 6;..bo|unds.rig|
|000049e0| 68 74 20 3d 20 74 68 65 | 50 6f 72 74 2d 3e 70 6f |ht = the|Port->po|
|000049f0| 72 74 52 65 63 74 2e 72 | 69 67 68 74 20 2d 20 36 |rtRect.r|ight - 6|
|00004a00| 3b 0d 09 74 65 78 74 68 | 61 6e 64 20 3d 20 54 45 |;..texth|and = TE|
|00004a10| 4e 65 77 28 26 62 6f 75 | 6e 64 73 2c 20 26 62 6f |New(&bou|nds, &bo|
|00004a20| 75 6e 64 73 29 3b 0d 09 | 0d 09 28 2a 74 65 78 74 |unds);..|..(*text|
|00004a30| 68 61 6e 64 29 2d 3e 74 | 78 46 6f 6e 74 20 3d 20 |hand)->t|xFont = |
|00004a40| 66 6f 6e 74 3b 0d 09 28 | 2a 74 65 78 74 68 61 6e |font;..(|*texthan|
|00004a50| 64 29 2d 3e 74 78 53 69 | 7a 65 20 3d 20 66 6f 6e |d)->txSi|ze = fon|
|00004a60| 74 73 69 7a 65 3b 0d 09 | 54 45 53 65 74 53 65 6c |tsize;..|TESetSel|
|00004a70| 65 63 74 28 20 28 6c 6f | 6e 67 29 20 30 2c 20 28 |ect( (lo|ng) 0, (|
|00004a80| 6c 6f 6e 67 29 20 28 2a | 74 65 78 74 68 61 6e 64 |long) (*|texthand|
|00004a90| 29 2d 3e 74 65 4c 65 6e | 67 74 68 2c 20 74 65 78 |)->teLen|gth, tex|
|00004aa0| 74 68 61 6e 64 29 3b 0d | 09 54 45 49 6e 73 65 72 |thand);.|.TEInser|
|00004ab0| 74 28 74 68 69 73 69 73 | 74 65 78 74 2c 20 28 6c |t(thisis|text, (l|
|00004ac0| 6f 6e 67 29 20 73 74 72 | 6c 65 6e 28 74 68 69 73 |ong) str|len(this|
|00004ad0| 69 73 74 65 78 74 29 2c | 20 74 65 78 74 68 61 6e |istext),| texthan|
|00004ae0| 64 29 3b 0d 0d 09 66 6f | 72 20 28 6b 65 79 78 70 |d);...fo|r (keyxp|
|00004af0| 20 3d 20 6b 65 79 64 70 | 2d 3e 6b 65 79 78 68 65 | = keydp|->keyxhe|
|00004b00| 61 64 3b 20 6b 65 79 78 | 70 20 21 3d 20 4e 55 4c |ad; keyx|p != NUL|
|00004b10| 4c 3b 20 6b 65 79 78 70 | 20 3d 20 6b 65 79 78 70 |L; keyxp| = keyxp|
|00004b20| 2d 3e 6e 65 78 74 6b 65 | 79 29 20 7b 0d 09 09 6b |->nextke|y) {...k|
|00004b30| 65 79 78 69 64 20 3d 20 | 28 28 73 74 72 75 63 74 |eyxid = |((struct|
|00004b40| 20 6b 65 79 61 63 74 6c | 69 73 74 20 2a 29 20 28 | keyactl|ist *) (|
|00004b50| 2a 6b 65 79 78 70 2d 3e | 68 6b 65 79 61 63 74 29 |*keyxp->|hkeyact)|
|00004b60| 29 2d 3e 6b 65 79 69 64 | 3b 0d 0d 09 09 6d 6f 64 |)->keyid|;....mod|
|00004b70| 69 66 69 65 72 73 20 3d | 20 28 28 6b 65 79 78 69 |ifiers =| ((keyxi|
|00004b80| 64 20 3e 3e 20 31 36 29 | 20 26 20 30 78 66 66 66 |d >> 16)| & 0xfff|
|00004b90| 66 29 3b 0d 09 09 64 6b | 65 79 63 6f 64 65 20 3d |f);...dk|eycode =|
|00004ba0| 20 28 6b 65 79 78 69 64 | 20 26 20 30 78 66 66 66 | (keyxid| & 0xfff|
|00004bb0| 66 29 20 3e 3e 20 38 3b | 0d 0d 09 09 2f 2a 20 67 |f) >> 8;|..../* g|
|00004bc0| 69 76 65 20 74 68 65 20 | 6b 65 79 20 61 20 6e 61 |ive the |key a na|
|00004bd0| 6d 65 20 2a 2f 0d 09 09 | 54 45 49 6e 73 65 72 74 |me */...|TEInsert|
|00004be0| 28 26 73 70 61 63 65 73 | 5b 30 5d 2c 20 28 6c 6f |(&spaces|[0], (lo|
|00004bf0| 6e 67 29 20 73 74 72 6c | 65 6e 28 73 70 61 63 65 |ng) strl|en(space|
|00004c00| 73 29 2c 20 74 65 78 74 | 68 61 6e 64 29 3b 0d 09 |s), text|hand);..|
|00004c10| 09 6e 61 6d 65 6b 65 79 | 28 74 68 65 74 65 78 74 |.namekey|(thetext|
|00004c20| 2c 20 64 6b 65 79 63 6f | 64 65 2c 20 6d 6f 64 69 |, dkeyco|de, modi|
|00004c30| 66 69 65 72 73 29 3b 0d | 09 09 54 45 49 6e 73 65 |fiers);.|..TEInse|
|00004c40| 72 74 28 26 74 68 65 74 | 65 78 74 5b 30 5d 2c 20 |rt(&thet|ext[0], |
|00004c50| 28 6c 6f 6e 67 29 20 73 | 74 72 6c 65 6e 28 74 68 |(long) s|trlen(th|
|00004c60| 65 74 65 78 74 29 2c 20 | 74 65 78 74 68 61 6e 64 |etext), |texthand|
|00004c70| 29 3b 0d 09 09 54 45 49 | 6e 73 65 72 74 28 22 2d |);...TEI|nsert("-|
|00004c80| 2d 22 2c 20 28 6c 6f 6e | 67 29 20 32 2c 20 74 65 |-", (lon|g) 2, te|
|00004c90| 78 74 68 61 6e 64 29 3b | 0d 09 09 0d 09 09 2f 2a |xthand);|....../*|
|00004ca0| 20 6e 6f 77 20 64 75 6d | 70 20 74 68 65 20 63 6f | now dum|p the co|
|00004cb0| 64 65 73 20 66 6f 72 20 | 69 74 20 2a 2f 0d 09 09 |des for |it */...|
|00004cc0| 63 6f 75 6e 74 20 3d 20 | 6b 65 79 78 70 2d 3e 61 |count = |keyxp->a|
|00004cd0| 63 74 6c 65 6e 3b 0d 09 | 09 6b 65 79 61 63 74 20 |ctlen;..|.keyact |
|00004ce0| 3d 20 26 28 28 73 74 72 | 75 63 74 20 6b 65 79 61 |= &((str|uct keya|
|00004cf0| 63 74 6c 69 73 74 20 2a | 29 20 28 2a 6b 65 79 78 |ctlist *|) (*keyx|
|00004d00| 70 2d 3e 68 6b 65 79 61 | 63 74 29 29 2d 3e 61 63 |p->hkeya|ct))->ac|
|00004d10| 74 5b 30 5d 3b 0d 09 09 | 66 6f 72 20 28 74 65 78 |t[0];...|for (tex|
|00004d20| 74 65 6e 64 20 3d 20 74 | 68 65 74 65 78 74 20 2b |tend = t|hetext +|
|00004d30| 20 58 54 45 58 54 2c 20 | 61 63 74 70 74 72 20 3d | XTEXT, |actptr =|
|00004d40| 20 26 74 68 65 74 65 78 | 74 5b 30 5d 3b 20 63 6f | &thetex|t[0]; co|
|00004d50| 75 6e 74 2d 2d 3b 20 6b | 65 79 61 63 74 2b 2b 29 |unt--; k|eyact++)|
|00004d60| 20 7b 0d 09 09 09 69 66 | 20 28 20 28 6c 65 6e 67 | {....if| ( (leng|
|00004d70| 74 68 20 3d 20 61 63 74 | 64 65 63 6f 64 65 28 61 |th = act|decode(a|
|00004d80| 63 74 70 74 72 2c 20 74 | 65 78 74 65 6e 64 2c 20 |ctptr, t|extend, |
|00004d90| 6b 65 79 61 63 74 2c 20 | 54 52 55 45 29 29 20 3d |keyact, |TRUE)) =|
|00004da0| 3d 20 4e 45 47 29 0d 09 | 09 09 09 2f 2a 20 65 72 |= NEG)..|.../* er|
|00004db0| 72 6f 72 20 64 65 63 6f | 64 69 6e 67 2d 2d 73 68 |ror deco|ding--sh|
|00004dc0| 6f 75 6c 64 20 61 6c 65 | 72 74 20 74 68 61 74 20 |ould ale|rt that |
|00004dd0| 61 74 20 65 6e 64 3f 20 | 2a 2f 0d 09 09 09 09 62 |at end? |*/.....b|
|00004de0| 72 65 61 6b 3b 0d 09 09 | 09 65 6c 73 65 0d 09 09 |reak;...|.else...|
|00004df0| 09 09 61 63 74 70 74 72 | 20 2b 3d 20 6c 65 6e 67 |..actptr| += leng|
|00004e00| 74 68 3b 0d 09 09 7d 0d | 09 09 6c 65 6e 67 74 68 |th;...}.|..length|
|00004e10| 20 3d 20 61 63 74 70 74 | 72 20 2d 20 26 74 68 65 | = actpt|r - &the|
|00004e20| 74 65 78 74 5b 30 5d 3b | 0d 09 09 69 66 20 28 6c |text[0];|...if (l|
|00004e30| 65 6e 67 74 68 20 2b 20 | 28 2a 74 65 78 74 68 61 |ength + |(*textha|
|00004e40| 6e 64 29 2d 3e 74 65 4c | 65 6e 67 74 68 20 05 3e |nd)->teL|ength .>|
|00004e50| 20 33 32 30 30 30 29 20 | 7b 0d 09 09 09 65 72 72 | 32000) |{....err|
|00004e60| 6f 72 28 22 54 65 78 74 | 20 74 6f 6f 20 6c 6f 6e |or("Text| too lon|
|00004e70| 67 20 74 6f 20 64 69 73 | 70 6c 61 79 22 29 3b 0d |g to dis|play");.|
|00004e80| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 7d 0d 09 09 |...break|;...}...|
|00004e90| 69 66 20 28 21 20 6d 65 | 6d 74 65 73 74 28 6c 65 |if (! me|mtest(le|
|00004ea0| 6e 67 74 68 2c 20 22 74 | 6f 20 64 75 6d 70 20 6b |ngth, "t|o dump k|
|00004eb0| 65 79 20 6d 61 63 72 6f | 73 22 29 29 0d 09 09 09 |ey macro|s"))....|
|00004ec0| 2f 2a 20 6f 75 74 20 6f | 66 20 6d 65 6d 6f 72 79 |/* out o|f memory|
|00004ed0| 20 2a 2f 0d 09 09 09 62 | 72 65 61 6b 3b 0d 09 09 | */....b|reak;...|
|00004ee0| 54 45 49 6e 73 65 72 74 | 28 26 74 68 65 74 65 78 |TEInsert|(&thetex|
|00004ef0| 74 5b 30 5d 2c 20 28 6c | 6f 6e 67 29 20 6c 65 6e |t[0], (l|ong) len|
|00004f00| 67 74 68 2c 20 74 65 78 | 74 68 61 6e 64 29 3b 0d |gth, tex|thand);.|
|00004f10| 0d 09 09 54 45 4b 65 79 | 28 43 52 2c 20 74 65 78 |...TEKey|(CR, tex|
|00004f20| 74 68 61 6e 64 29 3b 0d | 09 09 69 66 20 28 28 2a |thand);.|..if ((*|
|00004f30| 74 65 78 74 68 61 6e 64 | 29 2d 3e 73 65 6c 52 65 |texthand|)->selRe|
|00004f40| 63 74 2e 74 6f 70 20 3e | 20 62 6f 75 6e 64 73 2e |ct.top >| bounds.|
|00004f50| 62 6f 74 74 6f 6d 20 2d | 20 28 34 20 2a 20 66 6f |bottom -| (4 * fo|
|00004f60| 6e 74 73 69 7a 65 29 29 | 20 7b 0d 09 09 09 2f 2a |ntsize))| {..../*|
|00004f70| 20 61 74 20 62 6f 74 74 | 6f 6d 20 6f 66 20 77 69 | at bott|om of wi|
|00004f80| 6e 64 6f 77 20 2a 2f 0d | 09 09 09 54 45 49 6e 73 |ndow */.|...TEIns|
|00004f90| 65 72 74 28 6d 6f 72 65 | 74 65 78 74 2c 20 28 6c |ert(more|text, (l|
|00004fa0| 6f 6e 67 29 20 73 74 72 | 6c 65 6e 28 6d 6f 72 65 |ong) str|len(more|
|00004fb0| 74 65 78 74 29 2c 20 74 | 65 78 74 68 61 6e 64 29 |text), t|exthand)|
|00004fc0| 3b 0d 09 09 09 77 68 69 | 6c 65 20 28 21 47 65 74 |;....whi|le (!Get|
|00004fd0| 4e 65 78 74 45 76 65 6e | 74 28 6d 44 6f 77 6e 4d |NextEven|t(mDownM|
|00004fe0| 61 73 6b 2c 20 26 61 6e | 65 76 65 6e 74 29 29 20 |ask, &an|event)) |
|00004ff0| 7b 0d 09 09 09 09 2f 2a | 20 77 61 69 74 20 74 69 |{...../*| wait ti|
|00005000| 6c 6c 20 61 20 6d 6f 75 | 73 65 44 6f 77 6e 20 65 |ll a mou|seDown e|
|00005010| 76 65 6e 74 20 6f 63 63 | 75 72 73 20 74 6f 20 65 |vent occ|urs to e|
|00005020| 78 69 74 2c 20 75 6e 6c | 65 73 73 20 61 20 6b 65 |xit, unl|ess a ke|
|00005030| 79 20 69 73 20 68 69 74 | 20 2a 2f 0d 09 09 09 09 |y is hit| */.....|
|00005040| 53 79 73 74 65 6d 54 61 | 73 6b 28 29 3b 09 09 09 |SystemTa|sk();...|
|00005050| 09 2f 2a 20 6b 65 65 70 | 20 74 68 69 73 20 69 66 |./* keep| this if|
|00005060| 2f 75 6e 74 69 6c 20 77 | 65 20 75 73 65 20 57 61 |/until w|e use Wa|
|00005070| 69 74 4e 65 78 74 45 76 | 65 6e 74 20 2a 2f 0d 09 |itNextEv|ent */..|
|00005080| 09 09 09 62 6b 72 64 5f | 73 65 72 76 69 63 65 28 |...bkrd_|service(|
|00005090| 29 3b 0d 09 09 09 09 69 | 66 20 28 45 76 65 6e 74 |);.....i|f (Event|
|000050a0| 41 76 61 69 6c 28 6b 65 | 79 44 6f 77 6e 4d 61 73 |Avail(ke|yDownMas|
|000050b0| 6b 2c 20 26 61 6e 65 76 | 65 6e 74 29 29 0d 09 09 |k, &anev|ent))...|
|000050c0| 09 09 09 2f 2a 20 64 6f | 6e 27 74 20 74 61 6b 65 |.../* do|n't take|
|000050d0| 20 6b 65 79 73 74 72 6f | 6b 65 73 20 6f 66 66 20 | keystro|kes off |
|000050e0| 74 68 65 20 71 75 65 75 | 65 20 2a 2f 0d 09 09 09 |the queu|e */....|
|000050f0| 09 09 62 72 65 61 6b 3b | 0d 09 09 09 7d 0d 09 09 |..break;|....}...|
|00005100| 09 54 45 53 65 74 53 65 | 6c 65 63 74 28 20 28 6c |.TESetSe|lect( (l|
|00005110| 6f 6e 67 29 20 30 2c 20 | 20 28 6c 6f 6e 67 29 20 |ong) 0, | (long) |
|00005120| 28 2a 74 65 78 74 68 61 | 6e 64 29 2d 3e 74 65 4c |(*textha|nd)->teL|
|00005130| 65 6e 67 74 68 2c 20 74 | 65 78 74 68 61 6e 64 29 |ength, t|exthand)|
|00005140| 3b 0d 09 09 09 54 45 44 | 65 6c 65 74 65 28 74 65 |;....TED|elete(te|
|00005150| 78 74 68 61 6e 64 29 3b | 0d 09 09 7d 0d 09 7d 0d |xthand);|...}..}.|
|00005160| 09 54 45 49 6e 73 65 72 | 74 28 65 6e 64 74 65 78 |.TEInser|t(endtex|
|00005170| 74 2c 20 28 6c 6f 6e 67 | 29 20 73 74 72 6c 65 6e |t, (long|) strlen|
|00005180| 28 65 6e 64 74 65 78 74 | 29 2c 20 74 65 78 74 68 |(endtext|), texth|
|00005190| 61 6e 64 29 3b 0d 09 77 | 68 69 6c 65 20 28 21 47 |and);..w|hile (!G|
|000051a0| 65 74 4e 65 78 74 45 76 | 65 6e 74 28 6d 44 6f 77 |etNextEv|ent(mDow|
|000051b0| 6e 4d 61 73 6b 2c 20 26 | 61 6e 65 76 65 6e 74 29 |nMask, &|anevent)|
|000051c0| 29 20 7b 0d 09 09 2f 2a | 20 77 61 69 74 20 74 69 |) {.../*| wait ti|
|000051d0| 6c 6c 20 61 20 6d 6f 75 | 73 65 44 6f 77 6e 20 65 |ll a mou|seDown e|
|000051e0| 76 65 6e 74 20 6f 63 63 | 75 72 73 20 74 6f 20 65 |vent occ|urs to e|
|000051f0| 78 69 74 2c 20 75 6e 6c | 65 73 73 20 61 20 6b 65 |xit, unl|ess a ke|
|00005200| 79 20 69 73 20 68 69 74 | 20 2a 2f 0d 09 09 53 79 |y is hit| */...Sy|
|00005210| 73 74 65 6d 54 61 73 6b | 28 29 3b 09 09 09 09 2f |stemTask|();..../|
|00005220| 2a 20 6b 65 65 70 20 74 | 68 69 73 20 69 66 2f 75 |* keep t|his if/u|
|00005230| 6e 74 69 6c 20 77 65 20 | 75 73 65 20 57 61 69 74 |ntil we |use Wait|
|00005240| 4e 65 78 74 45 76 65 6e | 74 20 2a 2f 0d 09 09 62 |NextEven|t */...b|
|00005250| 6b 72 64 5f 73 65 72 76 | 69 63 65 28 29 3b 0d 09 |krd_serv|ice();..|
|00005260| 09 69 66 20 28 45 76 65 | 6e 74 41 76 61 69 6c 28 |.if (Eve|ntAvail(|
|00005270| 6b 65 79 44 6f 77 6e 4d | 61 73 6b 2c 20 26 61 6e |keyDownM|ask, &an|
|00005280| 65 76 65 6e 74 29 29 0d | 09 09 09 2f 2a 20 64 6f |event)).|.../* do|
|00005290| 6e 27 74 20 74 61 6b 65 | 20 6b 65 79 73 74 72 6f |n't take| keystro|
|000052a0| 6b 65 73 20 6f 66 66 20 | 74 68 65 20 71 75 65 75 |kes off |the queu|
|000052b0| 65 20 2a 2f 0d 09 09 09 | 62 72 65 61 6b 3b 0d 09 |e */....|break;..|
|000052c0| 7d 0d 0d 09 53 65 74 50 | 6f 72 74 28 6f 6c 64 70 |}...SetP|ort(oldp|
|000052d0| 6f 72 74 29 3b 0d 09 54 | 45 44 69 73 70 6f 73 65 |ort);..T|EDispose|
|000052e0| 28 74 65 78 74 68 61 6e | 64 29 3b 0d 09 44 69 73 |(texthan|d);..Dis|
|000052f0| 70 6f 73 65 57 69 6e 64 | 6f 77 28 68 65 6c 70 77 |poseWind|ow(helpw|
|00005300| 69 6e 64 29 3b 0d 7d 0d | 0d 0d 0d 23 64 65 66 69 |ind);.}.|...#defi|
|00005310| 6e 65 20 46 49 52 53 54 | 43 48 41 52 09 30 78 30 |ne FIRST|CHAR.0x0|
|00005320| 30 0d 23 64 65 66 69 6e | 65 20 4c 41 53 54 43 48 |0.#defin|e LASTCH|
|00005330| 41 52 20 09 30 78 37 66 | 0d 0d 2f 2a 09 64 65 63 |AR .0x7f|../*.dec|
|00005340| 6f 64 65 20 61 6e 20 61 | 63 74 69 6f 6e 20 73 65 |ode an a|ction se|
|00005350| 71 75 65 6e 63 65 20 69 | 6e 74 6f 20 74 65 78 74 |quence i|nto text|
|00005360| 20 77 69 74 68 20 21 20 | 6d 61 72 6b 69 6e 67 20 | with ! |marking |
|00005370| 63 6f 6d 6d 61 6e 64 73 | 20 26 20 5c 20 70 72 65 |commands| & \ pre|
|00005380| 66 69 78 69 6e 67 20 0d | 09 68 65 78 20 6f 72 20 |fixing .|.hex or |
|00005390| 64 65 63 69 6d 61 6c 20 | 6e 75 6d 62 65 72 73 0d |decimal |numbers.|
|000053a0| 09 72 65 74 75 72 6e 73 | 20 61 6e 20 69 6e 74 2d |.returns| an int-|
|000053b0| 2d 74 68 65 20 6c 65 6e | 67 74 68 20 6f 66 20 74 |-the len|gth of t|
|000053c0| 68 65 20 6e 65 77 20 74 | 65 78 74 0d 09 2a 2f 0d |he new t|ext..*/.|
|000053d0| 0d 61 63 74 64 65 63 6f | 64 65 28 74 65 78 74 70 |.actdeco|de(textp|
|000053e0| 2c 20 74 65 78 74 65 6e | 64 2c 20 74 68 65 61 63 |, texten|d, theac|
|000053f0| 74 2c 20 63 6f 6d 6d 61 | 6e 64 66 6f 6e 74 29 0d |t, comma|ndfont).|
|00005400| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 20 2a 20 |unsigned| char * |
|00005410| 74 65 78 74 70 3b 0d 63 | 68 61 72 20 2a 20 74 65 |textp;.c|har * te|
|00005420| 78 74 65 6e 64 3b 0d 73 | 74 72 75 63 74 20 74 6f |xtend;.s|truct to|
|00005430| 6b 65 6e 20 2a 20 74 68 | 65 61 63 74 3b 0d 69 6e |ken * th|eact;.in|
|00005440| 74 20 63 6f 6d 6d 61 6e | 64 66 6f 6e 74 3b 09 09 |t comman|dfont;..|
|00005450| 09 0d 09 2f 2a 20 61 73 | 73 75 6d 65 20 74 68 65 |.../* as|sume the|
|00005460| 20 66 6f 6e 74 20 68 61 | 73 20 43 6f 6d 6d 61 6e | font ha|s Comman|
|00005470| 64 20 73 79 6d 62 6f 6c | 73 20 73 6f 20 6e 6f 74 |d symbol|s so not|
|00005480| 20 61 6c 6c 20 63 68 61 | 72 73 20 3e 20 31 32 37 | all cha|rs > 127|
|00005490| 20 61 76 61 69 6c 61 62 | 6c 65 20 2a 2f 0d 7b 0d | availab|le */.{.|
|000054a0| 09 72 65 67 69 73 74 65 | 72 20 75 6e 73 69 67 6e |.registe|r unsign|
|000054b0| 65 64 20 63 68 61 72 20 | 74 68 65 63 68 61 72 3b |ed char |thechar;|
|000054c0| 0d 09 73 68 6f 72 74 20 | 63 6f 6d 6d 61 6e 64 3b |..short |command;|
|000054d0| 0d 09 63 68 61 72 20 2a | 20 73 74 61 72 74 70 3b |..char *| startp;|
|000054e0| 0d 09 73 68 6f 72 74 20 | 6e 75 6d 62 65 72 65 64 |..short |numbered|
|000054f0| 3b 09 2f 2a 20 64 69 73 | 70 6c 61 79 20 65 6e 74 |;./* dis|play ent|
|00005500| 72 79 20 6e 75 6d 65 72 | 69 63 61 6c 6c 79 20 2a |ry numer|ically *|
|00005510| 2f 0d 0d 09 73 74 61 72 | 74 70 20 3d 20 74 65 78 |/...star|tp = tex|
|00005520| 74 70 3b 0d 09 69 66 20 | 28 20 28 74 65 78 74 70 |tp;..if |( (textp|
|00005530| 20 2b 20 31 29 20 3e 3d | 20 74 65 78 74 65 6e 64 | + 1) >=| textend|
|00005540| 29 20 7b 0d 09 09 65 72 | 72 6f 72 28 6f 75 74 6f |) {...er|ror(outo|
|00005550| 66 74 65 78 74 29 3b 0d | 09 09 72 65 74 75 72 6e |ftext);.|..return|
|00005560| 28 4e 45 47 29 3b 0d 09 | 7d 0d 09 63 6f 6d 6d 61 |(NEG);..|}..comma|
|00005570| 6e 64 20 3d 20 46 41 4c | 53 45 3b 0d 09 6e 75 6d |nd = FAL|SE;..num|
|00005580| 62 65 72 65 64 20 3d 20 | 46 41 4c 53 45 3b 0d 09 |bered = |FALSE;..|
|00005590| 73 77 69 74 63 68 20 28 | 74 68 65 61 63 74 2d 3e |switch (|theact->|
|000055a0| 63 6c 61 73 73 29 20 7b | 0d 09 09 63 61 73 65 20 |class) {|...case |
|000055b0| 52 53 4c 54 5f 41 53 43 | 49 3a 20 7b 0d 09 09 09 |RSLT_ASC|I: {....|
|000055c0| 2f 2a 20 6c 65 61 76 65 | 20 6f 75 74 20 74 68 65 |/* leave| out the|
|000055d0| 20 52 53 4c 54 5f 41 53 | 43 49 20 22 73 70 61 63 | RSLT_AS|CI "spac|
|000055e0| 65 22 20 63 6f 6d 6d 61 | 6e 64 20 63 6f 64 65 20 |e" comma|nd code |
|000055f0| 69 6e 20 74 68 65 20 74 | 65 78 74 20 2a 2f 0d 09 |in the t|ext */..|
|00005600| 09 09 62 72 65 61 6b 3b | 0d 09 09 7d 0d 09 09 63 |..break;|...}...c|
|00005610| 61 73 65 20 52 53 4c 54 | 5f 44 45 4c 41 59 3a 0d |ase RSLT|_DELAY:.|
|00005620| 09 09 63 61 73 65 20 52 | 53 4c 54 5f 4c 4f 4f 50 |..case R|SLT_LOOP|
|00005630| 3a 0d 09 09 63 61 73 65 | 20 52 53 4c 54 5f 4d 41 |:...case| RSLT_MA|
|00005640| 54 43 48 3a 0d 09 09 63 | 61 73 65 20 52 53 4c 54 |TCH:...c|ase RSLT|
|00005650| 5f 53 45 4c 31 3a 0d 09 | 09 63 61 73 65 20 52 53 |_SEL1:..|.case RS|
|00005660| 4c 54 5f 53 45 4c 32 3a | 0d 09 09 63 61 73 65 20 |LT_SEL2:|...case |
|00005670| 52 53 4c 54 5f 53 45 4c | 33 3a 0d 09 09 63 61 73 |RSLT_SEL|3:...cas|
|00005680| 65 20 52 53 4c 54 5f 53 | 45 4c 34 3a 0d 09 09 63 |e RSLT_S|EL4:...c|
|00005690| 61 73 65 20 52 53 4c 54 | 5f 57 49 4e 44 3a 0d 09 |ase RSLT|_WIND:..|
|000056a0| 09 63 61 73 65 20 52 53 | 4c 54 5f 58 43 55 52 53 |.case RS|LT_XCURS|
|000056b0| 3a 0d 09 09 63 61 73 65 | 20 52 53 4c 54 5f 59 43 |:...case| RSLT_YC|
|000056c0| 55 52 53 3a 20 7b 0d 09 | 09 09 2f 2a 20 75 73 65 |URS: {..|../* use|
|000056d0| 20 6e 75 6d 62 65 72 73 | 20 66 6f 72 20 74 68 65 | numbers| for the|
|000056e0| 20 65 6e 74 72 79 20 64 | 65 73 63 72 69 70 74 69 | entry d|escripti|
|000056f0| 6f 6e 2d 2d 66 61 6c 6c | 20 74 68 72 6f 75 67 68 |on--fall| through|
|00005700| 20 2a 2f 0d 09 09 09 2a | 74 65 78 74 70 2b 2b 20 | */....*|textp++ |
|00005710| 3d 20 27 21 27 3b 0d 09 | 09 09 2a 74 65 78 74 70 |= '!';..|..*textp|
|00005720| 2b 2b 20 3d 20 74 68 65 | 61 63 74 2d 3e 63 6c 61 |++ = the|act->cla|
|00005730| 73 73 3b 0d 09 09 09 6e | 75 6d 62 65 72 65 64 20 |ss;....n|umbered |
|00005740| 3d 20 54 52 55 45 3b 0d | 09 09 09 62 72 65 61 6b |= TRUE;.|...break|
|00005750| 3b 0d 09 09 7d 0d 09 09 | 63 61 73 65 20 52 53 4c |;...}...|case RSL|
|00005760| 54 5f 50 46 4b 59 3a 20 | 7b 0d 09 09 09 69 66 20 |T_PFKY: |{....if |
|00005770| 28 21 63 6f 6d 6d 61 6e | 64 66 6f 6e 74 29 20 7b |(!comman|dfont) {|
|00005780| 0d 09 09 09 09 2f 2a 20 | 61 6c 77 61 79 73 20 75 |...../* |always u|
|00005790| 73 65 20 63 6f 6d 6d 61 | 6e 64 20 63 68 61 72 73 |se comma|nd chars|
|000057a0| 20 66 6f 72 20 74 68 65 | 20 65 6e 74 72 79 20 64 | for the| entry d|
|000057b0| 65 73 63 72 69 70 74 69 | 6f 6e 2d 2d 66 61 6c 6c |escripti|on--fall|
|000057c0| 20 74 68 72 6f 75 67 68 | 20 2a 2f 0d 09 09 09 09 | through| */.....|
|000057d0| 2a 74 65 78 74 70 2b 2b | 20 3d 20 27 21 27 3b 0d |*textp++| = '!';.|
|000057e0| 09 09 09 09 2a 74 65 78 | 74 70 2b 2b 20 3d 20 74 |....*tex|tp++ = t|
|000057f0| 68 65 61 63 74 2d 3e 63 | 6c 61 73 73 3b 0d 09 09 |heact->c|lass;...|
|00005800| 09 09 63 6f 6d 6d 61 6e | 64 20 3d 20 54 52 55 45 |..comman|d = TRUE|
|00005810| 3b 0d 09 09 09 09 62 72 | 65 61 6b 3b 0d 09 09 09 |;.....br|eak;....|
|00005820| 7d 0d 09 09 09 69 66 20 | 28 28 74 68 65 61 63 74 |}....if |((theact|
|00005830| 2d 3e 65 6e 74 72 79 20 | 3e 20 50 46 32 34 20 26 |->entry |> PF24 &|
|00005840| 26 20 74 68 65 61 63 74 | 2d 3e 65 6e 74 72 79 20 |& theact|->entry |
|00005850| 3c 3d 20 50 46 33 36 29 | 29 20 7b 0d 09 09 09 09 |<= PF36)|) {.....|
|00005860| 2f 2a 20 75 73 65 20 6e | 75 6d 62 65 72 73 20 66 |/* use n|umbers f|
|00005870| 6f 72 20 6e 75 6d 62 65 | 72 65 64 20 70 66 20 6b |or numbe|red pf k|
|00005880| 65 79 73 20 61 62 6f 76 | 65 20 32 34 2d 2d 66 61 |eys abov|e 24--fa|
|00005890| 6c 6c 20 74 68 72 6f 75 | 67 68 20 2a 2f 0d 09 09 |ll throu|gh */...|
|000058a0| 09 09 6e 75 6d 62 65 72 | 65 64 20 3d 20 54 52 55 |..number|ed = TRU|
|000058b0| 45 3b 0d 09 09 09 7d 0d | 09 09 09 65 6c 73 65 20 |E;....}.|...else |
|000058c0| 7b 0d 09 09 09 09 2f 2a | 20 75 73 65 20 63 68 61 |{...../*| use cha|
|000058d0| 72 61 63 74 65 72 20 62 | 75 74 74 6f 6e 20 22 69 |racter b|utton "i|
|000058e0| 63 6f 6e 73 22 20 74 6f | 20 72 65 70 72 65 73 65 |cons" to| represe|
|000058f0| 6e 74 20 2a 2f 0d 09 09 | 09 09 69 66 20 28 74 68 |nt */...|..if (th|
|00005900| 65 61 63 74 2d 3e 65 6e | 74 72 79 20 3e 3d 20 50 |eact->en|try >= P|
|00005910| 46 31 20 26 26 20 74 68 | 65 61 63 74 2d 3e 65 6e |F1 && th|eact->en|
|00005920| 74 72 79 20 3c 3d 20 50 | 46 32 34 29 20 7b 0d 09 |try <= P|F24) {..|
|00005930| 09 09 09 09 2a 74 65 78 | 74 70 2b 2b 20 3d 20 74 |....*tex|tp++ = t|
|00005940| 68 65 61 63 74 2d 3e 65 | 6e 74 72 79 20 2b 20 31 |heact->e|ntry + 1|
|00005950| 32 37 3b 0d 09 09 09 09 | 09 72 65 74 75 72 6e 28 |27;.....|.return(|
|00005960| 31 29 3b 0d 09 09 09 09 | 7d 0d 09 09 09 09 65 6c |1);.....|}.....el|
|00005970| 73 65 20 73 77 69 74 63 | 68 28 74 68 65 61 63 74 |se switc|h(theact|
|00005980| 2d 3e 65 6e 74 72 79 29 | 20 7b 0d 09 09 09 09 09 |->entry)| {......|
|00005990| 63 61 73 65 20 50 41 31 | 3a 20 7b 0d 09 09 09 09 |case PA1|: {.....|
|000059a0| 09 09 2a 74 65 78 74 70 | 2b 2b 20 3d 20 49 50 41 |..*textp|++ = IPA|
|000059b0| 31 3b 0d 09 09 09 09 09 | 09 72 65 74 75 72 6e 28 |1;......|.return(|
|000059c0| 31 29 3b 0d 09 09 09 09 | 09 7d 0d 09 09 09 09 09 |1);.....|.}......|
|000059d0| 63 61 73 65 20 50 41 32 | 3a 20 7b 0d 09 09 09 09 |case PA2|: {.....|
|000059e0| 09 09 2a 74 65 78 74 70 | 2b 2b 20 3d 20 49 50 41 |..*textp|++ = IPA|
|000059f0| 32 3b 0d 09 09 09 09 09 | 09 72 65 74 75 72 6e 28 |2;......|.return(|
|00005a00| 31 29 3b 0d 09 09 09 09 | 09 7d 0d 09 09 09 09 09 |1);.....|.}......|
|00005a10| 63 61 73 65 20 50 41 33 | 3a 20 7b 0d 09 09 09 09 |case PA3|: {.....|
|00005a20| 09 09 2a 74 65 78 74 70 | 2b 2b 20 3d 20 49 50 41 |..*textp|++ = IPA|
|00005a30| 33 3b 0d 09 09 09 09 09 | 09 72 65 74 75 72 6e 28 |3;......|.return(|
|00005a40| 31 29 3b 0d 09 09 09 09 | 09 7d 0d 09 09 09 09 09 |1);.....|.}......|
|00005a50| 63 61 73 65 20 45 4e 54 | 45 52 3a 20 7b 0d 09 09 |case ENT|ER: {...|
|00005a60| 09 09 09 09 2a 74 65 78 | 74 70 2b 2b 20 3d 20 49 |....*tex|tp++ = I|
|00005a70| 45 4e 54 45 52 3b 0d 09 | 09 09 09 09 09 72 65 74 |ENTER;..|.....ret|
|00005a80| 75 72 6e 28 31 29 3b 0d | 09 09 09 09 09 7d 0d 09 |urn(1);.|.....}..|
|00005a90| 09 09 09 09 63 61 73 65 | 20 43 4c 45 41 52 3a 20 |....case| CLEAR: |
|00005aa0| 7b 0d 09 09 09 09 09 09 | 2a 74 65 78 74 70 2b 2b |{.......|*textp++|
|00005ab0| 20 3d 20 49 43 4c 45 41 | 52 3b 0d 09 09 09 09 09 | = ICLEA|R;......|
|00005ac0| 09 72 65 74 75 72 6e 28 | 31 29 3b 0d 09 09 09 09 |.return(|1);.....|
|00005ad0| 09 7d 0d 09 09 09 09 7d | 0d 09 09 09 09 2f 2a 20 |.}.....}|...../* |
|00005ae0| 65 6c 73 65 20 6e 6f 20 | 69 63 6f 6e 20 66 6f 72 |else no |icon for|
|00005af0| 20 63 6f 64 65 20 2a 2f | 0d 09 09 09 09 2f 2a 20 | code */|...../* |
|00005b00| 70 75 74 20 6f 75 74 20 | 61 20 27 21 27 20 62 65 |put out |a '!' be|
|00005b10| 66 6f 72 65 20 74 68 65 | 20 63 6f 6d 6d 61 6e 64 |fore the| command|
|00005b20| 20 2a 2f 0d 09 09 09 09 | 2a 74 65 78 74 70 2b 2b | */.....|*textp++|
|00005b30| 20 3d 20 27 21 27 3b 0d | 09 09 09 09 2a 74 65 78 | = '!';.|....*tex|
|00005b40| 74 70 2b 2b 20 3d 20 74 | 68 65 61 63 74 2d 3e 63 |tp++ = t|heact->c|
|00005b50| 6c 61 73 73 3b 0d 09 09 | 09 09 63 6f 6d 6d 61 6e |lass;...|..comman|
|00005b60| 64 20 3d 20 54 52 55 45 | 3b 0d 09 09 09 09 62 72 |d = TRUE|;.....br|
|00005b70| 65 61 6b 3b 0d 09 09 09 | 7d 0d 09 09 7d 0d 09 09 |eak;....|}...}...|
|00005b80| 63 61 73 65 20 52 53 4c | 54 5f 4d 56 43 52 3a 20 |case RSL|T_MVCR: |
|00005b90| 7b 0d 09 09 09 69 66 20 | 28 21 63 6f 6d 6d 61 6e |{....if |(!comman|
|00005ba0| 64 66 6f 6e 74 29 20 7b | 0d 09 09 09 09 2f 2a 20 |dfont) {|...../* |
|00005bb0| 61 6c 77 61 79 73 20 75 | 73 65 20 63 6f 6d 6d 61 |always u|se comma|
|00005bc0| 6e 64 20 63 68 61 72 73 | 20 66 6f 72 20 74 68 65 |nd chars| for the|
|00005bd0| 20 65 6e 74 72 79 20 64 | 65 73 63 72 69 70 74 69 | entry d|escripti|
|00005be0| 6f 6e 2d 2d 66 61 6c 6c | 20 74 68 72 6f 75 67 68 |on--fall| through|
|00005bf0| 20 2a 2f 0d 09 09 09 09 | 2a 74 65 78 74 70 2b 2b | */.....|*textp++|
|00005c00| 20 3d 20 27 21 27 3b 0d | 09 09 09 09 2a 74 65 78 | = '!';.|....*tex|
|00005c10| 74 70 2b 2b 20 3d 20 74 | 68 65 61 63 74 2d 3e 63 |tp++ = t|heact->c|
|00005c20| 6c 61 73 73 3b 0d 09 09 | 09 09 63 6f 6d 6d 61 6e |lass;...|..comman|
|00005c30| 64 20 3d 20 54 52 55 45 | 3b 0d 09 09 09 09 62 72 |d = TRUE|;.....br|
|00005c40| 65 61 6b 3b 0d 09 09 09 | 7d 0d 09 09 09 2f 2a 20 |eak;....|}..../* |
|00005c50| 75 73 65 20 74 68 65 20 | 69 63 6f 6e 69 63 20 72 |use the |iconic r|
|00005c60| 65 70 72 65 73 65 6e 74 | 61 74 69 6f 6e 20 2a 2f |epresent|ation */|
|00005c70| 0d 09 09 09 73 77 69 74 | 63 68 20 28 74 68 65 61 |....swit|ch (thea|
|00005c80| 63 74 2d 3e 65 6e 74 72 | 79 29 20 7b 0d 09 09 09 |ct->entr|y) {....|
|00005c90| 09 63 61 73 65 20 4c 45 | 46 54 5f 41 52 52 4f 57 |.case LE|FT_ARROW|
|00005ca0| 3a 20 7b 0d 09 09 09 09 | 09 2a 74 65 78 74 70 2b |: {.....|.*textp+|
|00005cb0| 2b 20 3d 20 49 4c 45 46 | 54 3b 0d 09 09 09 09 09 |+ = ILEF|T;......|
|00005cc0| 72 65 74 75 72 6e 28 31 | 29 3b 0d 09 09 09 09 7d |return(1|);.....}|
|00005cd0| 0d 09 09 09 09 63 61 73 | 65 20 44 4f 57 4e 5f 41 |.....cas|e DOWN_A|
|00005ce0| 52 52 4f 57 20 3a 20 7b | 0d 09 09 09 09 09 2a 74 |RROW : {|......*t|
|00005cf0| 65 78 74 70 2b 2b 20 3d | 20 49 44 4f 57 4e 3b 0d |extp++ =| IDOWN;.|
|00005d00| 09 09 09 09 09 72 65 74 | 75 72 6e 28 31 29 3b 0d |.....ret|urn(1);.|
|00005d10| 09 09 09 09 7d 0d 09 09 | 09 09 63 61 73 65 20 55 |....}...|..case U|
|00005d20| 50 5f 41 52 52 4f 57 3a | 20 7b 0d 09 09 09 09 09 |P_ARROW:| {......|
|00005d30| 2a 74 65 78 74 70 2b 2b | 20 3d 20 49 55 50 3b 0d |*textp++| = IUP;.|
|00005d40| 09 09 09 09 09 72 65 74 | 75 72 6e 28 31 29 3b 0d |.....ret|urn(1);.|
|00005d50| 09 09 09 09 7d 0d 09 09 | 09 09 63 61 73 65 20 52 |....}...|..case R|
|00005d60| 49 47 48 54 5f 41 52 52 | 4f 57 3a 20 7b 0d 09 09 |IGHT_ARR|OW: {...|
|00005d70| 09 09 09 2a 74 65 78 74 | 70 2b 2b 20 3d 20 49 52 |...*text|p++ = IR|
|00005d80| 49 47 48 54 3b 0d 09 09 | 09 09 09 72 65 74 75 72 |IGHT;...|...retur|
|00005d90| 6e 28 31 29 3b 0d 09 09 | 09 09 7d 0d 09 09 09 09 |n(1);...|..}.....|
|00005da0| 63 61 73 65 20 48 4f 4d | 45 3a 20 7b 0d 09 09 09 |case HOM|E: {....|
|00005db0| 09 09 2a 74 65 78 74 70 | 2b 2b 20 3d 20 49 48 4f |..*textp|++ = IHO|
|00005dc0| 4d 45 3b 0d 09 09 09 09 | 09 72 65 74 75 72 6e 28 |ME;.....|.return(|
|00005dd0| 31 29 3b 0d 09 09 09 09 | 7d 0d 09 09 09 09 63 61 |1);.....|}.....ca|
|00005de0| 73 65 20 54 41 42 5f 46 | 57 44 3a 20 7b 0d 09 09 |se TAB_F|WD: {...|
|00005df0| 09 09 09 2a 74 65 78 74 | 70 2b 2b 20 3d 20 49 54 |...*text|p++ = IT|
|00005e00| 41 42 3b 0d 09 09 09 09 | 09 72 65 74 75 72 6e 28 |AB;.....|.return(|
|00005e10| 31 29 3b 0d 09 09 09 09 | 7d 0d 09 09 09 09 63 61 |1);.....|}.....ca|
|00005e20| 73 65 20 42 41 43 4b 5f | 54 41 42 3a 20 7b 0d 09 |se BACK_|TAB: {..|
|00005e30| 09 09 09 09 2a 74 65 78 | 74 70 2b 2b 20 3d 20 49 |....*tex|tp++ = I|
|00005e40| 42 41 43 4b 54 41 42 3b | 0d 09 09 09 09 09 72 65 |BACKTAB;|......re|
|00005e50| 74 75 72 6e 28 31 29 3b | 0d 09 09 09 09 7d 0d 09 |turn(1);|.....}..|
|00005e60| 09 09 09 63 61 73 65 20 | 4e 45 57 5f 4c 49 4e 45 |...case |NEW_LINE|
|00005e70| 3a 20 7b 0d 09 09 09 09 | 09 2a 74 65 78 74 70 2b |: {.....|.*textp+|
|00005e80| 2b 20 3d 20 49 4e 45 57 | 4c 49 4e 45 3b 0d 09 09 |+ = INEW|LINE;...|
|00005e90| 09 09 09 72 65 74 75 72 | 6e 28 31 29 3b 0d 09 09 |...retur|n(1);...|
|00005ea0| 09 09 7d 0d 09 09 09 7d | 0d 09 09 09 2f 2a 20 65 |..}....}|..../* e|
|00005eb0| 6c 73 65 20 6e 6f 20 69 | 63 6f 6e 20 66 6f 72 20 |lse no i|con for |
|00005ec0| 63 6f 64 65 20 2a 2f 0d | 09 09 09 2f 2a 20 70 75 |code */.|.../* pu|
|00005ed0| 74 20 6f 75 74 20 61 20 | 27 21 27 20 62 65 66 6f |t out a |'!' befo|
|00005ee0| 72 65 20 74 68 65 20 63 | 6f 6d 6d 61 6e 64 20 2a |re the c|ommand *|
|00005ef0| 2f 0d 09 09 09 2a 74 65 | 78 74 70 2b 2b 20 3d 20 |/....*te|xtp++ = |
|00005f00| 27 21 27 3b 0d 09 09 09 | 2a 74 65 78 74 70 2b 2b |'!';....|*textp++|
|00005f10| 20 3d 20 74 68 65 61 63 | 74 2d 3e 63 6c 61 73 73 | = theac|t->class|
|00005f20| 3b 0d 09 09 09 63 6f 6d | 6d 61 6e 64 20 3d 20 54 |;....com|mand = T|
|00005f30| 52 55 45 3b 0d 09 09 09 | 62 72 65 61 6b 3b 0d 09 |RUE;....|break;..|
|00005f40| 09 7d 0d 09 09 63 61 73 | 65 20 52 53 4c 54 5f 4c |.}...cas|e RSLT_L|
|00005f50| 43 41 43 3a 20 7b 0d 09 | 09 09 69 66 20 28 21 63 |CAC: {..|..if (!c|
|00005f60| 6f 6d 6d 61 6e 64 66 6f | 6e 74 29 20 7b 0d 09 09 |ommandfo|nt) {...|
|00005f70| 09 09 2f 2a 20 61 6c 77 | 61 79 73 20 75 73 65 20 |../* alw|ays use |
|00005f80| 63 6f 6d 6d 61 6e 64 20 | 63 68 61 72 73 20 66 6f |command |chars fo|
|00005f90| 72 20 74 68 65 20 65 6e | 74 72 79 20 64 65 73 63 |r the en|try desc|
|00005fa0| 72 69 70 74 69 6f 6e 2d | 2d 66 61 6c 6c 20 74 68 |ription-|-fall th|
|00005fb0| 72 6f 75 67 68 20 2a 2f | 0d 09 09 09 09 2a 74 65 |rough */|.....*te|
|00005fc0| 78 74 70 2b 2b 20 3d 20 | 27 21 27 3b 0d 09 09 09 |xtp++ = |'!';....|
|00005fd0| 09 2a 74 65 78 74 70 2b | 2b 20 3d 20 74 68 65 61 |.*textp+|+ = thea|
|00005fe0| 63 74 2d 3e 63 6c 61 73 | 73 3b 0d 09 09 09 09 63 |ct->clas|s;.....c|
|00005ff0| 6f 6d 6d 61 6e 64 20 3d | 20 54 52 55 45 3b 0d 09 |ommand =| TRUE;..|
|00006000| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 09 7d 0d 09 |...break|;....}..|
|00006010| 09 09 2f 2a 20 75 73 65 | 20 69 63 6f 6e 73 20 66 |../* use| icons f|
|00006020| 6f 72 20 6c 6f 63 61 6c | 20 61 63 74 69 6f 6e 73 |or local| actions|
|00006030| 20 2a 2f 0d 09 09 09 73 | 77 69 74 63 68 28 74 68 | */....s|witch(th|
|00006040| 65 61 63 74 2d 3e 65 6e | 74 72 79 29 20 7b 0d 09 |eact->en|try) {..|
|00006050| 09 09 09 63 61 73 65 20 | 49 4e 53 52 54 3a 20 7b |...case |INSRT: {|
|00006060| 0d 09 09 09 09 09 2a 74 | 65 78 74 70 2b 2b 20 3d |......*t|extp++ =|
|00006070| 20 49 49 4e 53 45 52 54 | 3b 0d 09 09 09 09 09 72 | IINSERT|;......r|
|00006080| 65 74 75 72 6e 28 31 29 | 3b 0d 09 09 09 09 7d 0d |eturn(1)|;.....}.|
|00006090| 09 09 09 09 63 61 73 65 | 20 44 45 4c 5f 43 48 41 |....case| DEL_CHA|
|000060a0| 52 3a 20 7b 0d 09 09 09 | 09 09 2a 74 65 78 74 70 |R: {....|..*textp|
|000060b0| 2b 2b 20 3d 20 49 44 45 | 4c 45 54 45 3b 0d 09 09 |++ = IDE|LETE;...|
|000060c0| 09 09 09 72 65 74 75 72 | 6e 28 31 29 3b 0d 09 09 |...retur|n(1);...|
|000060d0| 09 09 7d 0d 09 09 09 09 | 63 61 73 65 20 45 52 41 |..}.....|case ERA|
|000060e0| 53 45 5f 45 4f 46 3a 20 | 7b 0d 09 09 09 09 09 2a |SE_EOF: |{......*|
|000060f0| 74 65 78 74 70 2b 2b 20 | 3d 20 49 45 52 45 4f 46 |textp++ |= IEREOF|
|00006100| 3b 0d 09 09 09 09 09 72 | 65 74 75 72 6e 28 31 29 |;......r|eturn(1)|
|00006110| 3b 0d 09 09 09 09 7d 0d | 09 09 09 09 63 61 73 65 |;.....}.|....case|
|00006120| 20 49 4e 50 55 54 5f 45 | 52 41 53 45 3a 20 7b 0d | INPUT_E|RASE: {.|
|00006130| 09 09 09 09 09 2a 74 65 | 78 74 70 2b 2b 20 3d 20 |.....*te|xtp++ = |
|00006140| 49 45 52 49 4e 50 55 54 | 3b 0d 09 09 09 09 09 72 |IERINPUT|;......r|
|00006150| 65 74 75 72 6e 28 31 29 | 3b 0d 09 09 09 09 7d 0d |eturn(1)|;.....}.|
|00006160| 09 09 09 09 63 61 73 65 | 20 42 41 43 4b 53 50 5f |....case| BACKSP_|
|00006170| 44 45 4c 3a 20 7b 0d 09 | 09 09 09 09 2a 74 65 78 |DEL: {..|....*tex|
|00006180| 74 70 2b 2b 20 3d 20 49 | 42 53 44 45 4c 3b 0d 09 |tp++ = I|BSDEL;..|
|00006190| 09 09 09 09 72 65 74 75 | 72 6e 28 31 29 3b 0d 09 |....retu|rn(1);..|
|000061a0| 09 09 09 7d 0d 09 09 09 | 09 63 61 73 65 20 52 45 |...}....|.case RE|
|000061b0| 53 45 54 3a 20 7b 0d 09 | 09 09 09 09 2a 74 65 78 |SET: {..|....*tex|
|000061c0| 74 70 2b 2b 20 3d 20 49 | 52 45 53 45 54 3b 0d 09 |tp++ = I|RESET;..|
|000061d0| 09 09 09 09 72 65 74 75 | 72 6e 28 31 29 3b 0d 09 |....retu|rn(1);..|
|000061e0| 09 09 09 7d 0d 09 09 09 | 7d 0d 09 09 09 2f 2a 20 |...}....|}..../* |
|000061f0| 65 6c 73 65 20 6e 6f 20 | 69 63 6f 6e 20 66 6f 72 |else no |icon for|
|00006200| 20 63 6f 64 65 20 2a 2f | 0d 09 09 09 2f 2a 20 70 | code */|..../* p|
|00006210| 75 74 20 6f 75 74 20 61 | 20 27 21 27 20 62 65 66 |ut out a| '!' bef|
|00006220| 6f 72 65 20 74 68 65 20 | 63 6f 6d 6d 61 6e 64 20 |ore the |command |
|00006230| 2a 2f 0d 09 09 09 2a 74 | 65 78 74 70 2b 2b 20 3d |*/....*t|extp++ =|
|00006240| 20 27 21 27 3b 0d 09 09 | 09 2a 74 65 78 74 70 2b | '!';...|.*textp+|
|00006250| 2b 20 3d 20 74 68 65 61 | 63 74 2d 3e 63 6c 61 73 |+ = thea|ct->clas|
|00006260| 73 3b 0d 09 09 09 63 6f | 6d 6d 61 6e 64 20 3d 20 |s;....co|mmand = |
|00006270| 54 52 55 45 3b 0d 09 09 | 09 62 72 65 61 6b 3b 0d |TRUE;...|.break;.|
|00006280| 09 09 7d 0d 09 09 64 65 | 66 61 75 6c 74 3a 20 7b |..}...de|fault: {|
|00006290| 0d 09 09 09 2f 2a 20 70 | 75 74 20 6f 75 74 20 61 |..../* p|ut out a|
|000062a0| 20 27 21 27 20 62 65 66 | 6f 72 65 20 74 68 65 20 | '!' bef|ore the |
|000062b0| 63 6f 6d 6d 61 6e 64 20 | 2a 2f 0d 09 09 09 2a 74 |command |*/....*t|
|000062c0| 65 78 74 70 2b 2b 20 3d | 20 27 21 27 3b 0d 09 09 |extp++ =| '!';...|
|000062d0| 09 2a 74 65 78 74 70 2b | 2b 20 3d 20 74 68 65 61 |.*textp+|+ = thea|
|000062e0| 63 74 2d 3e 63 6c 61 73 | 73 3b 0d 09 09 09 09 2f |ct->clas|s;...../|
|000062f0| 2a 20 73 69 6e 63 65 20 | 63 6c 61 73 73 65 73 20 |* since |classes |
|00006300| 61 72 65 20 72 65 63 6f | 67 6e 69 7a 61 62 6c 65 |are reco|gnizable|
|00006310| 20 63 68 61 72 73 2c 20 | 6e 6f 20 70 72 6f 62 6c | chars, |no probl|
|00006320| 65 6d 20 64 65 63 6f 64 | 69 6e 67 20 2a 2f 0d 09 |em decod|ing */..|
|00006330| 09 09 63 6f 6d 6d 61 6e | 64 20 3d 20 54 52 55 45 |..comman|d = TRUE|
|00006340| 3b 0d 09 09 09 62 72 65 | 61 6b 3b 0d 09 09 7d 0d |;....bre|ak;...}.|
|00006350| 09 7d 0d 09 74 68 65 63 | 68 61 72 20 3d 20 74 68 |.}..thec|har = th|
|00006360| 65 61 63 74 2d 3e 65 6e | 74 72 79 3b 0d 09 69 66 |eact->en|try;..if|
|00006370| 20 28 20 21 6e 75 6d 62 | 65 72 65 64 20 26 26 20 | ( !numb|ered && |
|00006380| 74 68 65 63 68 61 72 20 | 3e 3d 20 46 49 52 53 54 |thechar |>= FIRST|
|00006390| 43 48 41 52 20 0d 09 09 | 09 26 26 20 28 63 6f 6d |CHAR ...|.&& (com|
|000063a0| 6d 61 6e 64 66 6f 6e 74 | 20 3f 20 74 68 65 63 68 |mandfont| ? thech|
|000063b0| 61 72 20 3c 3d 20 4c 41 | 53 54 43 48 41 52 20 3a |ar <= LA|STCHAR :|
|000063c0| 20 54 52 55 45 29 0d 09 | 09 29 20 7b 0d 09 09 2f | TRUE)..|.) {.../|
|000063d0| 2a 20 6f 72 64 69 6e 61 | 72 79 20 63 68 61 72 61 |* ordina|ry chara|
|000063e0| 63 74 65 72 20 77 69 74 | 68 20 65 78 74 65 6e 64 |cter wit|h extend|
|000063f0| 65 64 20 73 65 74 2c 20 | 73 68 6f 77 20 69 74 20 |ed set, |show it |
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.