OPTIONS Fast; [DEF,ClickTime,(200)] [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,FourUp,(~1 Up WHILE ~2 Up WHILE ~3 Up WHILE ~4 Up)] [DEF,WhileFiveUp, (WHILE ~1 Up WHILE ~2 Up WHILE ~3 Up WHILE ~4 Up WHILE ~5 Up)] [DEF,WhileSixUp, (WHILE ~1 Up WHILE ~2 Up WHILE ~3 Up WHILE ~4 Up WHILE ~5 Up WHILE ~6 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 | 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)] [DEF,Scheme,LeftAlt] [DEF,WhileScheme,(WHILE [Scheme] Down)] SELECT TRIGGER FROM -- top level trigger select [DEF,Sel,(SELECT ENABLE FROM [CTRL] => [IfShift, { ~2 SelSecondary ToPrimary SelPendDel PARAM Coords ~1 }, { ~2 ToLimbo SelPendDel PARAM Coords ~1 }]; [SHIFT] => { ~2 SelSecondary ToPrimary SelNotPendDel PARAM Coords ~1 }; ENDCASE => { ~2 SelNotPendDel PARAM Coords ~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])] DEL Down [WhileScheme] => EditAbort; Red Down [WhileScheme] => [MouseClick,Red,SchemeSelect0,SchemeSelect2]; Yellow Down [WhileScheme] => SELECT ENABLE FROM Red Up => [MouseClick,Yellow,SchemeSelect1,SchemeSelect3]; ENDCASE; [DEF,Extend,( [IfShift,[Sel,ExtendSchemeSelect ~1,BlueMouse],[Sel,ExtendSchemeSelect ~1,BlueMouse ForceSelPendDel]])] Blue Down [WhileScheme] => SELECT ENABLE FROM [BothUp,Red,Yellow] => [Extend]; ENDCASE; Mouse [WhileScheme] => SELECT ENABLE FROM Red Down => [Sel,TrackSchemeSelect0]; Yellow Down => [Sel,TrackSchemeSelect1]; Blue Down => { PARAM Coords ExtendSchemeSelect }; ENDCASE; [DEF,ButtonUp,(SELECT ENABLE FROM [SHIFTUp] [WhileCTRLUp] WHILE [BothUp,~1,~2] => SELECT ENABLE FROM ESC Down => Repeat; ENDCASE => DoEdit; ENDCASE)] Red Up [WhileScheme] => SELECT ENABLE FROM Blue Down => [Extend,ForceSelPendDel]; ENDCASE => [ButtonUp,Blue,Yellow]; Yellow Up [WhileScheme] => SELECT ENABLE FROM Blue Down WHILE Red Up => [Extend,ForceSelPendDel]; ENDCASE => [ButtonUp,Red,Blue]; Blue Up [WhileScheme] => [ButtonUp,Red,Yellow]; ENDCASE.  SchemeSelect.tip Copyright Σ 1990 by Xerox Corporation. All rights reserved. Last tweaked by Mike Spreitzer on March 24, 1992 12:59 pm PST All the Tioga macros: My macros: Mouse buttons and mouse movement SELECT TRIGGER FROM -- top level trigger select Red Down WHILE Spare1 Down => {PARAM Coords SchemeSelectForm}; Yellow Down WHILE Spare1 Down => {PARAM Coords SchemeSelectParent}; Blue Down WHILE Spare1 Down => {PARAM Coords SchemeSelectExtend}; Mouse WHILE Spare1 Down => SELECT ENABLE FROM Red Down => {PARAM Coords SchemeSelectForm}; Yellow Down => {PARAM Coords SchemeSelectParent}; Blue Down => {PARAM Coords SchemeSelectExtend}; ENDCASE => KbdNull; Red Up WHILE Spare1 Down => KbdNull; Yellow Up WHILE Spare1 Down => KbdNull; Blue Up WHILE Spare1 Down => KbdNull; ENDCASE. ΚM•NewlineDelimiter ™™Icode™—J˜šœœ ˜Jš œœœœœœœ˜J—J˜Jšœœœ˜$J˜Jšœœœ œ ˜1J˜šœœ ˜Jšœœ˜!Jšœ œ˜"—J˜Jšœœœ0˜:J˜Jšœœ-˜1J˜šœœ˜Jšœ œœ˜8Jšœœœ˜8Jšœœœ˜9—J˜šœœ œœ˜ Jšœœ˜Jšœ˜—J˜šœœ œœ˜Jšœœ˜ Jšœ˜——J˜™ Jšœœ˜Jšœœœ˜'—J˜šœœœΟc˜/J˜Jšœ ™ J˜šœœœœ˜šœœ˜Jšœ'œ ˜9Jšœœ˜+—Jšœœ/œ ˜GJšœœ˜1—J˜šœœ œœ˜!Jšœœ2˜8Jšœ˜—J˜šœœ œœ˜$Jšœ$˜$Jšœ˜"—J˜Jšœ!˜$J˜JšœG˜GJ˜šœœœ˜/Jšœ:˜:Jšœ˜J˜—šœœ ˜ Jšœg˜g—J˜šœœœ˜-Jšœ ˜ Jšœ˜J˜—šœœœ˜)Jšœ%˜%Jšœ(˜(Jšœœ˜1Jšœ˜—J˜šœœ œœ˜!šœœœœ˜BJšœ˜Jšœ ˜—Jšœ˜ J˜—šœœœ˜*Jšœ&˜&Jšœ˜"—J˜šœœœ˜-Jšœ œ$˜3Jšœ˜—J˜Jšœ/˜/Jšœ˜—J˜šœœœž™/Jšœ œœ™>Jšœ œœ™CJšœ œœ™Ašœœœœ™-Jšœ œ™,Jšœœ™1Jšœœ™/Jšœ ™—Jšœœ™$Jšœ œ™'Jšœœ™%Jšœ™——…— 