KeyboardTioga.TIP
Last Edited by: Spreitzer, June 4, 1986 4:35:34 pm PDT
Last tweaked by Mike Spreitzer on May 9, 1988 12:35:06 pm PDT
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
Free up shift keys
[KbdDown,KbdNull];
[DEF,FreeKey,([WhileKbd,~1 Down,=> KbdIgnore])]
[FreeKey,BS];
[FreeKey,Space];
Recode `next'isms
[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,]];
Selections
[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]];
Ops
[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...