Tioga.tip
Copyright Ó 1985, 1986, 1988, 1989, 1990, 1991 by Xerox Corporation. All rights reserved.
Last edited by Paxton, November 11, 1982 8:30 am
Last Edited by: Beach, October 18, 1983 1:07 pm
Michael Plass, May 30, 1989 11:04:18 am PDT
Bier, April 22, 1990 2:10 pm PDT
Tim Diebert: April 29, 1988 8:56:18 am PDT
Rick Beach, June 11, 1985 11:26:27 am PDT
Spreitzer, June 7, 1985 6:06:16 pm PDT
Christian Jacobi, May 1, 1989 4:43:48 pm PDT
Doug Wyatt, April 23, 1991 5:27 pm PDT
Please keep ReadonlyTioga.tip up-to-date when you change this!
OPTIONS Fast, PrintKeys;
SELECT TRIGGER FROM -- top level trigger select
Some macro definitions
Miscellaneous macro definitions to standardize certain conventions
[DEF,ClickTime,(170)]
[DEF,DownClick,(~1 Down BEFORE [ClickTime])]
[DEF,UpClick,(~1 Up BEFORE [ClickTime])]
[DEF,Click,([UpClick,~1] AND [DownClick,~1])]
[DEF,BothUp,(~1 Up WHILE ~2 Up)]
[DEF,WhileThreeUp,(WHILE ~1 Up WHILE ~2 Up WHILE ~3 Up)]
[DEF,ThreeUp,(~1 Up WHILE ~2 Up WHILE ~3 Up)]
[DEF,CTRL,(Ctrl Down | Spare3 Down)]
[DEF,LOOKKEY,(LOOK Down | BW Down | Spare1 Down | R9 Down)]
[DEF,WhileCTRLUp,(WHILE Ctrl Up WHILE Spare3 Up)]
[DEF,WhenCTRLUp,(
Ctrl Up WHILE Spare3 Up ~1 => ~2;
Spare3 Up WHILE Ctrl Up ~1 => ~2)]
[DEF,SHIFT,(LeftShift Down | RightShift Down)]
[DEF,SHIFTUp,[BothUp,LeftShift,RightShift]]
[DEF,WhenSHIFTUp,(
LeftShift Up WHILE RightShift Up ~1 => ~2;
RightShift Up WHILE LeftShift Up ~1 => ~2)]
Formerly, the above SHIFT definitions were ...
[DEF,SHIFT,(LeftShift Down | RightShift Down | COPY Down)]
[DEF,SHIFTUp,[ThreeUp,LeftShift,RightShift,COPY]]
[DEF,WhenSHIFTUp,(
LeftShift Up WHILE RightShift Up WHILE COPY Up ~1 => ~2;
RightShift Up WHILE LeftShift Up WHILE COPY Up ~1 => ~2;
COPY Up WHILE LeftShift Up WHILE RightShift Up ~1 => ~2)]
[DEF,IfShift,(SELECT ENABLE FROM [SHIFT] => ~1; ENDCASE => ~2)]
[DEF,IfCtrl,(SELECT ENABLE FROM [CTRL] => ~1; ENDCASE => ~2)]
macro definitions to allow for different keysyms to mean the same Tioga operations
[DEF,SAME2,(~1 Down => ~3; ~2 Down => ~3)]
[DEF,SAME3,(~1 Down => ~4; ~2 Down => ~4; ~3 Down => ~4)]
[DEF,SAME4,(~1 Down => ~5; ~2 Down => ~5; ~3 Down => ~5; ~4 Down => ~5)]
Mouse buttons and mouse movement
[DEF,Sel,(SELECT ENABLE FROM
[CTRL] => [IfShift,
{ ~2 Coords SelSecondary ToPrimary SelPendDel ~1 },
{ ~2 Coords ToLimbo SelPendDel ~1 }];
[SHIFT] => { ~2 Coords SelSecondary ToPrimary SelNotPendDel ~1 };
ENDCASE => { ~2 Coords SelNotPendDel ~1 })]
[DEF,ClickSel,(SELECT ENABLE FROM
[SHIFT] [WhileCTRLUp] => [Sel,~1,~2 ForceSelNotPendDel];
ENDCASE => [Sel,~1,~2])]
[DEF,MouseClick,(SELECT TRIGGER FROM
[Click,~1] => [ClickSel,~3,~1Mouse];
ENDCASE => [ClickSel,~2,~1Mouse])]
[DEF,Extend,(
[IfShift,[Sel,~1 SelStartExtend,BlueMouse],[Sel,~1 SelStartExtend,BlueMouse ForceSelPendDel]])]
[DEF,ButtonUp,(SELECT ENABLE FROM
[SHIFTUp] [WhileCTRLUp] WHILE [BothUp,~1,~2] => SELECT ENABLE FROM
ESC Down => Repeat;
ENDCASE => DoEdit;
ENDCASE)]
Red Down => [MouseClick,Red,SelChar,SelNode];
Yellow Down => SELECT ENABLE FROM
Red Up => [MouseClick,Yellow,SelWord,SelBranch];
ENDCASE;
Blue Down => SELECT ENABLE FROM
[BothUp,Red,Yellow] => SELECT TRIGGER FROM
[Click,Blue] => SELECT TRIGGER FROM
[Click,Blue] => [Extend,SelExpand];
ENDCASE => [Extend,SelReduce];
ENDCASE => [Extend];
ENDCASE;
Mouse => SELECT ENABLE FROM
Red Down => [Sel,SelUpdate];
Yellow Down => [Sel,SelUpdate];
Blue Down => { Coords SelExtend };
ENDCASE;
Red Up => SELECT ENABLE FROM
Blue Down => [Extend,ForceSelPendDel];
ENDCASE => [ButtonUp,Blue,Yellow];
Yellow Up => SELECT ENABLE FROM
Blue Down WHILE Red Up => [Extend,ForceSelPendDel];
ENDCASE => [ButtonUp,Red,Blue];
Blue Up => [ButtonUp,Red,Yellow];
Shift key Commands
[WhenSHIFTUp,[WhileThreeUp,Red,Yellow,Blue] [WhileCTRLUp],DoEdit];
[WhenCTRLUp,[WhileThreeUp,Red,Yellow,Blue] WHILE [SHIFTUp],DoEdit];
Function key Commands
[SAME2,Copy,L6,
[IfShift,{ CopyToWorldFormatted },{ CopyToWorld }]
];
[SAME2,Paste,L8,
[IfShift,{ PasteFromWorldFormatted },{ PasteFromWorld }]
];
[SAME2,Cut,L10,
[IfShift,{ CutToWorldFormatted },{ CutToWorld }]
];
Stop Down => EditAbort;
DEL Down => SELECT ENABLE FROM
[SHIFT] => EditAbort;
[CTRL] => EditAbort;
Red Down => EditAbort;
Yellow Down => EditAbort;
Blue Down => EditAbort;
ENDCASE => Delete;
BS Down => [IfCtrl,
[IfShift,{ 1 DeleteNextWord },{ 1 BackWord }],
[IfShift,{ 1 DeleteNextChar },{ 1 BackSpace }]];
[SAME4,NEXT,MoveRight,Spare2,R12,
[IfCtrl,
[IfShift,{ IntermediateUser CtrlPrevPlaceholder },{ IntermediateUser CtrlNextPlaceholder }],
[IfShift,{ IntermediateUser PreviousPlaceholder },{ IntermediateUser NextPlaceholder }]]
];
ESC Down [WhileCTRLUp] => [IfShift,Undo,Repeat];
AGAIN Down [WhileCTRLUp] => Repeat;
UNDO Down [WhileCTRLUp] => Undo;
[SAME2,LF,DOIT,
[IfCtrl,
{ IntermediateUser AnonymousLoadImpl },
{ IntermediateUser AnonymousLoad }]
];
Space Down WHILE [LOOKKEY] => SELECT TRIGGER FROM
[Click,Space] => ClearCaretLooks;
ENDCASE => ClearLooks;
Number Commands
[DEF,Num,(~1 Down => SELECT ENABLE FROM
~3
[CTRL] => { IntermediateUser Command~2 };
ENDCASE)]
[Num,Zero,0, [SHIFT] WHILE [CTRL] => { IntermediateUser SelectMatchingParens };];
[Num,One,1, [SHIFT] WHILE [CTRL] => { AdvancedUser ReadProfile };];
[Num,Two,2];
[Num,Three,3];
[Num,Four,4];
[Num,Five,5];
[Num,Six,6];
[Num,Seven,7];
[Num,Eight,8];
[Num,Nine,9, [SHIFT] WHILE [CTRL] => { IntermediateUser ParenBrackets };];
Punctuation Commands
Return Down => SELECT ENABLE FROM
[SHIFT] => InsertNewline;
ENDCASE => [IfCtrl,{ AdvancedUser Break }, InsertLineBreak];
Arrow Down WHILE [CTRL] =>
[IfShift,{ AdvancedUser GetFormat }, {AdvancedUser SetFormat }];
BackSlash Down WHILE [CTRL] =>
[IfShift,{ AdvancedUser SetNotComment },{ AdvancedUser SetComment }];
Hyphen Down WHILE [CTRL] => { IntermediateUser DashBrackets };
Comma Down WHILE [SHIFT] WHILE [CTRL] =>
{ IntermediateUser AngleBrackets };
Period Down WHILE [CTRL] =>
SELECT ENABLE FROM
[SHIFT] => { IntermediateUser SelectMatchingAngleBrackets };
ENDCASE => { MakePointSelection }; -- CTRL-. is for reducing to point selection.
Quote Down WHILE [CTRL] =>
[IfShift,{ IntermediateUser DoubleQuoteBrackets },{ IntermediateUser SingleQuoteBrackets }];
LeftBracket Down WHILE [CTRL] =>
[IfShift,{ IntermediateUser CurlyBrackets },{ IntermediateUser SquareBrackets }];
RightBracket Down WHILE [CTRL] =>
[IfShift,{ IntermediateUser SelectMatchingCurlyBrackets },
{ IntermediateUser SelectMatchingSquareBrackets }];
Letter Commands
[DEF,Letter,(
~1 Down => SELECT ENABLE FROM
[LOOKKEY] => SELECT TRIGGER FROM
[Click,~1] => [IfShift,{ ~2 RemoveCaretLook },{ ~2 ApplyCaretLook }];
ENDCASE => [IfShift,{ ~2 RemoveLook },{ ~2 ApplyLook }];
~3
ENDCASE)]
[Letter,A,0,
[CTRL] => [IfShift,{ IntermediateUser 1 DeleteNextChar },{ 1 BackSpace }]];
[Letter,B,1,
[CTRL] => { IntermediateUser PlaceholderBrackets }];
[Letter,C,2,
[CTRL] => SELECT TRIGGER FROM
[Click,C] => [IfShift,{ IntermediateUser InitialCaps },{ IntermediateUser FirstCap }];
ENDCASE => [IfShift,{ IntermediateUser AllCaps },{ IntermediateUser AllLower }]];
[Letter,D,3,
[CTRL] => { IntermediateUser Everything }];
[Letter,E,4,
[CTRL] => { IntermediateUser ExpandAbbrev }];
[Letter,F,5,
[CTRL] => { AdvancedUser ToPrimary SelSecondary SelNotPendDel EditFormat }];
[Letter,G,6];
[Letter,H,7,
[CTRL] => [IfShift,{ IntermediateUser 1 DeleteNextChar },{ 1 BackSpace }]];
[Letter,I,8,
[CTRL] => [IfShift,{ AdvancedUser Break UnNest },{ AdvancedUser Break Nest }]];
[Letter,J,9,
[CTRL] => { AdvancedUser Join }];
[Letter,K,10,
[CTRL] => [IfShift,{ IntermediateUser UnMakeControlCharacter },
{ IntermediateUser MakeControlCharacter }]];
[Letter,L,11];
[Letter,M,12,
[CTRL] => { IntermediateUser SetMesaLooks }];
[Letter,N,13,
[CTRL] => [IfShift,{ AdvancedUser UnNest },{ AdvancedUser Nest }]];
[Letter,O,14,
[CTRL] => [IfShift,{ IntermediateUser UnMakeOctalCharacter },
{ IntermediateUser MakeOctalCharacter }]];
[Letter,P,15,
[CTRL] => { IntermediateUser Paste }];
[Letter,Q,16,
[CTRL] => { IntermediateUser ToPrimary SelSecondary SelNotPendDel EditLooks }];
[Letter,R,17, -- romp to end of current node
[CTRL] => [IfShift,{ IntermediateUser GoToBeginningOfNode },{ IntermediateUser GoToEndOfNode }]];
[Letter,S,18,-- copy primary
[CTRL] => { IntermediateUser MakeNotPendingDelete ToSecondary SelSecondary SelNotPendDel }];
[Letter,T,19,
[CTRL] => { IntermediateUser Time }];
[Letter,U,20, -- EditProperties
[CTRL] => [IfShift,{ CloseProperties },{ OpenProperties }]];
[Letter,V,21,
[CTRL] => { IntermediateUser GrowSelectionToBlanks }];
[Letter,W,22,
[CTRL] => [IfShift,{ IntermediateUser 1 DeleteNextWord },{ 1 BackWord }]];
[Letter,X,23,-- transpose
[CTRL] => { IntermediateUser MakePendingDelete ToBoth SelSecondary }];
[Letter,Y,24,
[CTRL] => [IfShift,UserTraceOff,UserTraceOn]];
[Letter,Z,25,-- move primary
[CTRL] => { IntermediateUser MakePendingDelete ToSecondary SelSecondary SelNotPendDel }];
ENDCASE.