KeyboardTioga.TIP
Last Edited by: Spreitzer, April 26, 1985 7:31:29 pm PST
OPTIONS Fast;
[DEF,CTRL,(Ctrl Down | Spare3 Down)]
[DEF,SHIFT,(LeftShift Down | RightShift Down)]
[DEF,IfShift,(SELECT ENABLE FROM
[SHIFT] => ~1;
ENDCASE => ~2)]
[DEF,IfCtrl,(SELECT ENABLE FROM
[CTRL] => ~1;
ENDCASE => ~2)]
[DEF,WhileKbd,(WHILE Ctrl Down | Spare3 Down WHILE Spare2 Down)]
SELECT TRIGGER FROM -- top level trigger select
Free up keys
Spare2 Down => SELECT ENABLE FROM
BW Down => [IfCtrl,
[IfShift,{ IntermediateUser CtrlPrevPlaceholder },{ IntermediateUser CtrlNextPlaceholder }],
[IfShift,{ IntermediateUser PreviousPlaceholder },{ IntermediateUser NextPlaceholder }]];
ENDCASE => KbdNull;
[DEF,FreeKey,(~1 Down [WhileKbd] => KbdNull)]
[FreeKey,A];
[FreeKey,Z];
[FreeKey,E];
[FreeKey,D];
[FreeKey,C];
[FreeKey,W];
[FreeKey,S];
[FreeKey,X];
Select & op
[DEF,WhoStuff,(SELECT ENABLE FROM
E Down => ~1, KbdBranch, ~2;
D Down => ~1, KbdNode, ~2;
C Down => ~1, KbdLine, ~2;
W Down => ~1, KbdWord, ~2;
S Down => ~1, KbdSubWord, ~2;
X Down => ~1, KbdChar, ~2;
ENDCASE => ~1, KbdCurSel, ~2)]
[DEF,SelStuff,(
A Down => [WhoStuff,KbdBegin,~1];
Z Down => [WhoStuff,KbdEnd,~1];
ENDCASE => [WhoStuff,KbdAll,~1])]
[DEF,SelOnly,(
~1 Down [WhileKbd] => SELECT ENABLE FROM
[SelStuff,~2])]
[SelOnly,P,KbdToPoint];
[SelOnly,LeftBracket,KbdSelect];
[SelOnly,RightBracket,KbdSelectPendingDelete];
[SelOnly,Arrow,KbdDelete];
ENDCASE...