Gargoyle.tip
last written by Bier, January 13, 1987 11:36:55 pm PST
Pier, November 7, 1986 5:41:56 pm PST
Kurlander August 24, 1986 12:39:42 pm PDT
[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
[
DEF,SingleRed,(
SELECT
ENABLE
FROM
[
SHIFT] =>
SELECT
ENABLE
FROM
[CTRL] => { Coords StartDeselectJoint };
ENDCASE => { Coords StartCaretPos };
[CTRL] => { Coords StartDrag };
[META] => { Coords StartExtSelectJoint };
ENDCASE => { Coords StartSelectJoint })]
[
DEF,DoubleRed,(
SELECT
ENABLE
FROM
[
SHIFT] =>
SELECT
ENABLE
FROM
[CTRL] => { Coords StartDeselectTopLevel};
ENDCASE => NoOp;
[CTRL] => { Coords StartCopyAndDrag };
[META] => { Coords StartExtSelectTopLevel };
ENDCASE => { Coords StartSelectTopLevel })]
Red Down =>
SELECT
TRIGGER
FROM
[DoubleClick,Red] => [DoubleRed];
ENDCASE => [SingleRed];
Mouse WHILE Red Down => {Coords During};
Red Up
WHILE Yellow Up
WHILE Blue Up =>
SELECT
ENABLE
FROM
[SHIFTUp] =>
SELECT
ENABLE
FROM
[CTRLUp] =>
SELECT
ENABLE
FROM
[METAUp]=> {Coords AllUp};
ENDCASE => {Coords MouseUp};
ENDCASE => {Coords MouseUp};
ENDCASE => {Coords MouseUp};
[
DEF,SingleYellow,(
SELECT
ENABLE
FROM
[
SHIFT] =>
SELECT
ENABLE
FROM
[CTRL] => {Coords StartDeselectSegment};
ENDCASE => { Coords StartAdd };
[CTRL] => { Coords StartRotate };
[META] => { Coords StartExtSelectSegment };
ENDCASE => { Coords StartSelectSegment })]
[
DEF,DoubleYellow,(
SELECT
ENABLE
FROM
[
SHIFT] =>
SELECT
ENABLE
FROM
[CTRL] => { Coords StartDeselectTrajectory };
ENDCASE => NoOp;
[CTRL] => NoOp;
[META] => { Coords StartExtSelectTrajectory };
ENDCASE => { Coords StartSelectTrajectory })]
Yellow Down =>
SELECT
ENABLE
FROM
[
CTRL] =>
SELECT
TRIGGER
FROM
[DoubleClick,Yellow] => [DoubleYellow];
ENDCASE => [SingleYellow];
[SHIFT] => [SingleYellow];
ENDCASE =>
SELECT
TRIGGER
FROM
[DoubleClick,Yellow] => [DoubleYellow];
ENDCASE => [SingleYellow];
Mouse WHILE Yellow Down => {Coords During};
Yellow Up
WHILE Red Up
WHILE Blue Up =>
SELECT
ENABLE
FROM
[SHIFTUp] =>
SELECT
ENABLE
FROM
[CTRLUp] =>
SELECT
ENABLE
FROM
[METAUp]=> {Coords AllUp};
ENDCASE => {Coords MouseUp};
ENDCASE => {Coords MouseUp};
ENDCASE => {Coords MouseUp};
[
DEF,SingleBlue,(
SELECT
ENABLE
FROM
[
SHIFT] =>
SELECT
ENABLE
FROM
[CTRL] => { Coords StartExtendDeselect };
ENDCASE => {Coords StartBox};
[CTRL] => { Coords StartScale };
ENDCASE => { Coords StartExtendSelection })]
[
DEF,DoubleBlue,(
SELECT
ENABLE
FROM
[
SHIFT] =>
SELECT
ENABLE
FROM
[CTRL] => NoOp;
ENDCASE => NoOp;
[CTRL] => { Coords StartSixPoint };
ENDCASE => { Coords StartSelectWithBox })]
Blue Down =>
SELECT
TRIGGER
FROM
[DoubleClick,Blue] => [DoubleBlue];
ENDCASE => [SingleBlue];
Mouse WHILE Blue Down => {Coords During};
Blue Up
WHILE Red Up
WHILE Yellow Up =>
SELECT
ENABLE
FROM
[SHIFTUp] =>
SELECT
ENABLE
FROM
[CTRLUp] =>
SELECT
ENABLE
FROM
[METAUp]=> {Coords AllUp};
ENDCASE => {Coords MouseUp};
ENDCASE => {Coords MouseUp};
ENDCASE => {Coords MouseUp};
Guard key Motions
[WhenSHIFTUp,[WhileThreeUp,Red,Yellow,Blue] [WhileCTRLUp] [WhileSpare3Up],{Coords AllUp}];
[WhenCTRLUp,[WhileThreeUp,Red,Yellow,Blue] WHILE [SHIFTUp] [WhileSpare3Up],{Coords AllUp}];
[WhenSpare3Up,[WhileThreeUp,Red,Yellow,Blue] WHILE [SHIFTUp] [WhileCTRLUp],{Coords AllUp}];
[WhenSHIFTUp,[WhileCTRLUp] [WhileSpare3Up],{Coords GuardUp}];
[WhenCTRLUp,WHILE [SHIFTUp] [WhileSpare3Up],{Coords GuardUp}];
[WhenSpare3Up,WHILE [SHIFTUp] [WhileCTRLUp],{Coords GuardUp}];
Number Commands
Zero Down =>
SELECT
ENABLE
FROM
BW Down => {LineWidth "0.0"};
ENDCASE;
One Down =>
SELECT
ENABLE
FROM
[
CTRL] =>
SELECT
ENABLE
FROM
[SHIFT] => ReloadTipTable;
ENDCASE;
[LOOK] => {LineWidth "1.0"};
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] => NoOp;
ENDCASE => ToggleShowColors;
ENDCASE;
C Down =>
SELECT
ENABLE
FROM
[LOOK] => SetConic;
[
CTRL] =>
SELECT
ENABLE
FROM
[SHIFT] => NoOp;
ENDCASE => Close;
ENDCASE;
D Down =>
SELECT
ENABLE
FROM
[
CTRL] =>
SELECT
ENABLE
FROM
[SHIFT] => NoOp;
ENDCASE => SelectAll;
ENDCASE;
G Down =>
SELECT
ENABLE
FROM
[
CTRL] =>
SELECT
ENABLE
FROM
[SHIFT] => {GravityChoiceChange FlipBackward};
ENDCASE => {GravityChoiceChange FlipForward};
ENDCASE;
H Down =>
SELECT
ENABLE
FROM
[
CTRL] =>
SELECT
ENABLE
FROM
[SHIFT] => NoOp;
ENDCASE => AddHoles;
ENDCASE;
J Down =>
SELECT
ENABLE
FROM
[
CTRL] =>
SELECT
ENABLE
FROM
[SHIFT] => NoOp;
ENDCASE => AddJoint;
ENDCASE;
L Down =>
SELECT
ENABLE
FROM
[LOOK] => SetStraight;
ENDCASE;
N Down =>
SELECT
ENABLE
FROM
[LOOK] => SetNaturalSpline;
ENDCASE;
P Down =>
SELECT
ENABLE
FROM
[
CTRL] =>
SELECT
ENABLE
FROM
[SHIFT] => DeleteControlPoint;
ENDCASE => AddControlPoint;
ENDCASE;
Q Down =>
SELECT
ENABLE
FROM
[
CTRL] =>
SELECT
ENABLE
FROM
[SHIFT] => {AllAlignmentsOff};
ENDCASE => {ToggleAlignments};
ENDCASE;
S Down =>
SELECT
ENABLE
FROM
[LOOK] => SetStraight;
[
CTRL] =>
SELECT
TRIGGER
FROM
[DoubleClick,S] =>
SELECT
ENABLE
FROM
[SHIFT] => MakeAllCold;
ENDCASE => MakeAllHot;
ENDCASE =>
SELECT
ENABLE
FROM
[SHIFT] => MakeCold;
ENDCASE => MakeHot;
ENDCASE;
W Down =>
SELECT
ENABLE
FROM
[
CTRL] =>
SELECT
ENABLE
FROM
[SHIFT] => {Weld};
ENDCASE => {Weld};
ENDCASE;
Z Down =>
SELECT
ENABLE
FROM
[LOOK] => SetBezier;
ENDCASE;
Special Keys
DEL Down =>
SELECT
ENABLE
FROM
[SHIFT] => Abort;
[CTRL] => Abort;
[META] => Abort;
Red Down => Abort;
Yellow Down => Abort;
Blue Down => Abort;
ENDCASE => Delete;
ESC Down =>
SELECT
ENABLE
FROM
[CTRL] => IPSnapShot;
[SHIFT] => IPSnapShot;
ENDCASE => ToIPLit;
BS Down =>
SELECT
ENABLE
FROM
[CTRL] => DeleteCaretSegment;
[SHIFT] => DeleteCaretSegment;
ENDCASE;
Return Down => {Close};
ENDCASE.