<<>> <> <> <> <> <> <> <> <> <> <> <> <> 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,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)] <> <<[DEF,SHIFT,(LeftShift Down | RightShift Down | COPY Down)]>> <<[DEF,SHIFTUp,[ThreeUp,LeftShift,RightShift,COPY]]>> <<[DEF,WhenSHIFTUp,(>> < ~2;>> < ~2;>> < ~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)] <> [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]; <> [WhenSHIFTUp,[WhileThreeUp,Red,Yellow,Blue] [WhileCTRLUp],DoEdit]; [WhenCTRLUp,[WhileThreeUp,Red,Yellow,Blue] WHILE [SHIFTUp],DoEdit]; <> [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; <> [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 };]; <> 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 }]; <> [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.