Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!nysernic!itsgw!batcomputer!beloin From: beloin@batcomputer.tn.cornell.edu (Ron Beloin) Newsgroups: comp.sys.mac Subject: Re: Hypercard Message-ID: <2635@batcomputer.tn.cornell.edu> Date: Mon, 12-Oct-87 11:51:15 EDT Article-I.D.: batcompu.2635 Posted: Mon Oct 12 11:51:15 1987 Date-Received: Tue, 13-Oct-87 05:38:10 EDT References: <30594@sun.uucp> Reply-To: beloin@tcgould.tn.cornell.edu (Ron Beloin) Organization: Cornell Theory Center, Cornell University, Ithaca NY Lines: 48 Keywords: command key cmdkey menus trap Summary: script to trap cmd-keys and menus In article <30594@sun.uucp> chuq%plaid@Sun.COM (Chuq Von Rospach) writes: >[Warning: Hypercard is addictive. Warning: Hypercard is addictive. Warning:] no argument with that! > >(1) Is there any way to realiably and completely trap out cloverleaf > commands? I want to keep the user from doing things like creating > new cards, deleting things, or using the clover-{1,2,3,4} keys because > it really hoses out the linked lists (and EVERYTHING in this stack is > linked). I've got buttons on the various backgrounds to do the > equivalents, and the menubar is hidden, but if the user types %N it'll > create a card that won't get linked in to any of the lists and get lost. > God forbid they delete a card when I'm not looking, and > First/Next/Prev/Last have little usefullness when you're talking about > lists of lists. I've tried trapping newCard at the stack level to see if > commandKey is down, but if they have quick fingers this isn't reliable. > I still need things like New Card, but under program control. I suppose > I can set global flags and refuse the newcard if the flag isn't set, but > trying to do that for everything I wnat to control on the menu seems > grotty. Since I want to release this thing to the Real World, I want to > monkey proof it as much as possible. I put the follwing script into a card and it succeeded in doing what you want (if I understand what you want correctly): on idle if the commandkey is down then deadkey end idle on deadkey answer "Command-key items are not available" with "OK" end deadkey on domenu -- do not pass file -- do not pass edit -- do not pass go :-) -- etc. end domenu note that to edit this script, you have to type "edit the script of this card" into the msgbox (or blind typing works also) I haven't tried this at the background or stack level. --ron. Ron Beloin, Ecosystems Research Center, Corson Hall, Cornell, Ithaca,NY 14853 >> opinions << BITNET:BELOIN@CRNLTHRY; INTERNET:beloin@tcgould.tn.cornell.edu >> are mine << UUCP:{cmcl2,shasta,uw-beaver,rochester}!cornell!tcgould!beloin