-- ChipNDale.TIP
-- Tip-table for ChipNDale
-- Copyright © 1984, 1987 by Xerox Corporation. All rights reserved.
-- Created by: Christian Jacobi, June 1, 1984 5:25:04 pm PDT
-- Last Edited by: Monier, July 25, 1984 7:42:41 pm PDT
-- Last Edited by: Christian Jacobi, January 15, 1987 12:25:27 pm PST
-- Last Edited by: Sindhu, January 15, 1985 12:01:17 pm PST
[DEF,Version,(TipTableVersionJan11x1987)]
[DEF,LeftDown,(Red Down)]
[DEF,LeftUp,(Red Up)]
[DEF,MiddleDown,(Yellow Down)]
[DEF,MiddleUp,(Yellow Up)]
[DEF,RightDown,(Blue Down)]
[DEF,RightUp,(Blue Up)]
[DEF,CTRL,(Ctrl Down)]
[DEF,SHIFT,(LeftShift Down | RightShift Down)]
[DEF,LEFTSH,(LeftShift Down | Lock Down)]
[DEF,WireCursor,(WHILE ChipndaleWireCursor)]
[DEF,ArrowCursor,(WHILE ChipndaleArrowCursor)]
[DEF,RectCursor,(WHILE ChipndaleRectCursor)]
[DEF,NoFocus,(WHILE ChipndaleNoFocus)]
[DEF,InFooMode,(WHILE ChipndaleXMode)]
[DEF,NotInFooMode,(WHILE ChipndaleNXMode)]
[DEF,ClearFooMode,(UseCursor, SetXModeOff)]
[DEF,SetFooMode,(UseCursor, SetXModeOn)]
[DEF,ResetT,(Coords, StopTrack, Track)] -- might Track
[DEF,Reset,(StopTrack)]
[DEF,FirstSelect,(Coords, ReSelectOnlyP, Track)]
[DEF,CloseFirstSelect,(Coords, CloseReSelectOnlyP, Track)]
[DEF,OtherSelect,(Coords, OnlySelectP, Track)]
[DEF,ReselectLast,(Coords, DeSelectLP, AddSelectP, Track)]
[DEF,RectTracking,(Coords, StopTrack, UseCursor, rect, Track)]
[DEF,ArrowTracking,(Coords, StopTrack, UseCursor, arrow, Track)]
[DEF,WireTracking,(Coords, StopTrack, UseCursor, wire, Track)]
[DEF,PartialWire,(Coords, ContinueWire, UseCursor, PartialWireAdvance, Track)]
[DEF,FlipWire,(UseCursor, FlipWire, Coords, Track)] --WARNING Coords might be out of range
[DEF,Menu,
(~1 Down WHILE Space Down
WHILE [RightUp] WHILE [LeftUp] WHILE [MiddleUp] => Coords, ~2;
Space Down WHILE ~1 Down
WHILE [RightUp] WHILE [LeftUp] WHILE [MiddleUp] => Coords, ~2)]
~1 represent's key; ~2 represent's Menu atom to call
[DEF,Catch,(~1 Down => StopTrack, UseCursor, default;
~1 Up => StopTrack, UseCursor, default;
[RightDown] WHILE ~1 Down => [ResetT];
[LeftDown] WHILE ~1 Down => [FirstSelect];
[MiddleDown] WHILE ~1 Down => StopTrack, UseCursor, default
)]
~1 represent's key to catch
[DEF,MouseUpOrCTRL,([LeftUp] WHILE ~1 Down => ~2;
[RightUp] WHILE ~1 Down => ~2;
~1 Down WHILE [CTRL] => ~2;
[CTRL] WHILE ~1 Down => ~2
)]
~1 represent's key ; ~2 represents action
[DEF,StepStretch,
([LeftUp] WHILE ~1 Down WHILE TAB Down => Coords, ~2;
[RightUp] WHILE ~1 Down WHILE TAB Down => Coords, ~2;
~1 Down WHILE TAB Down WHILE [LeftDown] => Coords, ~2;
~1 Down WHILE TAB Down WHILE [RightDown] => Coords, ~2)]
~1 represent's key ; ~2 represents action atom
[DEF,StepConnecty,
(~1 Down WHILE [CTRL] WHILE TAB Down WHILE [LeftUp] WHILE [RightUp] => ~2;
[CTRL] WHILE ~1 Down WHILE TAB Down WHILE [LeftUp] WHILE [RightUp] => ~2)]
--cant ask for TAB Down as last; gave a step move before
~1 represent's key ; ~2 represents action atom
SELECT TRIGGER FROM
Mouse
Mouse => Coords, Track;
[LeftDown] WHILE [RightDown] => [Reset];
[LeftDown] WHILE [MiddleDown] => [Reset];
[MiddleDown] WHILE [LeftDown] => [Reset];
[MiddleDown] WHILE [RightDown] => [Reset];
[RightDown] WHILE [LeftDown] => [Reset];
[RightDown] WHILE [MiddleDown] => [Reset];
ESC
Abort commands
Remember: ESC-LF aborts an ongoing paint process
DEL Down WHILE ESC Down => AbortCommand;
ESC Down WHILE DEL Down => AbortCommand;
Un-delete, un-arrow
D Down WHILE ESC Down => Undel;
ESC Down WHILE D Down => Undel;
A Down WHILE ESC Down => RemoveArrow;
ESC Down WHILE A Down => RemoveArrow;
Space Down WHILE ESC Down => RestoreScale;
ESC Down WHILE Space Down => RestoreScale;
Deselect all, Deselect incrementally by pointing and by area
[LeftDown] WHILE ESC Down => [ResetT];
[LeftUp] WHILE ESC Down => DeSelectS;
[RightDown] WHILE ESC Down WHILE [SHIFT] => [ResetT];
[RightDown] WHILE ESC Down =>
SELECT
TRIGGER
FROM
[RightUp] BEFORE 200 => Coords, DeSelectLP;
ENDCASE => [RectTracking]; -- start Area Selection
[RightUp] [RectCursor] WHILE ESC Down => Coords, AreaDeSelect;
Set layer
[MiddleDown] WHILE ESC Down => Coords, SetLayerP;
[RightUp] WHILE ESC Down => [ResetT];
[MiddleUp] WHILE ESC Down => [ResetT];
[Catch, ESC];
Space for the pop-up menu's
[Menu, B, TextPropertyMenu];
[Menu, C, CellMenu];
[Menu, D, DirectoryMenu];
[Menu, G, GlobalMenu];
[Menu, I, IOMenu];
[Menu, J, OperatorMenu];
[Menu, K, DRCMenu];
[Menu, L, SatellitesMenu];
[Menu, M, DrawModeMenu];
[Menu, N, NameMenu];
[Menu, O, OtherProgramMenu];
[Menu, P, ProgramMenu];
[Menu, S, SpecialMenu];
[Menu, T, TransformS];
[Menu, V, ViewerMenu];
[Menu, Comma, SetSimplification];
[Menu, Period, TicksInfo];
[Menu, Slash, GridInfo];
[Menu, U, GeneratorMenu];
[Menu, Y, DisplayMenu];
[Menu, X, ImportMenu];
[Menu, Q, SelectionMenu];
[Menu, Dash, PolygonMenu];
[Menu, Eight, CommentLayerMenu];
AAA
Stretching and Moving incrementally left the selection
[StepConnecty, A, StretchyMoveStepLeftS];
[StepStretch, A, StretchStepLeftS];
[MouseUpOrCTRL, A, LambdaLeftS];
[MiddleUp] WHILE A Down => Coords, SetArrow;
Space Down WHILE A Down => ResetScaleAll;
A Down WHILE Space Down => ResetScaleAll;
[Catch, A];
BBB
[MiddleDown] WHILE B Down => DisplayInstanceNames;
[Catch, B];
CCC
Creation of cell (use X key)
[MiddleDown] WHILE C Down WHILE X Down => CreateCellSAndName;
Create or draw expand a Cell (use X key)
[MiddleDown] WHILE C Down => Coords, DrawCell;
Pop
LeftShift Down WHILE C Down => PopMenu;
C Down WHILE LeftShift Down => PopMenu;
Push
[MouseUpOrCTRL, C, PushS];
[Catch, C];
DDD
Deleting
[MouseUpOrCTRL, D, DeleteS];
[Catch, D];
EEE
Mirror up-down (this key is close to R (otation); further, it is symmetric )
Space Down WHILE E Down WHILE [LeftDown] => [OtherSelect];
[MouseUpOrCTRL, E, MirrorYS];
[Catch, E];
FFF
[MouseUpOrCTRL, F, ChangeFont];
[Catch, F];
GGG
[MouseUpOrCTRL, G, IncreaseByWidth];
[MiddleDown] WHILE G Down => [RectTracking];
[MiddleUp] WHILE G Down [RectCursor] => Coords, RectGlobalMenu;
[Catch, G];
HHH
hard copy
[MiddleDown] WHILE H Down => [RectTracking];
[LeftDown] WHILE H Down => [FirstSelect], [RectTracking];
[RightDown] WHILE H Down => [ResetT], [RectTracking];
[MiddleUp] WHILE H Down => Coords, HardCopyMenu;
[RightUp] WHILE H Down => Coords, HardCopyMenu;
[LeftUp] WHILE H Down => Coords, HardCopyMenu;
[Catch, H];
III
[LeftUp] WHILE I Down WHILE L Down => SisyphShowInstExpressions;
[MiddleDown] WHILE I Down WHILE L Down => SisyphAddInstExpression;
[RightUp] WHILE I Down WHILE L Down => SisyphEditInstExpressions;
[LeftUp] WHILE I Down => Coords, SelectInstanceGroup;
[MiddleDown] WHILE I Down => Coords, AddInstanceSatellite;
[RightUp] WHILE I Down => Coords, SetInstanceSatellites;
[Catch, I];
JJJ
[MiddleDown] WHILE J Down => [ArrowTracking];
[LeftDown] WHILE J Down => [FirstSelect], [ArrowTracking];
[RightDown] WHILE J Down => [ResetT], [ArrowTracking];
[MiddleUp] WHILE J Down => Coords, RectOperatorMenu;
[RightUp] WHILE J Down => Coords, RectOperatorMenu;
[LeftUp] WHILE J Down => Coords, RectOperatorMenu;
[Catch, J];
KKK
[MiddleDown] WHILE K Down => [RectTracking];
[LeftDown] WHILE K Down => [FirstSelect], [RectTracking];
[RightDown] WHILE K Down => [ResetT], [RectTracking];
[MiddleUp] WHILE K Down => Coords, RectDRCMenu;
[RightUp] WHILE K Down => Coords, RectDRCMenu;
[LeftUp] WHILE K Down => Coords, RectDRCMenu;
[Catch, K];
LLL
[LeftUp] WHILE L Down WHILE O Down => SisyphShowObjExpressions;
[MiddleDown] WHILE L Down WHILE O Down => SisyphAddObjExpression;
[RightUp] WHILE L Down WHILE O Down => SisyphEditObjExpressions;
[Catch, L];
MMM
measure; note also CTRL middle does measure
[LeftDown] WHILE M Down => SELECT TRIGGER FROM
[MiddleUp] BEFORE 200 => Coords, Statistic;
ENDCASE => [ArrowTracking];
[LeftUp] WHILE M Down [ArrowCursor] => Coords, Coordinates;
[Catch, M];
NNN
Signal or instance Names
[MiddleDown] WHILE N Down => SignalNameS; --enter a signalname
[LeftUp] WHILE N Down => ShowPropertiesS; --on terminal
[RightUp] WHILE N Down => DisplayNames; --on design viewers
[Catch, N];
OOO
[LeftUp] WHILE O Down => Coords, SelectObjectGroup;
[MiddleDown] WHILE O Down => Coords, AddObjectSatellite;
[RightUp] WHILE O Down => Coords, SetObjectSatellites;
[Catch, O];
PPP
Sisyph
[LeftUp] WHILE SemiColon Down WHILE P Down => SisyphShowParmNames;
[MiddleDown] WHILE SemiColon Down WHILE P Down => SisyphAddParmName;
[RightUp] WHILE SemiColon Down WHILE P Down => SisyphEditParmNames;
Show or put properties of single-selected object; speed up commands
[MiddleDown] WHILE P Down WHILE [SHIFT] => PropertyApp;
[LeftUp] WHILE P Down WHILE [SHIFT] => ShowPropertiesS;
Rect program menu
[MiddleDown] WHILE P Down => [RectTracking];
[LeftDown] WHILE P Down => [FirstSelect], [RectTracking];
[RightDown] WHILE P Down => [ResetT], [RectTracking];
[MiddleUp] WHILE P Down [RectCursor] => Coords, RectProgramMenu;
[RightUp] WHILE P Down [RectCursor] => Coords, RectProgramMenu;
[LeftUp] WHILE P Down [RectCursor] => Coords, RectProgramMenu;
[Catch, P];
QQQ
[LeftDown] WHILE Q Down => [ResetT], [RectTracking];
[RightDown] WHILE Q Down => [ResetT], [RectTracking];
[RightUp] WHILE Q Down [RectCursor] => Coords, RectSelectionMenu;
[LeftUp] WHILE Q Down [RectCursor] => Coords, RectSelectionMenu;
[Catch, Q];
RRR
Rotation and rename of objects
Space Down WHILE R Down WHILE [LeftDown] => [OtherSelect];
[MouseUpOrCTRL, R, RotS];
[MiddleDown] WHILE R Down => [ResetT], [RectTracking];
[MiddleUp] WHILE R Down [RectCursor] => Coords, RectDrawMenu;
[Catch, R];
SSS
Stretching and Moving incrementally right the selection
[StepConnecty, S, StretchyMoveStepRightS];
[StepStretch, S, StretchStepRightS];
[MouseUpOrCTRL, S, LambdaRightS];
[MiddleDown] WHILE S Down => [RectTracking];
[MiddleUp] WHILE S Down [RectCursor] => Coords, RectSpecialMenu;
[Catch, S];
TTT
Mirror left-right (this key is close to R (otation); further, it is symmetric )
Space Down WHILE T Down WHILE [LeftDown] => [OtherSelect];
[MouseUpOrCTRL, T, MirrorS];
[Catch, T];
UUU
[MiddleDown] WHILE U Down => [RectTracking];
[MiddleUp] WHILE U Down [RectCursor] => Coords, CallGenerator;
[Catch, U];
VVV
Display the viewers
[MiddleDown] WHILE V Down => DisplayViewers;
[LeftUp] WHILE V Down => DAUserSchematicSimulationValue;
[Catch, V];
WWW
Stretching and Moving incrementally up the selection
[StepConnecty, W, StretchyMoveStepUpS];
[StepStretch, W, StretchStepUpS];
[MouseUpOrCTRL, W, LambdaUpS];
[Catch, W];
XXX
external (imported) objects
[RightDown] WHILE X Down WHILE Z Down => [Reset];
[LeftDown] WHILE X Down WHILE Z Down => [Reset];
[RightUp] WHILE X Down WHILE Z Down => Coords, SelectADesign, CloseReSelectOnlyP, Track;
[LeftUp] WHILE X Down WHILE Z Down => Coords, SelectADesign, CloseReSelectOnlyP, Track;
[MiddleDown] WHILE X Down WHILE Z Down => Coords, DrawCorrespondingObject;
[MiddleDown] WHILE X Down => Coords, DrawImported;
[MouseUpOrCTRL, X, PushSIconic];
YYY
[MiddleDown] WHILE Y Down => Coords, DrawText;
[MouseUpOrCTRL, Y, ChangeText];
[Catch, Y];
ZZZ
Stretching and Moving incrementally down the selection
[StepConnecty, Z, StretchyMoveStepDownS];
[StepStretch, Z, StretchStepDownS];
[MouseUpOrCTRL, Z, LambdaDownS];
[Catch, Z];
Zero
Zero Down WHILE Nine Down => [Version];
Nine Down WHILE Zero Down => [Version];
[Catch, Zero];
One
[LeftDown] WHILE One Down WHILE Two Down => Coords, ReSelectOnlyWithLayerP;
[Catch, One];
Arrow
Debug chipndale
[MouseUpOrCTRL, Arrow, Debug];
[MiddleUp] WHILE Arrow Down => Coords, Debug;
[Catch, Arrow];
Quote
[MouseUpOrCTRL, Quote, ChangeLayerS];
[Catch, Quote];
LeftBracket
LeftBracket together with RightBracket: undo repetition
[LeftUp] WHILE LeftBracket Down WHILE RightBracket Down => TransformToCellS, ExpandS;
[RightUp] WHILE LeftBracket Down WHILE RightBracket Down => TransformToCellS, ExpandS;
Increment the repetition (LeftBracket is near the =)
[MouseUpOrCTRL, LeftBracket, IncRepetition];
[Catch, LeftBracket];
RightBracket
Decrement the repetition (RightBracket is near the =)
[MouseUpOrCTRL, RightBracket, DecRepetition];
[Catch, RightBracket];
Equal
Create a Repetition (do you se the repeated horizontal lines?)
[MiddleDown] WHILE Equal Down => [ArrowTracking];
[MiddleUp] WHILE Equal Down [ArrowCursor] WHILE [SHIFT] => Coords, ChangeRepetition;
[MiddleUp] WHILE Equal Down [ArrowCursor] => Coords, DrawRepetition;
[Catch, Equal];
Dash, for polygons
[LeftUp] WHILE Dash Down => PolygonRenumber;
[RightUp] WHILE Dash Down => PolygonRenumber;
[MiddleUp] WHILE Dash Down => Coords, DrawPolygonMark;
[RightDown] WHILE Dash Down => Coords, DoubleAddSelect;
[Catch, Dash];
BackSlash
Split Wire (do you see how the | splits the wires?)
[RightDown] WHILE BackSlash Down => [ArrowTracking];
[MiddleDown] WHILE BackSlash Down => [ArrowTracking];
[LeftDown] WHILE BackSlash Down => [FirstSelect], [ArrowTracking];
Space Down WHILE [LeftDown] WHILE BackSlash Down => [OtherSelect], [ArrowTracking];
[LeftUp] WHILE BackSlash Down [ArrowCursor] => Coords, CutWireS;
[RightUp] WHILE BackSlash Down [ArrowCursor] => Coords, CutWireS;
[MiddleUp] WHILE BackSlash Down [ArrowCursor] => Coords, CutWireS;
BackSlash Down WHILE [CTRL] WHILE [SHIFT] => Coords, UnMakeComment;
BackSlash Down WHILE [CTRL] => Coords, MakeComment;
[Catch, BackSlash];
SemiColon
Pins
[MiddleDown] WHILE SemiColon Down => [RectTracking];
[MiddleUp] WHILE SemiColon Down WHILE [SHIFT] [RectCursor] => Coords, DrawSegment;
[MiddleUp] WHILE SemiColon Down [RectCursor] => Coords, DrawPin;
[Catch, SemiColon];
LF
--remember: LF-ESC aborts an ongoing paint process
[LeftDown] WHILE LF Down => DeSelectS, AddSelectLayer;
[RightDown] WHILE LF Down => AddSelectLayer;
[Catch, LF];
DEL
--remember: ESC-DEL => AbortCommand
[Catch, DEL];
Comma <
Zoom in
Comma Down => ScaleMoreDetail;
[Catch, Comma];
Period >
Zoom out
Period Down => ScaleLessDetail;
[Catch, Period];
Slash (but you really see the <?> )
Display hierarchy
[MiddleDown] WHILE Slash Down => Coords, SpinifexHighlightNodeP;
[MouseUpOrCTRL, Slash, MoveToGrid];
Display Foo
Slash Down WHILE [SHIFT] => Statistic;
Slash Down WHILE [CTRL] => Statistic;
[Catch, Slash];
Keyset1
[Catch, Keyset1];
Keyset2
[Catch, Keyset2];
Keyset3
[Catch, Keyset3];
Keyset4
[Catch, Keyset4];
Keyset5
[Catch, Keyset5];
Spare2
[MouseUpOrCTRL, Spare2, ShowErrors];
[Catch, Spare2];
Spare3
area selection touching
[RightDown] WHILE Spare3 Down => [RectTracking]; -- start Area Selection
[LeftDown] WHILE Spare3 Down => [RectTracking]; -- start Area Selection
area de selection touching
[RightUp] [RectCursor] WHILE Spare3 Down WHILE RightShift Down => Coords, AreaDeSelectTouching;
area exclusive selection touching
[LeftUp] [RectCursor] WHILE Spare3 Down => Coords, DeSelectS, AreaAddSelectTouching;
area inclusive selection touching
[RightUp] [RectCursor] WHILE Spare3 Down => Coords, AreaAddSelectTouching;
[Catch, Spare3];
Space
Reselection
Space Down WHILE [RightDown] [ArrowCursor] => [ReselectLast], UseCursor, arrow, Track;
Space Down WHILE [LeftDown] [ArrowCursor] => [OtherSelect], UseCursor, arrow, Track;
Space Down WHILE [RightDown] => [ReselectLast];
Space Down WHILE [LeftDown] => [OtherSelect];
Show Box viewer
[LeftDown] WHILE Space Down => [RectTracking];
[LeftUp] WHILE Space Down WHILE [SHIFT] [RectCursor] => Coords, ShowRectX;
[LeftUp] WHILE Space Down [RectCursor] => Coords, ShowRect;
Move viewer (drag) or reset scale (click)
[MiddleDown] WHILE Space Down => [ArrowTracking];
[MiddleUp] WHILE Space Down [ArrowCursor] => Coords, MoveScreen;
Select all
[RightDown] WHILE Space Down => [ResetT];
[RightUp] WHILE Space Down=> SelectAll;
Show all, selection
TAB Down WHILE Space Down => ResetScaleTop;
Space Down WHILE TAB Down => ResetScaleTop;
[CTRL] WHILE Space Down => ResetScaleSel;
Space Down WHILE [CTRL] => ResetScaleSel;
Wires
Space Down WHILE [MiddleDown] [WireCursor] => [FlipWire];
CTRL
Stretchy move
[LeftUp] WHILE [CTRL] WHILE TAB Down [ArrowCursor] => Coords, StretchyMoveS;
[RightUp] WHILE [CTRL] WHILE TAB Down [ArrowCursor] => Coords, StretchyMoveS;
Move
[LeftDown] WHILE [CTRL] => [FirstSelect], [ArrowTracking];
[RightDown] WHILE [CTRL] => [ArrowTracking];
[LeftUp] WHILE [CTRL] [ArrowCursor] => Coords, MoveS;
[RightUp] WHILE [CTRL] [ArrowCursor] => Coords, MoveS;
TAB
Stretch
[LeftDown] WHILE TAB Down => [FirstSelect], [ArrowTracking];
[RightDown] WHILE TAB Down => [ArrowTracking];
[LeftUp] WHILE TAB Down [ArrowCursor] => Coords, StretchS;
[RightUp] WHILE TAB Down [ArrowCursor] => Coords, StretchS;
SHIFT
Copy
[RightDown] WHILE [SHIFT] => [ArrowTracking];
[LeftDown] WHILE [SHIFT] => [FirstSelect], [ArrowTracking];
[LeftUp] WHILE [SHIFT] [ArrowCursor] => Coords, CopyS;
[RightUp] WHILE [SHIFT] [ArrowCursor] => Coords, CopyS;
[LeftUp] WHILE [SHIFT] [NoFocus] => Coords, CopyS;
[RightUp] WHILE [SHIFT] [NoFocus] => Coords, CopyS;
[LeftUp] WHILE [RightDown] => DeSelectS;
[LeftUp] WHILE [MiddleDown] => DeSelectS;
[RightUp] WHILE [LeftDown] => DeSelectS;
[RightUp] WHILE [MiddleDown] => DeSelectS;
[MiddleUp] WHILE [LeftDown] => [Reset];
[MiddleUp] WHILE [RightDown] => [Reset];
Right
Selection
[RightDown] =>
SELECT
TRIGGER
FROM
[RightUp] BEFORE 200 => Coords, DoubleAddSelect;
ENDCASE => [RectTracking]; -- start Area Selection
[RightUp] [RectCursor] => Coords, MultiAddSelect; -- Area inclusive Selection contained
Left
Selection
[LeftDown] =>
SELECT
TRIGGER
FROM
[LeftUp] BEFORE 200 => [CloseFirstSelect];
ENDCASE => [RectTracking]; -- start Area Selection
[LeftUp] [RectCursor] => Coords, MultiOnlySelect;-- Area exclusive Selection contained
Middle
Measure size and coordinates, statistic
[MiddleDown] WHILE [CTRL] => SELECT TRIGGER FROM
[MiddleUp] BEFORE 200 => Coords, Statistic, Track;
ENDCASE => [ArrowTracking];
[MiddleUp] WHILE [CTRL] [ArrowCursor] => Coords, Coordinates;
Wires
[MiddleDown] => [WireTracking];
LeftShift Down WHILE [MiddleDown] [WireCursor] => [PartialWire];
[MiddleUp] [WireCursor] => Coords, DrawWire;
Catches
[LeftDown] => [ResetT];
[RightDown] => [ResetT];
[MiddleDown] => [ResetT];
[LeftUp] => [ResetT];
[RightUp] => [ResetT];
[MiddleUp] => [ResetT];
ENDCASE.