<<-- ///cd18/chipndalecmos.TIP>> <<-- Tip-table for ChipNDale CMos>> <<-- Copyright © 1984 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, November 9, 1984 9:56:55 am PST>> [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,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,ReselectLast,(Coords, DeSelectLP, AddSelectP, Track)] [DEF,SingleSelect,(Coords, OnlySelectP, 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 these Coords might be out of range [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, UseCursor, default)] <<~1 represent's key to catch on up>> [DEF,Catch,(~1 Down => StopTrack, UseCursor, default; [CatchUp, ~1]; [MiddleDown] WHILE ~1 Down => StopTrack, UseCursor, default)] <<~1 represent's key to catch on up, down, middle down>> SELECT TRIGGER FROM <> Mouse => Coords, Track; <> <> Lock Down => TestDifFlipToPWorld; Lock Up => TestDifFlipToNWorld; << >> <> <<--remember: ESC-LF aborts an ongoing paint process>> DEL Down WHILE ESC Down => AbortCommand; ESC Down WHILE DEL Down => AbortCommand; <> [RightDown] WHILE ESC Down WHILE Space Down => Coords, AddSelectLevel; <> [LeftDown] WHILE ESC Down => DeSelectS; [RightDown] WHILE ESC Down => SelectAll; <> [MiddleDown] WHILE ESC Down WHILE TAB Down => AbortCommand; [MiddleDown] WHILE ESC Down WHILE [CTRL] => AbortCommand; [MiddleDown] WHILE ESC Down => StopDrawing; [Catch, ESC]; <> <> [Menu, G, GlobalMenu]; [Menu, V, ViewerMenu]; [Menu, D, DirectoryMenu]; [Menu, I, IOMenu]; [Menu, N, NameMenu]; [Menu, O, IOMenu]; [Menu, P, ProgramMenu]; [Menu, T, TransformS]; [Menu, C, CellMenu]; [Menu, B, DisplayMenu]; [Menu, BackSlash, ConditionsMenu]; <> <> [RightDown] WHILE A Down => [ResetT]; [LeftUp] WHILE A Down WHILE [CTRL] => Coords, StretchStepLeftS; [RightUp] WHILE A Down WHILE [CTRL] => Coords, StretchStepLeftS; [LeftUp] WHILE A Down WHILE [SHIFT] => Coords, StretchyMoveStepLeftS; [RightUp] WHILE A Down WHILE [SHIFT] => Coords, StretchyMoveStepLeftS; [LeftUp] WHILE A Down => Coords, LambdaLeftS; [RightUp] WHILE A Down => Coords, LambdaLeftS; [Catch, A]; <> <> [RightDown] WHILE B Down => [ArrowTracking]; B Down WHILE [LeftDown] => [ArrowTracking]; [LeftDown] WHILE B Down => [FirstSelect], [ArrowTracking]; Space Down WHILE [LeftDown] WHILE B Down => [SingleSelect], [ArrowTracking]; [LeftUp] WHILE B Down [ArrowCursor] => Coords, SplitWireS; [RightUp] WHILE B Down [ArrowCursor] => Coords, SplitWireS; [Catch, B]; <> [RightDown] WHILE C Down => [ResetT]; <> [MiddleDown] WHILE C Down WHILE X Down => CreateCellSAndName; [MiddleDown] WHILE C Down WHILE V Down => PopReplace; <> [LeftUp] WHILE C Down WHILE V Down => TransformToCellS; [RightUp] WHILE C Down WHILE V Down => TransformToCellS; <> [MiddleDown] WHILE C Down => Coords, DrawCell; [LeftUp] WHILE C Down WHILE X Down => ExpandS; [RightUp] WHILE C Down WHILE X Down => ExpandS; <> [LeftUp] WHILE C Down => PushS; [RightUp] WHILE C Down => PopMenu; <<>> [Catch, C]; <<>> <> <> <> [RightDown] WHILE D Down => [ResetT]; [MiddleDown] WHILE D Down WHILE V Down => PopFlush; [MiddleDown] WHILE D Down => Undel; [LeftUp] WHILE D Down => DeleteS; [RightUp] WHILE D Down => DeleteS; [Catch, D]; <> <> [RightDown] WHILE E Down => [ResetT]; Space Down WHILE E Down WHILE [LeftDown] => [SingleSelect]; [LeftUp] WHILE E Down => MirrorYS; [RightUp] WHILE E Down => MirrorYS; [Catch, E]; <> [RightDown] WHILE F Down => [ResetT]; [LeftUp] WHILE F Down => Coords, ShrinkStepS; [RightUp] WHILE F Down => Coords, ShrinkStepS; [Catch, F]; <> [RightDown] WHILE G Down => [ResetT]; [LeftUp] WHILE G Down => Coords, GrowStepS; [RightUp] WHILE G Down => Coords, GrowStepS; [Catch, G]; <> [Catch, H]; <<>> <> [Catch, I]; <> [Catch, J]; <<>> <> [Catch, K]; <<>> <> [Catch, L]; <> [Catch, M]; <<>> <> <> [LeftUp] WHILE N Down => DisplayNames; [RightUp] WHILE N Down => DisplayNames; <<>> [Catch, N]; <<>> <> [Catch, O]; <> [RightDown] WHILE P Down => [ResetT]; <> [MiddleDown] WHILE P Down WHILE [SHIFT] => [RectTracking]; [MiddleUp] WHILE P Down WHILE [SHIFT] => Coords, RectProgramMenu; <> Space Down WHILE P Down WHILE [LeftDown] => [SingleSelect]; [LeftUp] WHILE P Down => ShowPropertiesS; [RightUp] WHILE P Down => ShowPropertiesS; <> [MiddleDown] WHILE P Down => EnterPropertyS; [Catch, P]; <> <> 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; <<>> <> 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; <> [MiddleDown] WHILE Q Down WHILE [LEFTSH] => Coords, DrawPXstr; [MiddleDown] WHILE Q Down => Coords, DrawNXstr; [Catch, Q]; <<>> <<>> <> <> Space Down WHILE R Down WHILE [LeftDown] => [SingleSelect]; [LeftUp] WHILE R Down WHILE TAB Down => RenameS; [RightDown] WHILE R Down => [ResetT]; [RightUp] WHILE R Down WHILE TAB Down => RenameS; [LeftUp] WHILE R Down => RotS; [RightUp] WHILE R Down => RotS; <<>> [Catch, R]; <> <> [RightDown] WHILE S Down => [ResetT]; [LeftUp] WHILE S Down WHILE [CTRL] => Coords, StretchStepRightS; [RightUp] WHILE S Down WHILE [CTRL] => Coords, StretchStepRightS; [LeftUp] WHILE S Down WHILE [SHIFT] => Coords, StretchyMoveStepRightS; [RightUp] WHILE S Down WHILE [SHIFT] => Coords, StretchyMoveStepRightS; [LeftUp] WHILE S Down => Coords, LambdaRightS; [RightUp] WHILE S Down => Coords, LambdaRightS; [Catch, S]; <<>> <> <> [RightDown] WHILE T Down => [ResetT]; Space Down WHILE T Down WHILE [LeftDown] => [SingleSelect]; [LeftUp] WHILE T Down => MirrorS; [RightUp] WHILE T Down => MirrorS; [Catch, T]; <> [Catch, U]; <> <> <> [RightDown] WHILE V Down => [ResetT]; [RightUp] WHILE V Down => PushS; [LeftUp] WHILE V Down => PushS; [MiddleDown] WHILE V Down WHILE X Down => PopNew; [MiddleDown] WHILE V Down => PopMenu; [Catch, V]; <> <> [RightDown] WHILE W Down => [ResetT]; [LeftUp] WHILE W Down WHILE [CTRL] => Coords, StretchStepUpS; [RightUp] WHILE W Down WHILE [CTRL] => Coords, StretchStepUpS; [LeftUp] WHILE W Down WHILE [SHIFT] => Coords, StretchyMoveStepUpS; [RightUp] WHILE W Down WHILE [SHIFT] => Coords, StretchyMoveStepUpS; [LeftUp] WHILE W Down => Coords, LambdaUpS; [RightUp] WHILE W Down => Coords, LambdaUpS; <> [MiddleDown] WHILE W Down WHILE [LEFTSH] => Coords, DrawAnglePXstr; [MiddleDown] WHILE W Down => Coords, DrawAngleNXstr; [Catch, W]; <> <> <> [RightDown] WHILE X Down => [ResetT]; [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]; <> [MiddleDown] WHILE Y Down WHILE [SHIFT] => Coords, SetInterestRect; [MiddleDown] WHILE Y Down => Coords, DrawMark; [Catch, Y]; <<>> <> <> [RightDown] WHILE Z Down => [ResetT]; [LeftUp] WHILE Z Down WHILE [CTRL] => Coords, StretchStepDownS; [RightUp] WHILE Z Down WHILE [CTRL] => Coords, StretchStepDownS; [LeftUp] WHILE Z Down WHILE [SHIFT] => Coords, StretchyMoveStepDownS; [RightUp] WHILE Z Down WHILE [SHIFT] => Coords, StretchyMoveStepDownS; [LeftUp] WHILE Z Down => Coords, LambdaDownS; [RightUp] WHILE Z Down => Coords, LambdaDownS; [Catch, Z]; <> < [Reset]; -- this is used to return version number>> [CatchUp, Zero]; <<>> <> <> [MiddleDown] WHILE One Down WHILE Two Down WHILE Three Down WHILE [LEFTSH] => Coords, DrawPButCon; [MiddleDown] WHILE One Down WHILE Two Down WHILE Three Down => Coords, DrawNButCon; <> [MiddleDown] WHILE One Down WHILE Two Down WHILE [LEFTSH] => [Reset]; [MiddleDown] WHILE One Down WHILE Two Down => Coords, DrawNBurCon; <> One Down WHILE Two Down => [Reset]; One Down WHILE Three Down => [Reset]; One Down WHILE [LEFTSH] => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawPDifCon; One Up => SetLayerPDif; ENDCASE => [Reset]; [MiddleDown] WHILE One Down WHILE [LEFTSH] => Coords, DrawPDifCon; <<>> <> One Down => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawNDifCon; One Up => SetLayerNDif; ENDCASE => [Reset]; [MiddleDown] WHILE One Down => Coords, DrawNDifCon; [CatchUp, One]; <<>> <> <> Two Down WHILE Three Down => [Reset]; Two Down WHILE One Down => [Reset]; Two Down => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawPolCon; Two Up => SetLayerPol; ENDCASE => [Reset]; [MiddleDown] WHILE Two Down => Coords, DrawPolCon; [CatchUp, Two]; <> <> Three Down WHILE One Down => [Reset]; Three Down WHILE Two Down => [Reset]; Three Down WHILE [LEFTSH] => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawPButCon; Three Up => SetLayerMet; ENDCASE => [Reset]; Three Down => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawNButCon; Three Up => SetLayerMet; ENDCASE => [Reset]; [MiddleDown] WHILE Three Down WHILE [LEFTSH] => Coords, DrawPButCon; [MiddleDown] WHILE Three Down => Coords, DrawNButCon; [CatchUp, Three]; <> <> Four Down WHILE [LEFTSH] => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawNWCntCon; Four Up => SetLayerNWCnt; ENDCASE => [Reset]; [MiddleDown] WHILE Four Down WHILE [LEFTSH] => Coords, DrawNWCntCon; Four Down => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawPWCntCon; Four Up => SetLayerPWCnt; ENDCASE => [Reset]; [MiddleDown] WHILE Four Down => Coords, DrawPWCntCon; [CatchUp, Four]; <> <> Five Down => SetLayerNWell; [CatchUp, Five]; <<>> <> <> Six Down => SELECT TRIGGER FROM [MiddleDown] => Coords, DrawMm2Con; Six Up => SetLayerMet2; ENDCASE => [Reset]; [MiddleDown] WHILE Six Down => Coords, DrawMm2Con; Six Down => SetLayerMet2; [CatchUp, Six]; <> [Catch, Seven]; <> [Catch, Eight]; <> <> [LeftDown] WHILE Arrow Down => Coords, Debug; [MiddleDown] WHILE Arrow Down => Coords, Debug; [RightDown] WHILE Arrow Down => Coords, Debug; [Catch, Arrow]; <> <> [LeftDown] WHILE Quote Down => [RectTracking]; [MiddleDown] WHILE Quote Down => [RectTracking]; [RightDown] WHILE Quote Down => [RectTracking]; <> [LeftUp] WHILE Quote Down WHILE [SHIFT] [RectCursor] => Coords, VersatecBWPlot; [MiddleUp] WHILE Quote Down WHILE [SHIFT] [RectCursor] => Coords, VersatecBWPlot; [RightUp] WHILE Quote Down WHILE [SHIFT] [RectCursor] => Coords, VersatecBWPlot; <<>> <> [LeftUp] WHILE Quote Down [RectCursor] => Coords, VersatecColorPlot; [MiddleUp] WHILE Quote Down [RectCursor] => Coords, VersatecColorPlot; [RightUp] WHILE Quote Down [RectCursor] => Coords, VersatecColorPlot; [Catch, Quote]; <<>> <> [RightDown] WHILE LeftBracket Down => [ResetT]; <> [LeftUp] WHILE LeftBracket Down WHILE RightBracket Down => TransformToCellS, ExpandS; [RightUp] WHILE LeftBracket Down WHILE RightBracket Down => TransformToCellS, ExpandS; <<>> <> [LeftUp] WHILE LeftBracket Down => Coords, IncCountS; [RightUp] WHILE LeftBracket Down => Coords, IncCountS; [Catch, LeftBracket]; <> [RightDown] WHILE RightBracket Down => [ResetT]; <> [LeftUp] WHILE RightBracket Down => Coords, DecCountS; [RightUp] WHILE RightBracket Down => Coords, DecCountS; [Catch, RightBracket]; <<>> <> <> [RightDown] WHILE Equal Down => [ResetT]; [MiddleDown] WHILE Equal Down => [ArrowTracking]; [MiddleUp] WHILE Equal Down [ArrowCursor] WHILE [SHIFT] => Coords, ChangeRepetition; [MiddleUp] WHILE Equal Down [ArrowCursor] => Coords, DrawRepetition; [Catch, Equal]; <> <<--the ModuleMenu can not use the default menu method because it wants Coords>> [MiddleDown] WHILE Dash Down => Coords, ModuleMenu; [LeftDown] WHILE Dash Down => Coords, ModuleMenu; [RightDown] WHILE Dash Down => Coords, ModuleMenu; Dash Down WHILE TAB Down => RunTiler; [Catch, Dash]; <> <> [MiddleUp] WHILE BackSlash Down WHILE [SHIFT] => RemoveConditionS; [MiddleUp] WHILE BackSlash Down => DrawConditionS; [Catch, BackSlash]; <> <> [LeftUp] WHILE SemiColon Down WHILE [SHIFT] => RemovePinGraphicModeS; [RightUp] WHILE SemiColon Down WHILE [SHIFT] => RemovePinGraphicModeS; [LeftUp] WHILE SemiColon Down => PinGraphicModeS; [RightUp] WHILE SemiColon Down => PinGraphicModeS; [MiddleDown] WHILE SemiColon Down => [RectTracking]; [MiddleUp] WHILE SemiColon Down [RectCursor] => Coords, DrawPin; [Catch, SemiColon]; <<>> <> <<--remember: LF-ESC aborts an ongoing paint process>> LF Down WHILE [SHIFT] => EnforcePanel; [Catch, LF]; <> <<--remember: ESC-DEL => AbortCommand>> [Catch, DEL]; <<>> <> <> Comma Down => ScaleMoreDetail; [CatchUp, Comma]; <>> <> Period Down => ScaleLessDetail; [CatchUp, Period]; <<>> < )>> <> [RightDown] WHILE Slash Down => [ResetT]; [MiddleDown] WHILE Slash Down => Coords, SpinifexHighlightNodeP; [LeftUp] WHILE Slash Down => DisplayHierarchyS; [RightUp] WHILE Slash Down => DisplayHierarchyS; <> Slash Down WHILE [SHIFT] => ShowErrors; Slash Down WHILE [CTRL] => Statistic; <<>> [Catch, Slash]; <> [Catch, Keyset1]; <<>> <> [Catch, Keyset2]; <<>> <> [Catch, Keyset3]; <<>> <> [Catch, Keyset4]; <<>> <> [Catch, Keyset5]; <<>> <> [Catch, BS]; <<>> <> [Catch, Spare2]; <<>> <> [Catch, Spare3]; <<>> <> <> [LeftDown] WHILE Space Down WHILE TAB Down => DeSelectS; [LeftDown] WHILE Space Down => SELECT TRIGGER FROM [LeftUp] BEFORE 200 => ResetScaleSel; ENDCASE => [RectTracking]; [LeftUp] WHILE Space Down [RectCursor] => Coords, ShowRect; <> [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; <> [RightDown] WHILE Space Down WHILE TAB Down => SelectAll; [RightDown] WHILE Space Down => SELECT TRIGGER FROM [RightUp] BEFORE 200 => DisplayViewers; ENDCASE => [RectTracking]; [RightUp] WHILE Space Down [RectCursor] => Coords, ShowRectX; <<>> <> <> [LeftDown] WHILE [SHIFT] WHILE TAB Down WHILE [CTRL] => [RectTracking]; [LeftUp] [RectCursor] WHILE TAB Down WHILE [SHIFT] WHILE [CTRL] => Coords, AreaDeSelectTouching; <> [LeftDown] WHILE [CTRL] WHILE TAB Down => [RectTracking]; [LeftUp] [RectCursor] WHILE TAB Down WHILE [CTRL] => Coords, DeSelectS, AreaAddSelectTouching; <> [LeftDown] WHILE TAB Down WHILE [SHIFT] => [RectTracking]; [LeftUp] WHILE TAB Down [RectCursor] WHILE [SHIFT]=> Coords, AreaOnlySelect; <> [LeftDown] WHILE TAB Down => [RectTracking]; [LeftUp] WHILE TAB Down [RectCursor] => Coords, AreaOnlySelect; <> <