* ************************************************************ * Bindkey Highlights * ************************************************************ = inc view depth 1 - dec view depth 1 + inc view depth 1 _ dec view depth 1 KP_Mult gregGetCellID() KP_Div leHiSetRefPoint() KP_Del gregGetInstID() KP_Add zoom-in 2.0 KP_Div zoom-out 2.0 v set visible none v set visible all a geAddSelectPoint j create via o display options o editor options e descend read e descend edit e return e edit in place c close window a select all a select par sel objects p path F2 deselect all Tab menu objects 1 grid min 2 grid 0.05 3 grid 0.5 4 grid return 5 grid 1.0 6 grid 2.5 7 grid 5.0 * ************************************************************ 0) the most important thing is in your local .cdsenv ui enableMenuShortcuts boolean nil 1) Then your local .cdsinit is read This in turn reads ~/zeptune/cdsinit_greg.il : > load("/icd/tools/hfl/ggcdir/skill/ggc.il") > load("/nfsdata/users/uia73657/zeptune/specNetlist.il") > load("/nfsdata/users/uia73657/zeptune/gregSkill.il") > load("/nfsdata/users/uia73657/zeptune/gregGrid.il") > load("/nfsdata/users/uia73657/zeptune/gregProp.il") > load("/nfsdata/users/uia73657/zeptune/fastkeys.il") > load("/nfsdata/users/uia73657/zeptune/bk.il") > envLoadFile( "/nfsdata/users/uia73657/zeptune/bk.env" ) See bk.il below * 8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 * bk.il * 8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 ; Note - the normal bindkey command cannot clear the enter function ; you need to use the hiSetBindKeys command which takes a list ; hiSetBindKeys( "Layout" list( list( "1" "" "" ) )) ; hiSetBindKeys( "Layout" list( list( "1" "" "drdEnablePixelThreshold(!drdIsPixelThresholdEnabled())" ) )) procedure( gregGetInstID() prog( (cv pv) itemList = geGetSelectedSet() cnt = 0 foreach( item itemList jtem = item if( item~>objType == "rect" then lstr = nth(0, item~>lpp) lpur = nth(1, item~>lpp) bBox = item~>bBox xa = nth(0 nth(0 bBox)) ya = nth(1 nth(0 bBox)) xb = nth(0 nth(1 bBox)) yb = nth(1 nth(1 bBox)) xc = (xa + xb) / 2.0 yc = (ya + yb) / 2.0 wid = xb - xa; hei = yb - ya; printf("RECT (%10s -%10s) : [(%0.3f, %0.3f) (%0.3f, %0.3f)] (%0.3f, %0.3f) wid=%0.3f hei=%0.3f\n" lstr lpur xa ya xb yb xc yc wid hei) else if( (item~>objType == "inst") then instName = item~>name mastLibName = item~>master~>libName mastCellName = item~>master~>cellName iori = item~>orient xloc = nth(0, item~>xy) yloc = nth(1, item~>xy) printf("INST (%-10s) : [%s : %s] (%0.3f, %0.3f) %s\n" instName mastLibName mastCellName xloc yloc iori) else if( (item~>objType == "mosaic") then instName = item~>name mastLibName = item~>master~>libName mastCellName = item~>master~>cellName iori = nth(0, item~>tileArray) xloc = nth(0, item~>xy) yloc = nth(1, item~>xy) delx = item~>uX dely = item~>uY rows = item~>rows cols = item~>columns printf("ARRAY (%-10s) : [%s : %s] (%0.3f, %0.3f) [%d %d %s]\n" instName mastLibName mastCellName xloc yloc rows cols iori) else if( (item~>objType == "label") then lstr = nth(0, item~>lpp) lpur = nth(1, item~>lpp) xloc = nth(0, item~>xy) yloc = nth(1, item~>xy) lorient = item~>orient ljust = item~>justify ltype = item~>labelType ltext = item~>theLabel lheight = item~>height printf("TEXT (%-10s) : (%12.3f, %12.3f) [%s : %s] (%s %0.3f %s)\n" ltext xloc yloc lstr lpur lorient lheight ltype) else printf("UNKNOWN ITEM nth(%d, itemList)\n" cnt) printf("THANKS\n") ) ) ) ) cnt = cnt + 1 ) ) ) procedure( gregGetCellID() prog( (cv pv) cv = hiGetCurrentWindow()->cellView pv = hiGetCommandPoint() gcLibName = cv~>libName gcCellName = cv~>cellName printf("gcCV = %s / %s gcPV = (%0.3f : %0.3f)\n" gcLibName gcCellName nth(0 pv) nth(1 pv)) gcCV = cv gcPV = pv ) ) procedure( gregMark( X Y @optional ( del -1 ) ( W -1 ) "nnnn" ) prog( (cw cv pv x1 y2 x2 y2) cw = hiGetCurrentWindow() cv = cw->cellView pv = hiGetCommandPoint() gcLibName = cv~>libName gcCellName = cv~>cellName if( (del <= 0.0) then del = 1.0 ) x1 = X - del/2.0 x2 = X + del/2.0 y1 = Y - del/2.0 y2 = Y + del/2.0 ; printf("gcCV = %s / %s gcPV = (%0.3f : %0.3f)\n" gcLibName gcCellName nth(0 pv) nth(1 pv)) gcCV = cv gcPV = pv leCreateMeasurement( cv list( x1:Y x2:Y) ) leCreateMeasurement( cv list( X:y1 X:y2) ) if( (W > 0.0 ) then x1 = X - W/2 x2 = X + W/2 y1 = Y - W/2 y2 = Y + W/2 leZoomToPoint( cw X:Y ) ) ) ) hiSetBindKeys( "Layout" list( list( "1" "" "" ) list( "2" "" "" ) list( "3" "" "" ) list( "4" "" "" ) list( "5" "" "" ) list( "6" "" "" ) list( "7" "" "" ) list( "KP_Multiply" "" "" ) list( "KP_Divide" "" "" ) )) hiSetBindKey("Layout" "=" "leIncrementStopLevelByOne(hiGetCurrentWindow())") hiSetBindKey("Layout" "-" "leDecrementStopLevelByOne(hiGetCurrentWindow())") hiSetBindKey("Layout" "Shift=" "leIncrementStopLevelByOne(hiGetCurrentWindow())") hiSetBindKey("Layout" "Shift-" "leDecrementStopLevelByOne(hiGetCurrentWindow())") hiSetBindKey("Layout" "KP_Multiply" "gregGetCellID()") hiSetBindKey("Layout" "KP_Divide" "leHiSetRefPoint()") hiSetBindKey("Layout" "KP_Delete" "gregGetInstID()") hiSetBindKey("Layout" "KP_Add" "hiZoomRelativeScale(hiGetCurrentWindow() 2.0)") hiSetBindKey("Layout" "KP_Subtract" "hiZoomRelativeScale(hiGetCurrentWindow() 0.5)") hiSetBindKey("Layout" "V" "pteSetNoneVisible(?panel \"Layers\")") hiSetBindKey("Layout" "ShiftV" "pteSetAllVisible(?panel \"Layers\")") hiSetBindKey("Layout" "A" "geAddSelectPoint()") hiSetBindKey("Layout" "J" "leHiCreateVia()") hiSetBindKey("Layout" "O" "leHiEditDisplayOptions()") hiSetBindKey("Layout" "ShiftO" "leHiEditEditorOptions()") hiSetBindKey("Layout" "E" "leHiDescend(hiGetCurrentWindow() \"read\")") hiSetBindKey("Layout" "ShiftE" "leHiDescend(hiGetCurrentWindow() \"edit\")") hiSetBindKey("Layout" "CtrlE" "leReturn()") hiSetBindKey("Layout" "AltE" "leHiEditInPlace()") hiSetBindKey("Layout" "AltC" "leCloseWindow()") hiSetBindKey("Layout" "AltA" "geSelectAllFig()") hiSetBindKey("Layout" "CtrlA" "geSelObjectsPartiallySelected()") hiSetBindKey("Layout" "P" "leHiCreatePath()") hiSetBindKey("Layout" "F2" "geDeselectAllFig()") hiSetBindKey("Layout" "Tab" "geMenuForObjectsUnderPoint(hiGetCurrentWindow() hiGetCommandPoint())") hiSetBindKey("Layout" "1" "ggm()") hiSetBindKey("Layout" "2" "gg(0.05)") hiSetBindKey("Layout" "3" "gg(0.5)") hiSetBindKey("Layout" "4" "ggr()") hiSetBindKey("Layout" "5" "gg(1.0)") hiSetBindKey("Layout" "6" "gg(2.5)") hiSetBindKey("Layout" "7" "gg(5.0)") ; envSetVal( "layout" "dynamicHilightOn" 'boolean nil) ; envSetVal( "layout" "drawGridOn" 'boolean nil) print("Hello Greg World from bk.il\n")