<<>> <> <> <> <> <> <> <> <> <> <> <> <> OPTIONS Fast, PrintKeys; SELECT TRIGGER FROM -- top level trigger select <> <> [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,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)] [DEF,IfShift,(SELECT ENABLE FROM [SHIFT] => ~1; ENDCASE => ~2)] [DEF,IfCtrl,(SELECT ENABLE FROM [CTRL] => ~1; ENDCASE => ~2)] <> [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)] <> <<-- Sel and MouseClick are similar to the macros in Tioga.tip but lack check for CTRL>> [DEF,Sel,(SELECT ENABLE FROM [SHIFT] => { ~2 Coords SelSecondary ToPrimary ForceSelNotPendDel ~1 }; ENDCASE => { ~2 Coords ForceSelNotPendDel ~1 })] <> [DEF,MouseClick,(SELECT TRIGGER FROM [Click,~1] => [Sel,~3,~1Mouse]; ENDCASE => [Sel,~2,~1Mouse])] <<-- Extend is similar but does not check SHIFT or force pending delete>> [DEF,Extend,([Sel,~1 SelStartExtend,BlueMouse])] <<-- ButtonUp is similar but does not permit a Repeat (SHIFT-ESC)>> [DEF,ButtonUp,(SELECT ENABLE FROM [SHIFTUp] [WhileCTRLUp] WHILE [BothUp,~1,~2] => 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]; -- no ForceSelPendDel ENDCASE => [ButtonUp,Blue,Yellow]; Yellow Up => SELECT ENABLE FROM Blue Down WHILE Red Up => [Extend]; -- no ForceSelPendDel ENDCASE => [ButtonUp,Red,Blue]; Blue Up => [ButtonUp,Red,Yellow]; <> [WhenSHIFTUp,[WhileThreeUp,Red,Yellow,Blue] [WhileCTRLUp],DoEdit]; [WhenCTRLUp,[WhileThreeUp,Red,Yellow,Blue] WHILE [SHIFTUp],DoEdit]; <> [SAME2,Copy,L6, [IfShift,{ CopyToWorldFormatted },{ CopyToWorld }] ]; <<-- no Paste, Cut>> <<>> Stop Down => EditAbort; DEL Down => SELECT ENABLE FROM [SHIFT] => EditAbort; [CTRL] => EditAbort; Red Down => EditAbort; Yellow Down => EditAbort; Blue Down => EditAbort; ENDCASE; -- no Delete <<-- no BS>> [SAME4,NEXT,MoveRight,Spare2,R12, [IfCtrl, [IfShift,{ IntermediateUser CtrlPrevPlaceholder },{ IntermediateUser CtrlNextPlaceholder }], [IfShift,{ IntermediateUser PreviousPlaceholder },{ IntermediateUser NextPlaceholder }]] ]; <<-- no ESC, AGAIN, UNDO, LF>> <<-- no Space to clear looks>> <> <<-- only CTRL-SHIFT-0>> Zero Down WHILE [SHIFT] WHILE [CTRL] => { IntermediateUser SelectMatchingParens }; <> <<-- no Return, Arrow, BackSlash, Hyphen, Comma>> <<>> Period Down WHILE [CTRL] => SELECT ENABLE FROM [SHIFT] => { IntermediateUser SelectMatchingAngleBrackets }; ENDCASE => { MakePointSelection }; -- CTRL-. is for reducing to point selection. <<-- no Quote, LeftBracket>> <<>> RightBracket Down WHILE [CTRL] => [IfShift,{ IntermediateUser SelectMatchingCurlyBrackets }, { IntermediateUser SelectMatchingSquareBrackets }]; <> [DEF,Letter,(~1 Down => SELECT ENABLE FROM ~3 ENDCASE)] -- no Looks operations <<-- Only the Ctrl-Letter commands that don't change the document>> [Letter,D,3, [CTRL] => { IntermediateUser Everything }]; [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,V,21, [CTRL] => { IntermediateUser GrowSelectionToBlanks }]; ENDCASE.