-- ///cd17/chipnsil.TIP
-- Copyright © 1984 by Xerox Corporation. All rights reserved.
-- Created by: Christian Jacobi, July 28, 1984 10:51:16 pm PDT
-- Last Edited by: Christian Jacobi, July 28, 1984 10:51:19 pm PDT
[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,LCursor,(WHILE ChipndaleLBoxCursor)]
[DEF,NoCursor,(WHILE ChipndaleShadowCursor)]
[DEF,ArrowCursor,(WHILE ChipndaleArrowCursor)]
[DEF,PosCursor,(WHILE ChipndalePosCursor)]
[DEF,BoxCursor,(WHILE ChipndaleBoxCursor)]
[DEF,DontCursor,(WHILE ChipndaleDontCursor)]
[DEF,InFooMode,(WHILE ChipndaleXMode)]
[DEF,NotInFooMode,(WHILE ChipndaleNXMode)]
[DEF,ClearFooMode,(SetXModeOff)]
[DEF,SetFooMode,(SetXModeOn)]
[DEF,Reset,(StopTrack, UseDontTrack, Track)]
[DEF,FirstSelect,(Coords, ReSelectOnlyP)]
[DEF,ReselectLast,(Coords, DeSelectLP, AddSelectP)]
[DEF,SingleSelect,(Coords, OnlySelectP)]
[DEF,BoxTracking,(Coords, StopTrack, UseBoxTrack, Track)]
[DEF,ArrowTracking,(Coords, StopTrack, UseArrowTrack, Track)]
[DEF,Menu,
(~1 Down WHILE Space Down
WHILE [RightUp] WHILE [LeftUp] WHILE [MiddleUp] => ~2;
Space Down WHILE ~1 Down
WHILE [RightUp] WHILE [LeftUp] WHILE [MiddleUp] => ~2)]
~1 represent's key; ~2 represent's Menu atom to call
[DEF,CatchUp,(~1 Up => StopTrack, UseDontTrack, Track)]
~1 represent's key to catch on up
[DEF,Catch,(~1 Down => StopTrack, UseDontTrack, Track;
[CatchUp, ~1];
[MiddleDown] WHILE ~1 Down => StopTrack, UseDontTrack, Track)]
~1 represent's key to catch on up, down, middle down
SELECT TRIGGER FROM
Mouse
Mouse => Coords, Track;
ESC
Select close
[LeftDown] WHILE ESC Down WHILE TAB Down => Coords, CloseReSelectOnlyP;
Select, Deselect all
[LeftDown] WHILE ESC Down => DeSelectS;
[RightDown] WHILE ESC Down => SelectAll;
Undelete, Abort
[MiddleDown] WHILE ESC Down WHILE TAB Down => AbortCommand;
[MiddleDown] WHILE ESC Down WHILE [CTRL] => AbortCommand;
[MiddleDown] WHILE ESC Down => StopDrawing;
[Catch, ESC];
Space for menu's
All the pop-up menus
[Menu, G, GlobalMenu];
[Menu, V, ViewerMenu];
[Menu, D, DirectoryMenu];
[Menu, I, IOMenu];
[Menu, O, IOMenu];
[Menu, P, ProgramMenu];
[Menu, T, TransformS];
[Menu, C, CellMenu];
AAA
Stretching and Moving incrementally left the selection
[RightDown] WHILE A Down => [Reset];
[LeftUp] WHILE A Down WHILE [CTRL] => Coords, StretchStepLeftS;
[RightUp] WHILE A Down WHILE [CTRL] => Coords, StretchStepLeftS;
[LeftUp] WHILE A Down => Coords, LambdaLeftS;
[RightUp] WHILE A Down => Coords, LambdaLeftS;
[Catch, A];
BBB
[Catch, B];
CCC
[RightDown] WHILE C Down => [Reset];
Transform to cell (use V key)
[LeftUp] WHILE C Down WHILE V Down => TransformToCellS;
[RightUp] WHILE C Down WHILE V Down => TransformToCellS;
Create or draw expand a Cell (use X key)
[MiddleDown] WHILE C Down WHILE X Down => CreateCellSAndName;
[MiddleDown] WHILE C Down => Coords, DrawCell;
[LeftUp] WHILE C Down WHILE X Down => ExpandS;
[RightUp] WHILE C Down WHILE X Down => ExpandS;
Push and Pop
[LeftUp] WHILE C Down => PushS;
[RightUp] WHILE C Down => PopMenu;
[Catch, C];
DDD
Deleting
[RightDown] WHILE D Down => [Reset];
[MiddleDown] WHILE D Down => Undel;
[LeftDown] WHILE D Down => [FirstSelect];
[LeftUp] WHILE D Down => DeleteS;
[RightUp] WHILE D Down => DeleteS;
[Catch, D];
EEE
Mirror left-right (this key is close to R (otation) )
[RightDown] WHILE E Down => [Reset];
[LeftDown] WHILE E Down => [FirstSelect];
Space Down WHILE E Down WHILE [LeftDown] => [SingleSelect];
[LeftUp] WHILE E Down => MirrorS;
[RightUp] WHILE E Down => MirrorS;
[Catch, E];
FFF
[RightDown] WHILE F Down => [Reset];
[LeftUp] WHILE F Down => Coords, GrowStepS;
[RightUp] WHILE F Down => Coords, GrowStepS;
[Catch, F];
GGG
[RightDown] WHILE G Down => [Reset];
[LeftUp] WHILE G Down => Coords, ShrinkStepS;
[RightUp] WHILE G Down => Coords, ShrinkStepS;
[Catch, G];
HHH
[Catch, H];
III
[Catch, I];
JJJ
[Catch, J];
KKK
[Catch, K];
LLL
[Catch, L];
MMM
[Catch, M];
NN
Signal or instance Names (Stil CRAZXY)
[RightDown] WHILE N Down => [Reset];
[LeftDown] WHILE N Down => [FirstSelect];
Space Down WHILE N Down WHILE [LeftDown] => [SingleSelect];
[MiddleDown] WHILE N Down => Coords, EnterNameS;
[LeftUp] WHILE N Down => DisplayNames;
[RightUp] WHILE N Down => DisplayNames;
[Catch, N];
OOO
[Catch, O];
PPP
[RightDown] WHILE P Down => [Reset];
Show properties of single-selected object
[LeftDown] WHILE P Down => [FirstSelect];
Space Down WHILE P Down WHILE [LeftDown] => [SingleSelect];
[LeftUp] WHILE P Down => ShowPropertiesS;
[RightUp] WHILE P Down => ShowPropertiesS;
Put property on single-selected object
[MiddleDown] WHILE P Down => EnterPropertyS;
[Catch, P];
QQQ
Move, Copy, Stretch single-selected object
Q Down WHILE [LeftDown] => [ArrowTracking];
[LeftDown] WHILE Q Down => [FirstSelect], [ArrowTracking];
Space Down WHILE [LeftDown] WHILE Q Down => [SingleSelect], [ArrowTracking];
[LeftUp] WHILE Q Down WHILE TAB Down [ArrowCursor] => Coords, CopyS;
[LeftUp] WHILE Q Down WHILE [CTRL] [ArrowCursor] => Coords, StretchS;
[LeftUp] WHILE Q Down WHILE [SHIFT] [ArrowCursor] => Coords, StretchyMoveS;
[LeftUp] WHILE Q Down [ArrowCursor] => Coords, MoveS;
Move, Copy, Stretch
Q Down WHILE [RightDown] => [ArrowTracking];
[RightDown] WHILE Q Down => [ArrowTracking];
Space Down WHILE [RightDown] WHILE Q Down => [ReselectLast], [ArrowTracking];
[RightUp] WHILE Q Down WHILE TAB Down [ArrowCursor] => Coords, CopyS;
[RightUp] WHILE Q Down WHILE [SHIFT] [ArrowCursor] => Coords, StretchyMoveS;
[RightUp] WHILE Q Down WHILE [CTRL] [ArrowCursor] => Coords, StretchS;
[RightUp] WHILE Q Down [ArrowCursor] => Coords, MoveS;
[Catch, Q];
RRR
Rotation and rename of objects
[LeftDown] WHILE R Down => [FirstSelect];
Space Down WHILE R Down WHILE [LeftDown] => [SingleSelect];
[LeftUp] WHILE R Down WHILE TAB Down => RenameS;
[RightDown] WHILE R Down => [Reset];
[RightUp] WHILE R Down WHILE TAB Down => RenameS;
[LeftUp] WHILE R Down => RotS;
[RightUp] WHILE R Down => RotS;
[Catch, R];
SSS
Stretching and Moving incrementally right the selection
[RightDown] WHILE S Down => [Reset];
[LeftUp] WHILE S Down WHILE [CTRL] => Coords, StretchStepRightS;
[RightUp] WHILE S Down WHILE [CTRL] => Coords, StretchStepRightS;
[LeftUp] WHILE S Down => Coords, LambdaRightS;
[RightUp] WHILE S Down => Coords, LambdaRightS;
[Catch, S];
TTT
Mirror up-down (this key is close to R (otation) )
[MiddleDown] WHILE T Down => Coords, DrawText;
[RightDown] WHILE T Down => [Reset];
[LeftDown] WHILE T Down => [FirstSelect];
Space Down WHILE T Down WHILE [LeftDown] => [SingleSelect];
[LeftUp] WHILE T Down => MirrorYS;
[RightUp] WHILE T Down => MirrorYS;
[Catch, T];
UUU
[Catch, U];
VVV
See also C Key
Split Wire (do you see how the V splits the ground?)
[RightDown] WHILE V Down => [ArrowTracking];
V Down WHILE [LeftDown] => [ArrowTracking];
[LeftDown] WHILE V Down => [FirstSelect], [ArrowTracking];
Space Down WHILE [LeftDown] WHILE V Down => [SingleSelect], [ArrowTracking];
[LeftDown] WHILE V Down => [ArrowTracking];
[LeftUp] WHILE V Down [ArrowCursor] => Coords, SplitWireS;
[RightUp] WHILE V Down [ArrowCursor] => Coords, SplitWireS;
[Catch, V];
WWW
Stretching and Moving incrementally up the selection
[RightDown] WHILE W Down => [Reset];
[LeftUp] WHILE W Down WHILE [CTRL] => Coords, StretchStepUpS;
[RightUp] WHILE W Down WHILE [CTRL] => Coords, StretchStepUpS;
[LeftUp] WHILE W Down => Coords, LambdaUpS;
[RightUp] WHILE W Down => Coords, LambdaUpS;
Angle transistors
[MiddleDown] WHILE W Down WHILE [LEFTSH] => Coords, DrawAnglePXstr;
[MiddleDown] WHILE W Down => Coords, DrawAngleNXstr;
[Catch, W];
XXX
See also C key if topic is Cell
external (imported) objects
[RightDown] WHILE X Down => [Reset];
[RightUp] WHILE X Down WHILE Space Down => Coords, SelectADesign; --is textually after expand
[LeftUp] WHILE X Down WHILE Space Down => Coords, SelectADesign; --is textually after expand
[MiddleDown] WHILE X Down WHILE Space Down => Coords, DrawCorrespondingObject;
[MiddleDown] WHILE X Down => Coords, DrawImported;
[Catch, X];
YYY
[Catch, Y];
ZZZ
Stretching and Moving incrementally down the selection
[RightDown] WHILE Z Down => [Reset];
[LeftUp] WHILE Z Down WHILE [CTRL] => Coords, StretchStepDownS;
[RightUp] WHILE Z Down WHILE [CTRL] => Coords, StretchStepDownS;
[LeftUp] WHILE Z Down => Coords, LambdaDownS;
[RightUp] WHILE Z Down => Coords, LambdaDownS;
[Catch, Z];
Zero
[MiddleDown] WHILE Zero Down => ModifyMacroS;
[Catch, Zero];
One
[Catch, One];
Two
[Catch, Two];
Three
[Catch, Three];
Four
[Catch, Four];
Five
[Catch, Five];
Six
[Catch, Six];
Seven
[Catch, Seven];
Eight
[Catch, Eight];
Arrow
Debug chipndale
[LeftDown] WHILE Arrow Down => Coords, Debug;
[MiddleDown] WHILE Arrow Down => Coords, Debug;
[RightDown] WHILE Arrow Down => Coords, Debug;
[Catch, Arrow];
Quote
Prepare plots
[LeftDown] WHILE Quote Down => [BoxTracking];
[MiddleDown] WHILE Quote Down => [BoxTracking];
[RightDown] WHILE Quote Down => [BoxTracking];
BW Plot
[LeftUp] WHILE Quote Down WHILE [SHIFT] [BoxCursor] => Coords, VersatecBWPlot;
[MiddleUp] WHILE Quote Down WHILE [SHIFT] [BoxCursor] => Coords, VersatecBWPlot;
[RightUp] WHILE Quote Down WHILE [SHIFT] [BoxCursor] => Coords, VersatecBWPlot;
Color Plot
[LeftUp] WHILE Quote Down [BoxCursor] => Coords, VersatecColorPlot;
[MiddleUp] WHILE Quote Down [BoxCursor] => Coords, VersatecColorPlot;
[RightUp] WHILE Quote Down [BoxCursor] => Coords, VersatecColorPlot;
[Catch, Quote];
LeftBracket
[RightDown] WHILE LeftBracket Down => [Reset];
LeftBracket together with RightBracket: Alter
[LeftUp] WHILE LeftBracket Down WHILE RightBracket Down => AlterS;
[RightUp] WHILE LeftBracket Down WHILE RightBracket Down => AlterS;
Increment the repetition (LeftBracket is near the =)
[LeftUp] WHILE LeftBracket Down => Coords, IncCountS;
[RightUp] WHILE LeftBracket Down => Coords, IncCountS;
[Catch, LeftBracket];
RightBracket
[RightDown] WHILE RightBracket Down => [Reset];
Decrement the repetition (RightBracket is near the =)
[LeftUp] WHILE RightBracket Down => Coords, DecCountS;
[RightUp] WHILE RightBracket Down => Coords, DecCountS;
[Catch, RightBracket];
Equal
Create a Repetition (do you se the repeated horizontal lines?)
[RightDown] WHILE Equal Down => [Reset];
[MiddleDown] WHILE Equal Down => [ArrowTracking];
[MiddleUp] WHILE Equal Down [ArrowCursor] => Coords, DrawRepetition;
[Catch, Equal];
Dash, for the tiler program
Dash Down WHILE [SHIFT] => Coords, AddAlignMark;
Dash Down WHILE [CTRL] => Coords, AddStretchLine;
Dash Down WHILE TAB Down => Coords, RunTiler;
[Catch, Dash];
BackSlash
Make an object Conditional
[RightDown] WHILE BackSlash Down => [Reset];
[LeftUp] WHILE BackSlash Down => Coords, DrawConditionS;
[MiddleUp] WHILE BackSlash Down => Coords, DrawConditionS;
[RightUp] WHILE BackSlash Down => Coords, DrawConditionS;
[Catch, BackSlash];
SemiColon
Pins (EXXPERIMENTAL)
[MiddleDown] WHILE SemiColon Down WHILE [SHIFT] => Coords, RemovePinS;
[MiddleDown] WHILE SemiColon Down => Coords, MakePinS;
[Catch, SemiColon];
LF
[Catch, LF];
DEL
[Catch, DEL];
Comma <
Zoom in
Comma Down => ScaleMoreDetail;
[CatchUp, Comma];
Period >
Zoom out
Period Down => ScaleLessDetail;
[CatchUp, Period];
Slash (but you really see the <?> )
Display hierarchy
[RightDown] WHILE Slash Down => [Reset];
[LeftUp] WHILE Slash Down => DisplayHierarchyS;
[RightUp] WHILE Slash Down => DisplayHierarchyS;
Display Foo
Slash Down WHILE [SHIFT] => ShowErrors;
Slash Down WHILE [CTRL] => Statistic;
[Catch, Slash];
Keyset1
[Catch, Keyset1];
Keyset2
[Catch, Keyset2];
Keyset3
[Catch, Keyset3];
Keyset4
[Catch, Keyset4];
Keyset5
[Catch, Keyset5];
BS
[Catch, BS];
Spare2
[Catch, Spare2];
Spare3
[Catch, Spare3];
Space
Show Box this viewer; (drag) or select all (click)
[LeftDown] WHILE Space Down WHILE TAB Down => DeSelectS;
[LeftDown] WHILE Space Down => SELECT TRIGGER FROM
[LeftUp] BEFORE 200 => ResetScaleSel;
ENDCASE => [BoxTracking];
[LeftUp] WHILE Space Down [BoxCursor] => Coords, ShowRect;
Move viewer (drag) or reset scale (click)
[MiddleDown] WHILE Space Down WHILE TAB Down => ResetScaleAll;
[MiddleDown] WHILE Space Down => SELECT TRIGGER FROM
[MiddleUp] BEFORE 200 => ResetScaleTop;
ENDCASE => [ArrowTracking];
[MiddleUp] WHILE Space Down [ArrowCursor] => Coords, MoveScreen;
Show Box another viewer; (drag) or show other viewers (click)
[RightDown] WHILE Space Down WHILE TAB Down => SelectAll;
[RightDown] WHILE Space Down => SELECT TRIGGER FROM
[RightUp] BEFORE 200 => DisplayViewers;
ENDCASE => [BoxTracking];
[RightUp] WHILE Space Down [BoxCursor] => Coords, ShowRectX;
Left
De-Selection by contact: area only
[LeftDown] WHILE [SHIFT] WHILE TAB Down WHILE [CTRL] => [BoxTracking];
[LeftUp] [BoxCursor] WHILE TAB Down WHILE [SHIFT] WHILE [CTRL] => Coords, AreaDeSelectTouching;
Selection by contact: area only
[LeftDown] WHILE [CTRL] WHILE TAB Down => [BoxTracking];
[LeftUp] [BoxCursor] WHILE TAB Down WHILE [CTRL] => Coords, DeSelectS, AreaAddSelectTouching;
Area DeSelection contained
[LeftDown] WHILE TAB Down WHILE [SHIFT] => [BoxTracking];
[LeftUp] WHILE TAB Down [BoxCursor] WHILE [SHIFT]=> Coords, AreaOnlySelect;
Area Selection contained
[LeftDown] WHILE TAB Down => [BoxTracking];
[LeftUp] WHILE TAB Down [BoxCursor] => Coords, AreaOnlySelect;
Deselect all
[LeftDown] WHILE [SHIFT] => [SingleSelect];
Regular select
[LeftDown] => [FirstSelect];
Space Down WHILE [LeftDown] => [SingleSelect];
Middle
Select layer
Select all of current layer; (somewhat crazy)
[MiddleDown] WHILE TAB Down WHILE Space Down => Coords, AddSelectLevel;
Pointed to current layer
[MiddleDown] WHILE TAB Down => Coords, SetLayerP;
Measure size and coordinates
[MiddleDown] WHILE [CTRL] => SELECT TRIGGER FROM
[MiddleUp] BEFORE 200 => Coords, Statistic;
ENDCASE => [ArrowTracking];
[MiddleUp] WHILE [CTRL] [ArrowCursor] => Coords, Coordinates;
[MiddleDown] => Coords, StopTrack, UseLTrack, Track;
Space Down WHILE [MiddleDown] [LCursor] => SwitchTrack, Track;
LeftShift Down WHILE [MiddleDown] [LCursor] => Coords, AngleTrack, UseLTrack, Track;
[MiddleUp] [LCursor] => Coords, DrawWire;
[MiddleUp] => Coords, StopTrack;
Right
Area De-Selection by contact
[RightDown] WHILE [SHIFT] WHILE TAB Down WHILE [CTRL] => [BoxTracking];
[RightUp] [BoxCursor] WHILE TAB Down WHILE [SHIFT] WHILE [CTRL] => Coords, AreaDeSelectTouching;
Area Selection by contact
[RightDown] WHILE [CTRL] WHILE TAB Down => [BoxTracking];
[RightUp] [BoxCursor] WHILE TAB Down WHILE [CTRL] => Coords, AreaAddSelectTouching;
Area DeSelection contained
[RightDown] WHILE TAB Down WHILE [SHIFT] => [BoxTracking];
[RightUp] WHILE TAB Down [BoxCursor] WHILE [SHIFT]=> Coords, AreaDeSelect;
Area Selection contained
[RightDown] WHILE TAB Down => [BoxTracking];
[RightUp] WHILE TAB Down [BoxCursor] => Coords, AreaAddSelect;
De select
[RightDown] WHILE [SHIFT] => Coords, DeSelectFP;
Regular select
[RightDown] => Coords, AddSelectP;
Space Down WHILE [RightDown] => [ReselectLast];
Zero Down => asdf;
ENDCASE.
Not inluded now
DefaultS, NarrowS, WidenS, LengthenS, ShortenS;