Gargoyle.tip
Copyright Ó 1988, 1989, 1990, 1992 by Xerox Corporation. All rights reserved.
last written by Bier, October 2, 1992 4:26 pm PDT
Pier, October 2, 1992 4:06 pm PDT
Kurlander August 24, 1986 12:39:42 pm PDT
Goodisman, June 6, 1989 12:21:53 pm PDT
Doug Wyatt, February 21, 1990 5:36 pm PST
OPTIONS
PrintKeys;
[DEF,SHIFT,(RightShift Down | LeftShift Down)]
[DEF,CTRL,Ctrl Down]
[DEF,LOOK,BW Down]
[DEF,META,Spare3 Down]
[DEF,ClickTime,(200)]
[DEF,DownClick,(~1 Down BEFORE [ClickTime])]
[DEF,UpClick,(~1 Up BEFORE [ClickTime])]
[DEF,DoubleClick,([UpClick,~1] AND [DownClick,~1])]
[DEF,BothUp,(~1 Up WHILE ~2 Up)]
[DEF,IfShift,(SELECT ENABLE FROM
[SHIFT] => ~1;
ENDCASE => ~2)]
[DEF,IfCtrl,(SELECT ENABLE FROM
[CTRL] => ~1;
ENDCASE => ~2)]
[DEF,SHIFTUp,[BothUp,LeftShift,RightShift]]
[DEF,CTRLUp,(Ctrl Up)]
[DEF,METAUp,(Spare3 Up)]
[DEF,WhenSHIFTUp,(
LeftShift Up WHILE RightShift Up ~1 => ~2;
RightShift Up WHILE LeftShift Up ~1 => ~2)]
[DEF,WhenCTRLUp,(
Ctrl Up ~1 => ~2)]
[DEF,WhenSpare3Up,(
Spare3 Up ~1 => ~2)]
[DEF,WhileCTRLUp,(WHILE Ctrl Up)]
[DEF,WhileSpare3Up,(WHILE Spare3 Up)]
[DEF,WhileThreeUp,
(WHILE ~1 Up WHILE ~2 Up WHILE ~3 Up)]
[DEF,ButtonUp,(SELECT ENABLE FROM
[SHIFTUp] [WhileCTRLUp] WHILE [BothUp,~1,~2] => SELECT ENABLE FROM
ESC Down => DoEdit;
ENDCASE => DoIt;
ENDCASE)]
SELECT TRIGGER FROM
Trackball Motions
Trackball => {OneScroll TrackballChange};
Thumbwheel => {OneZoom ThumbwheelChange};
Mouse Motions
Mouse => SELECT ENABLE FROM
Red Down => {During Coords};
Yellow Down => {During Coords};
Blue Down => {During Coords};
ENDCASE;
Mouse Buttons Up
Red Up WHILE Yellow Up WHILE Blue Up => SELECT ENABLE FROM
[SHIFTUp] => SELECT ENABLE FROM
[CTRLUp] => SELECT ENABLE FROM
[METAUp]=> {AllUp Coords};
ENDCASE => {MouseUp Coords};
ENDCASE => {MouseUp Coords};
ENDCASE => {MouseUp Coords};
Yellow Up WHILE Red Up WHILE Blue Up => SELECT ENABLE FROM
[SHIFTUp] => SELECT ENABLE FROM
[CTRLUp] => SELECT ENABLE FROM
[METAUp]=> {AllUp Coords};
ENDCASE => {MouseUp Coords};
ENDCASE => {MouseUp Coords};
ENDCASE => {MouseUp Coords};
Blue Up WHILE Red Up WHILE Yellow Up => SELECT ENABLE FROM
[SHIFTUp] => SELECT ENABLE FROM
[CTRLUp] => SELECT ENABLE FROM
[METAUp]=> {AllUp Coords};
ENDCASE => {MouseUp Coords};
ENDCASE => {MouseUp Coords};
ENDCASE => {MouseUp Coords};
Mouse Buttons Down
[DEF,SingleRed,(SELECT ENABLE FROM
[SHIFT] => SELECT ENABLE FROM
[CTRL] => { StartDeselectJoint Coords };
ENDCASE => { StartCaretPos Coords };
[CTRL] => { StartDrag Coords };
[META] => { StartExtSelectJoint Coords };
ENDCASE => { StartSelectJoint Coords })]
[DEF,DoubleRed,(SELECT ENABLE FROM
[SHIFT] => SELECT ENABLE FROM
[CTRL] => { StartDeselectTopLevel Coords};
ENDCASE => NoOp;
[CTRL] => { StartCopyAndDrag Coords };
[META] => { StartExtSelectTopLevel Coords };
ENDCASE => { StartSelectTopLevel Coords })]
Red Down => SELECT TRIGGER FROM
[DoubleClick,Red] => [DoubleRed];
ENDCASE => [SingleRed];
Red Down => SELECT ENABLE FROM
[SHIFT] => SELECT ENABLE FROM
[CTRL] => SELECT TRIGGER FROM
[DoubleClick,Red] => [DoubleRed];
ENDCASE => [SingleRed];
ENDCASE => { StartCaretPos Coords };
ENDCASE => SELECT TRIGGER FROM
[DoubleClick,Red] => [DoubleRed];
ENDCASE => [SingleRed];
Yellow Down => SELECT ENABLE FROM
[SHIFT] => SELECT ENABLE FROM
[CTRL] => SELECT TRIGGER FROM
[DoubleClick,Yellow] => { StartDeselectTrajectory Coords }
ENDCASE => { StartDeselectSegment Coords };
ENDCASE => { StartAdd Coords };
[CTRL] => { StartRotate Coords };
ENDCASE => SELECT TRIGGER FROM
[DoubleClick,Yellow] => SELECT ENABLE FROM
[META] => { StartExtSelectTrajectory Coords };
ENDCASE => { StartSelectTrajectory Coords };
ENDCASE => SELECT ENABLE FROM
[META] => { StartExtSelectSegment Coords };
ENDCASE => { StartSelectSegment Coords };
[DEF,SingleBlue,(SELECT ENABLE FROM
[SHIFT] => SELECT ENABLE FROM
[CTRL] => { StartExtendDeselect Coords };
ENDCASE => { StartBezier Coords };
[CTRL] => { StartScale Coords };
ENDCASE => { StartExtendSelection Coords })]
[DEF,DoubleBlue,(SELECT ENABLE FROM
[SHIFT] => SELECT ENABLE FROM
[CTRL] => { StartDeselectWithBox Coords };
ENDCASE => { StartBox Coords };
[CTRL] => { StartSixPoint Coords };
[META] => { StartExtSelWithBox Coords };
ENDCASE => { StartSelectWithBox Coords })]
Blue Down => SELECT TRIGGER FROM
[DoubleClick,Blue] => [DoubleBlue];
ENDCASE => [SingleBlue];
Guard Keys Up
[WhenSHIFTUp,[WhileThreeUp,Red,Yellow,Blue] [WhileCTRLUp] [WhileSpare3Up],{AllUp Coords}];
[WhenCTRLUp,[WhileThreeUp,Red,Yellow,Blue] WHILE [SHIFTUp] [WhileSpare3Up],{AllUp Coords}];
[WhenSpare3Up,[WhileThreeUp,Red,Yellow,Blue] WHILE [SHIFTUp] [WhileCTRLUp],{AllUp Coords}];
[WhenSHIFTUp,[WhileCTRLUp] [WhileSpare3Up],{GuardUp Coords}];
[WhenCTRLUp,WHILE [SHIFTUp] [WhileSpare3Up],{GuardUp Coords}];
[WhenSpare3Up,WHILE [SHIFTUp] [WhileCTRLUp],{GuardUp Coords}];
Number Commands
Zero Down => SELECT ENABLE FROM
[LOOK] => {LineWidth "0.0"};
ENDCASE;
One Down => SELECT ENABLE FROM
[LOOK] => {LineWidth "1.0"};
[CTRL] => SELECT ENABLE FROM
[SHIFT] => ReloadTipTable;
ENDCASE;
ENDCASE;
Two Down => SELECT ENABLE FROM
[LOOK] => {LineWidth "2.0"};
ENDCASE;
Three Down => SELECT ENABLE FROM
[LOOK] => {LineWidth "3.0"};
ENDCASE;
Four Down => SELECT ENABLE FROM
[LOOK] => {LineWidth "4.0"};
ENDCASE;
Five Down => SELECT ENABLE FROM
[LOOK] => {LineWidth "5.0"};
ENDCASE;
Six Down => SELECT ENABLE FROM
[LOOK] => {LineWidth "6.0"};
ENDCASE;
Seven Down => SELECT ENABLE FROM
[LOOK] => {LineWidth "7.0"};
ENDCASE;
Eight Down => SELECT ENABLE FROM
[LOOK] => {LineWidth "8.0"};
ENDCASE;
Nine Down => SELECT ENABLE FROM
[LOOK] => {LineWidth "9.0"};
ENDCASE;
Letter Commands
Space Down => SELECT ENABLE FROM
[CTRL] => ToggleGravity;
[SHIFT] => ToggleGravity;
ENDCASE;
A Down => SELECT ENABLE FROM
[LOOK] => SetArc;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => LiftAnchor;
ENDCASE => DropAnchor;
ENDCASE;
B Down => SELECT ENABLE FROM
[LOOK] => SetBSpline;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => Top;
ENDCASE => Bottom;
ENDCASE;
C Down => SELECT ENABLE FROM
[LOOK] => {SetConic "0.7"};
[CTRL] => SELECT ENABLE FROM
[SHIFT] => UnCluster;
ENDCASE => Cluster;
ENDCASE;
D Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => DeselectAll;
ENDCASE => SelectAll;
ENDCASE;
E Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {SetProp};
ENDCASE => {GetProp "ButtonData"};
ENDCASE;
F Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {ScreenChoiceChange FlipBackward};
ENDCASE => {ScreenChoiceChange FlipForward};
ENDCASE;
G Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {GravityChoiceChange FlipBackward};
ENDCASE => {GravityChoiceChange FlipForward};
ENDCASE;
H Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => DeleteHoles;
ENDCASE => AddHoles;
ENDCASE;
I Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => NoOp;
ENDCASE => NoOp;
ENDCASE;
J Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => NoOp;
ENDCASE => AddJoint;
ENDCASE;
K Down => SELECT ENABLE FROM
[LOOK] => SetMakeConstrained;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => NoOp;
ENDCASE => NoOp;
ENDCASE;
L Down => SELECT ENABLE FROM
[LOOK] => SetStraight;
ENDCASE;
M Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => NoOp;
ENDCASE => NoOp;
ENDCASE;
N Down => SELECT ENABLE FROM
[LOOK] => SetNaturalSpline;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {CycleSelection Backward};
ENDCASE => {CycleSelection Forward};
ENDCASE;
O Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => NoOp;
ENDCASE => NoOp;
ENDCASE;
P Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => DeleteControlPoint;
ENDCASE => AddControlPoint;
ENDCASE;
Q Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => AllAlignmentsOff;
ENDCASE => ToggleShowAlignments;
ENDCASE;
R Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => ToggleHeuristics;
ENDCASE => ToggleHeuristics;
ENDCASE;
S Down => SELECT ENABLE FROM
[LOOK] => SetSnowflake;
[CTRL] => SELECT TRIGGER FROM
[DoubleClick,S] => SELECT ENABLE FROM
[SHIFT] => MakeAllCold;
ENDCASE => MakeAllHot;
ENDCASE => SELECT ENABLE FROM
[SHIFT] => MakeCold;
ENDCASE => MakeHot;
ENDCASE;
in the following, parens serve as quote brackets, needed around square brackets in ROPE literals
T Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {SetSlopes ("[F 90.0] [F 0.0]")};
ENDCASE => {SetSlopes ("[T 90.0] [T 0.0]")};
ENDCASE;
U Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {ListProps};
ENDCASE => {ListPropsAndValues};
ENDCASE;
V Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => NoOp;
ENDCASE => NoOp;
ENDCASE;
W Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {WeldOrBackword};
ENDCASE => {WeldOrBackword};
ENDCASE;
X Down => SELECT ENABLE FROM
[LOOK] => {GravityExtentChange InitialValue};
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {GravityExtentChange ValueDown};
ENDCASE => {GravityExtentChange ValueUp};
ENDCASE;
Y Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => NoOp;
ENDCASE => NoOp;
ENDCASE;
Z Down => SELECT ENABLE FROM
[LOOK] => SetBezier;
ENDCASE;
Special Keys
Dash Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => NoOp;
ENDCASE;
Equal Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => NoOp;
ENDCASE;
BackSlash Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => NoOp;
ENDCASE;
LF Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => IPSnapShot;
[SHIFT] => IPSnapShot;
ENDCASE => ToIPLit;
DEL Down => SELECT ENABLE FROM
[SHIFT] => Abort;
[CTRL] => Abort;
[META] => Abort;
Red Down => Abort;
Yellow Down => Abort;
Blue Down => Abort;
[LOOK] => NoOp;
ENDCASE => Delete;
L10 Down => SELECT ENABLE FROM
[SHIFT] => Abort;
[CTRL] => Abort;
[META] => Abort;
Red Down => Abort;
Yellow Down => Abort;
Blue Down => Abort;
[LOOK] => NoOp;
ENDCASE => Delete;
LeftBracket Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => NoOp;
ENDCASE;
RightBracket Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => NoOp;
ENDCASE;
Arrow Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => NoOp;
ENDCASE;
BS Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => DeleteCaretSegment;
[SHIFT] => DeleteCaretSegment;
ENDCASE;
SemiColon Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => NoOp;
ENDCASE;
Quote Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => NoOp;
ENDCASE;
Return Down => {CloseOrNewline};
Spare2 Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => NoOp;
ENDCASE;
Comma Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {MoveSelection ShrinkForward};
ENDCASE => {MoveSelection Forward};
ENDCASE;
Period Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {MoveSelection Grow};
ENDCASE => {MoveSelection Grow};
ENDCASE;
Slash Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => SELECT ENABLE FROM
[SHIFT] => {MoveSelection ShrinkBackward};
ENDCASE => {MoveSelection Backward};
ENDCASE;
ESC Down => SELECT ENABLE FROM
[LOOK] => NoOp;
[CTRL] => NoOp;
[SHIFT] => UndoOne;
ENDCASE => Again;
Again Down => Again;
Undo Down => UndoOne;
ENDCASE.