<> <> OPTIONS Fast; [DEF,SHIFT,(LeftShift Down | RightShift Down)] [DEF,IfShift,(SELECT ENABLE FROM [SHIFT] => ~1; ENDCASE => ~2)] [DEF,CTRL,(Ctrl Down)] [DEF,WhileCtrl,(WHILE Ctrl Down)] [DEF,IfCtrl,(SELECT ENABLE FROM [CTRL] => ~1; ENDCASE => ~2)] [DEF,WhileKbd,(WHILE Spare2 Down)] SELECT TRIGGER FROM -- top level trigger select <> Spare2 Down => KbdNull; [DEF,FreeKey,(~1 Down [WhileKbd] => KbdNull)] [FreeKey,BS]; [FreeKey,Space]; <> <<>> N Down [WhileKbd] => [IfCtrl, [IfShift,{ IntermediateUser CtrlPrevPlaceholder },{ IntermediateUser CtrlNextPlaceholder }], [IfShift,{ IntermediateUser PreviousPlaceholder },{ IntermediateUser NextPlaceholder }]]; <<>> <> [DEF,SelStuff,(SELECT ENABLE FROM BS Down => KbdBegin, ~1, KbdSelect; Space Down => KbdAll, ~1, KbdSelect; ENDCASE => KbdEnd, ~1, KbdSelect)] E Down [WhileKbd] => [SelStuff,KbdBranch]; D Down [WhileKbd] => [SelStuff,KbdNode]; C Down [WhileKbd] => [SelStuff,KbdLine]; W Down [WhileKbd] => [SelStuff,KbdWord]; S Down [WhileKbd] => [SelStuff,KbdSubWord]; X Down [WhileKbd] => [SelStuff,KbdChar]; <> A Down [WhileKbd] => CaretBefore; Z Down [WhileKbd] => CaretAfter; Period Down [WhileKbd] => MakePointSelection; P Down [WhileKbd] => KbdInvertPendingDelete; J Down [WhileKbd] => NormalizeToStart; [DEF,FindStuff,(~1 Down [WhileKbd] => SELECT ENABLE FROM BS Down => [IfShift,FindPrev~2Caseless,FindPrev~2]; Space Down => [IfShift,FindAny~2Caseless,FindAny~2]; ENDCASE => [IfShift,FindNext~2Caseless,FindNext~2])] [FindStuff,F,]; <<[FindStuff,W,Word];>> <<>> <<[FindStuff,D,Def];>> < SELECT ENABLE FROM>> < [IfShift,FindPrevCaseless,FindPrev];>> < [IfShift,FindAnyCaseless,FindAny];>> < [IfShift,FindNextCaseless,FindNext];>> ENDCASE...