SELECT
TRIGGER
FROM
-- top level trigger select
Mouse buttons and mouse movement
-- 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])]
Red Down => [MouseClick,Red,SelChar,SelNode];
Yellow Down =>
SELECT
ENABLE
FROM
Red Up => [MouseClick,Yellow,SelWord,SelBranch];
ENDCASE;
-- Extend is similar but does not check SHIFT
[DEF,Extend,([Sel,~1 SelStartExtend,BlueMouse])]
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;
-- 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 Up => SELECT ENABLE FROM
Blue Down => [Extend];
ENDCASE => [ButtonUp,Blue,Yellow];
Yellow Up => SELECT ENABLE FROM
Blue Down WHILE Red Up => [Extend];
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
-- no BS
Spare2 Down =>
[IfShift,{ IntermediateUser PreviousPlaceholder },{ IntermediateUser NextPlaceholder }];
-- no ESC, LF
DEL Down =>
SELECT
ENABLE
FROM
[SHIFT] => EditAbort;
[CTRL] => EditAbort;
Red Down => EditAbort;
Yellow Down => EditAbort;
Blue Down => EditAbort;
ENDCASE;
-- no Space to clear looks
-- only the Zero number commands
Zero Down
WHILE [
SHIFT]
WHILE [
CTRL] =>
{ IntermediateUser SelectMatchingParens };
Punctuation Commands
-- no Return, Arrow, BackSlash, Dash, Comma commands
Period Down
WHILE [
SHIFT]
WHILE [
CTRL] =>
{ IntermediateUser SelectMatchingAngleBrackets };
-- no Quote or LeftBracket commands
RightBracket Down
WHILE [
CTRL] =>
[IfShift,{ IntermediateUser SelectMatchingCurlyBrackets },
{ IntermediateUser SelectMatchingSquareBrackets }];
Letter Commands
D Down
WHILE [
CTRL] =>
{ IntermediateUser Everything };
R Down
WHILE [
CTRL] =>
-- romp to end of current node
{ MakePointSelection GrowSelection GrowSelection GrowSelection CaretAfter MakePointSelection };
S Down
WHILE [
CTRL] =>
-- copy primary
{ IntermediateUser MakeNotPendingDelete ToSecondary SelSecondary SelNotPendDel };
V Down
WHILE [
CTRL] =>
{ IntermediateUser GrowSelectionToBlanks };