<> <> <> OPTIONS Fast; [DEF,SHIFT,(LeftShift Down | RightShift Down)] [DEF,CTRL,(Ctrl Down)] [DEF,KbdDown,( Next Down => SELECT ENABLE FROM NEXT Up => ~1; ENDCASE; NEXT Down => SELECT ENABLE FROM Next Up => ~1; ENDCASE)] [DEF,KbdUp,( Next Up WHILE NEXT Up ~1; NEXT Up WHILE Next Up ~1)] <<[DEF,WhileKbd,(>> <<~1 WHILE Next Down ~2;>> <<~1 WHILE NEXT Down ~2)]>> [DEF,WhileKbd,(~1 => SELECT ENABLE FROM (Next Down | NEXT Down) ~2 ENDCASE)] [DEF,Zork,WHILE (Next Down | NEXT Down)] [DEF,IfShift,(SELECT ENABLE FROM [SHIFT] => ~1; ENDCASE => ~2)] [DEF,WhileCtrl,(WHILE Ctrl Down)] [DEF,IfCtrl,(SELECT ENABLE FROM [CTRL] => ~1; ENDCASE => ~2)] SELECT TRIGGER FROM -- top level trigger select <> [KbdDown,KbdNull]; [DEF,FreeKey,([WhileKbd,~1 Down,=> KbdIgnore])] [FreeKey,BS]; [FreeKey,Space]; <> <<>> [DEF,Nextisms,([IfCtrl, [IfShift,{ ~1 IntermediateUser CtrlPrevPlaceholder },{ ~1 IntermediateUser CtrlNextPlaceholder }], [IfShift,{ ~1 IntermediateUser PreviousPlaceholder },{ ~1 IntermediateUser NextPlaceholder }]])] [WhileKbd,N Down,=> [Nextisms,KbdNotNull]]; [KbdUp, WHILE EmptyKbdNext WHILE NullKbd => [Nextisms,]]; <<>> <> [DEF,SelStuff,(SELECT ENABLE FROM BS Down => {KbdBegin ~1 KbdSelect}; Space Down => {KbdAll ~1 KbdSelect}; ENDCASE => {KbdEnd ~1 KbdSelect})] [WhileKbd,E Down,=> [SelStuff,KbdBranch]]; D Down [Zork] => [SelStuff,KbdNode]; <<[WhileKbd,D Down,=> [SelStuff,KbdNode]];>> [WhileKbd,C Down,=> [SelStuff,KbdLine]]; [WhileKbd,V Down,=> [SelStuff,KbdCompound]]; [WhileKbd,W Down,=> [SelStuff,KbdWord]]; [WhileKbd,S Down,=> [SelStuff,KbdSubWord]]; [WhileKbd,X Down,=> [SelStuff,KbdChar]]; <> [WhileKbd,DEL Down,=> KbdNotNull]; [WhileKbd,A Down,=> {KbdNotNull CaretBefore}]; [WhileKbd,Z Down,=> {KbdNotNull CaretAfter}]; [WhileKbd,Period Down,=> {KbdNotNull MakePointSelection}]; [WhileKbd,I Down,=> {KbdNotNull KbdInvertPendingDelete}]; [WhileKbd,J Down,=> {KbdNotNull NormalizeToStart}]; [WhileKbd,M Down,=> {KbdNotNull MakePointSelection SetMesaLooks}]; [WhileKbd,P Down,=> {KbdNotNull PrevPlace}]; [WhileKbd,G Down,=> [IfCtrl, {MakePointSelection CaretAfter KbdAll KbdCompound KbdSelect FindAnyDefCtl}, {MakePointSelection CaretAfter KbdAll KbdCompound KbdSelect FindAnyDef}]]; [DEF,FindCase,([IfShift,{KbdNotNull ~1},{KbdNotNull ~2}])] [DEF,FindStuff,([WhileKbd,~1 Down,=> SELECT ENABLE FROM BS Down => [FindCase,FindPrev~2Caseless,FindPrev~2]; Space Down => [FindCase,FindAny~2Caseless,FindAny~2]; ENDCASE => [FindCase,FindNext~2Caseless,FindNext~2]])] [FindStuff,F,]; <<[FindStuff,W,Word];>> <<>> <<[FindStuff,D,Def];>> ENDCASE...