(no commit message)
[geda-pcb/pcjc2.git] / src / pcb-menu.res.in
blobe37bd7c0613439f9c81193c02707991e85433404
1 # -*- c -*-
2 # Note - pcb-menu.res is used to build pcb-menu.h
3 # Note - parameters are sensitive to extra spaces around the commas
5 Mouse =
7   Left = {
8     Mode(Notify)
9     up = Mode(Release)
10   }
11   Right = {
12     { Mode(Save) Mode(Rotate) Mode(Notify) Mode(Release) Mode(Restore) }
13     ctrl = Display(CycleCrosshair)
14   }
15   Middle = {
16     Pan(1)
17     up = Pan(0)
18     ctrl = Pan(thumb,1)
19     ctrl-up = Pan(thumb,0)
20   }
21   Up = Zoom(0.8)
22   Down = Zoom(1.25)
23 # If you want zoom to center, do this instead.
24   #Up = { {Zoom(0.8) Center()} }
25   #Down = { {Zoom(1.25) Center()} }
28 MainMenu =
30   {File
31    {"About..." About()}
32    {"Save layout" Save(Layout) m=S a={"Ctrl-S" "Ctrl<Key>s"}}
33    {"Save layout as..." Save(LayoutAs) m=A a={"Shift Ctrl-S" "Shift Ctrl<Key>s"}}
34    {"Revert" Load(Revert,none)}
35    {"Import Schematics" Import() }
36    {"Load layout" Load(Layout)}
37    {"Load element data to paste-buffer" PasteBuffer(Clear) Load(ElementTobuffer)}
38    {"Load layout data to paste-buffer" PasteBuffer(Clear) Load(LayoutTobuffer)}
39    {"Load netlist file" Load(Netlist)}
40    {"Load vendor resource file" LoadVendor()}
41    {"Print layout..." Print()}
42    {"Export layout..." Export()}
43    {"Calibrate Printer..." PrintCalibrate()}
44    -
45    {"Save connection data of..." foreground=grey50 sensitive=false}
46    {" a single element" GetXY(Click to set the element mark <>) Save(ElementConnections)}
47    {" all elements" Save(AllConnections)}
48    {" unused pins" Save(AllUnusedPins)}
49    -
50    {"Start new layout" New() a={"Ctrl-N" "Ctrl<Key>n"}}
51    -
52    {"Quit Program" Quit() m=Q a={"Ctrl-Q" "Ctrl<Key>q"}}
53   }
54   {View
55    {"Flip up/down" checked=flip_y SwapSides(V) a={"Tab" "<Key>Tab"}}
56    {"Flip left/right" checked=flip_x SwapSides(H) a={"Shift-Tab" "Shift<Key>Tab"}}
57    {"Spin 180°" SwapSides(R) a={"Ctrl-Tab" "Ctrl<Key>Tab"}}
58    {"Swap Sides" SwapSides() a={"Ctrl-Shift-Tab" "Ctrl Shift<Key>Tab"}}
59    {"Center cursor" Center() a={"C" "<Key>c"}}
60    {"Show soldermask" checked=showmask Display(ToggleMask)}
61    -
62    {"Displayed element-name..." foreground=grey50 sensitive=false}
63    {"Description" Display(Description) checked=elementname,1}
64    {"Reference Designator" Display(NameOnPCB) checked=elementname,2}
65    {"Value" Display(Value) checked=elementname,3}
66    {"Lock Names" checked=locknames Display(ToggleLockNames)}
67    {"Only Names" checked=onlynames Display(ToggleOnlyNames)}
68    {"Hide Names" checked=hidenames Display(ToggleHideNames)}
69    -
70    {"Pinout shows number" checked=shownumber Display(ToggleName)}
71    {"Open pinout menu" Display(Pinout) a={"Shift-D" "Shift<Key>d"}}
72    -
73    {Zoom
74     {"Zoom In 2X" Zoom(-2)}
75     {"Zoom In 20%" Zoom(-1.2) m=Z a={"Z" "<Key>z"}}
76     {"Zoom Out 20%" Zoom(+1.2) m=O a={"Shift-Z" "Shift<Key>z"}}
77 # If you want zoom to center, do this instead.
78     #{"Zoom In 20%" Zoom(-1.2) Center() m=Z a={"Z" "<Key>z"}}
79     #{"Zoom Out 20%" Zoom(+1.2) Center() m=O a={"Shift-Z" "Shift<Key>z"}}
80     {"Zoom Out 2X" Zoom(+2)}
81     {"Zoom Max" Zoom() m=M a={"V" "<Key>v"}}
82     {"Zoom Toggle" Zoom(Toggle) a={"`" "<Key>`"}}
83     -
84     {"Zoom to 0.1mil/px" Zoom(=0.1mil)}
85     {"Zoom to 0.01mm/px" Zoom(=0.01mil)}
86     {"Zoom to 1mil/px" Zoom(=1mil)}
87     {"Zoom to 0.05mm/px" Zoom(=0.05mm)}
88     {"Zoom to 2.5mil/px" Zoom(=2.5mil)}
89     {"Zoom to 0.1mm/px" Zoom(=0.1mm)}
90     {"Zoom to 10mil/px" Zoom(=10mil)}
91    }
92    {Grid
93     {"mil" checked=grid_units_mil,1 SetUnits(mil)}
94     {"mm"  checked=grid_units_mm,1 SetUnits(mm)}
95     {"Display grid" checked=drawgrid Display(Grid)}
96     {"Realign grid" GetXY(Click to set the grid origin) Display(ToggleGrid)}
97     {"No Grid" checked=grid,0 SetValue(Grid,1)}
98     -
99     {  "0.1 mil" checked=gridsize,0.1mil SetUnits(mil) SetValue(Grid,0.1mil)}
100     {  "1 mil"   checked=gridsize,1mil SetUnits(mil) SetValue(Grid,1mil)}
101     {  "5 mil"   checked=gridsize,5mil SetUnits(mil) SetValue(Grid,5mil)}
102     { "10 mil"   checked=gridsize,10mil SetUnits(mil) SetValue(Grid,10mil)}
103     { "25 mil"   checked=gridsize,25mil SetUnits(mil) SetValue(Grid,25mil)}
104     { "50 mil"   checked=gridsize,50mil SetUnits(mil) SetValue(Grid,50mil)}
105     {"100 mil"   checked=gridsize,100mil SetUnits(mil) SetValue(Grid,100mil)}
106     -
107     {"0.01 mm" checked=gridsize,0.01mm SetUnits(mm) SetValue(Grid,0.01mm)}
108     {"0.05 mm" checked=gridsize,0.05mm SetUnits(mm) SetValue(Grid,0.05mm)}
109     {"0.1 mm"  checked=gridsize,0.10mm SetUnits(mm) SetValue(Grid,0.1mm)}
110     {"0.25 mm" checked=gridsize,0.25mm SetUnits(mm) SetValue(Grid,0.25mm)}
111     {"0.5 mm"  checked=gridsize,0.50mm SetUnits(mm) SetValue(Grid,0.5mm)}
112     {"1 mm"    checked=gridsize,1mm SetUnits(mm) SetValue(Grid,1mm)}
113     -
114     {"Grid -" SetValue(Grid,-) a={"Shift-G" "Shift<Key>g"}}
115     {"Grid +" SetValue(Grid,+) a={"G" "<Key>g"}}
116    }
117    -
118    {"Shown Layers"
119     @layerview
120     -
121     {"Edit Layer Groups" EditLayerGroups()}
122    }
123    {"Current Layer"
124     @layerpick
125     -
126     {"Delete current layer" MoveLayer(c,-1)}
127     {"Add new layer" MoveLayer(-1,c)}
128     {"Move current layer up" MoveLayer(c,up)}
129     {"Move current layer down" MoveLayer(c,down)}
130    }
131   }
132   {Edit
133    {"Undo last operation" Undo() a={"U" "<Key>u"}}
134    {"Redo last undone operation" Redo() a={"Shift-R" "Shift<Key>r"}}
135    {"Clear undo-buffer" Undo(ClearList) a={"Shift-Ctrl-U" "Shift Ctrl<Key>u"}}
136    -
137    {"Cut selection to buffer" GetXY(Click to set the snap point for this buffer)
138     PasteBuffer(Clear) PasteBuffer(AddSelected) RemoveSelected() Mode(PasteBuffer)
139     a={"Ctrl-X" "Ctrl<Key>x"}}
140    {"Copy selection to buffer" GetXY(Click to set the snap point for this buffer)
141     PasteBuffer(Clear) PasteBuffer(AddSelected) Mode(PasteBuffer)
142     a={"Ctrl-C" "Ctrl<Key>c"}}
143    {"Paste buffer to layout" Mode(PasteBuffer) a={"Ctrl-V" "Ctrl<Key>v"}}
144    -
145    {"Unselect all" Unselect(All) a={"Shift-Alt-A" "Shift Alt<Key>a"}}
146    {"Select all visible" Select(All) a={"Alt-A" "Alt<Key>a"}}
147    -
148    {"Edit Names..." foreground=grey50 sensitive=false}
149    {" Change text on layout" ChangeName(Object) a={"N" "<Key>n"}}
150    {" Edit name of layout" ChangeName(Layout)}
151    {" Edit name of active layer" ChangeName(Layer)}
152    {"Edit Attributes..." foreground=grey50 sensitive=false}
153    {" Layout" Attributes(Layout)}
154    {" CurrentLayer" Attributes(Layer)}
155    {" Element" Attributes(Element)}
156    -
157    {"Board Sizes" AdjustSizes()}
158    {"Route Styles"
159     @routestyles
160     -
161     {"Edit..." AdjustStyle(0)}
162    }
163   }
164   {Tools
165    {"None" checked=nomode,1 Mode(None)}
166    {"Via" checked=viamode,1 Mode(Via) a={"F1" "<Key>F1"}}
167    {"Line" checked=linemode,1 Mode(Line) a={"F2" "<Key>F2"}}
168    {"Arc" checked=arcmode,1 Mode(Arc) a={"F3" "<Key>F3"}}
169    {"Text" checked=textmode,1 Mode(Text) a={"F4" "<Key>F4"}}
170    {"Rectangle" checked=rectanglemode,1 Mode(Rectangle) a={"F5" "<Key>F5"}}
171    {"Polygon" checked=polygonmode,1 Mode(Polygon) a={"F6" "<Key>F6"}}
172    {"Polygon Hole" checked=polygonholemode,1 Mode(PolygonHole)}
173    {"Buffer" checked=pastebuffermode,1 Mode(PasteBuffer) a={"F7" "<Key>F7"}}
174    {"Remove" checked=removemode,1 Mode(Remove) a={"F8" "<Key>F8"}}
175    {"Rotate" checked=rotatemode,1 Mode(Rotate) a={"F9" "<Key>F9"}}
176    {"Thermal" checked=thermalmode,1 Mode(Thermal) a={"F10" "<Key>F10"}}
177    {"Arrow" checked=arrowmode,1 Mode(Arrow)  a={"F11" "<Key>F11"}}
178    {"Insert Point" checked=insertpointmode,1 Mode(InsertPoint) a={"Insert" "<Key>Insert"}}
179    {"Move" checked=movemode,1 Mode(Move)}
180    {"Copy" checked=copymode,1 Mode(Copy)}
181    {"Lock" checked=lockmode,1 Mode(Lock) a={"F12" "<Key>F12"}}
182    {"Cancel" Mode(Cancel) a={"Esc" "<Key>Escape"}}
183    -
184    {"Command" Command() a={":" "<Key>:"}}
185   }
186   {Settings
187    {"Layer groups" foreground=grey50 sensitive=false}
188    {"Edit layer groupings" EditLayerGroups()}
189    -
190    {"'All-direction' lines" checked=alldirection Display(Toggle45Degree) a={"." "<Key>."}}
191    {"Auto swap line start angle" checked=swapstartdir Display(ToggleStartDirection)}
192    {"Orthogonal moves" checked=orthomove Display(ToggleOrthoMove)}
193    {"Crosshair snaps to pins and pads" checked=snappin Display(ToggleSnapPin)}
194    {"Crosshair shows DRC clearance" checked=showdrc Display(ToggleShowDRC)}
195    {"Auto enforce DRC clearance" checked=autodrc Display(ToggleAutoDRC)}
196    -
197    {"Rubber band mode" checked=rubberband Display(ToggleRubberBandMode)}
198    {"Require unique element names" checked=uniquename Display(ToggleUniqueNames)}
199    {"Auto-zero delta measurements" checked=localref Display(ToggleLocalRef)}
200    {"New lines, arcs clear polygons" checked=clearnew Display(ToggleClearLine)}
201    {"New polygons are full ones" checked=newfullpoly Display(ToggleFullPoly)}
202    {"Show autorouter trials" checked=liveroute Display(ToggleLiveRoute)}
203    {"Thin draw" checked=thindraw Display(ToggleThindraw) a={"|" "<Key>|"}}
204    {"Thin draw poly" checked=thindrawpoly Display(ToggleThindrawPoly) a={"Ctrl-Shift-P" "Ctrl Shift<Key>p"}}
205    {"Check polygons" checked=checkplanes Display(ToggleCheckPlanes)}
206    -
207    {"Pinout shows number" checked=shownumber Display(ToggleName)}
208    {"Pins/Via show Name/Number" Display(PinOrPadName) a={"D" "<Key>d"}}
209    {"Enable vendor drill mapping" ToggleVendor() checked=VendorMapOn}
210    {"Import Settings"
211     {"New elements added at..." foreground=grey50 sensitive=false}
212     {" Center" Import(setnewpoint,center)}
213     {" Mark" Import(setnewpoint,mark)}
214     {" Crosshair" Import(setnewpoint)}
215     -
216     {"Set Dispersion" Import(setdisperse)}
217    }
218   }
220   {Select
221    {"Select all visible objects" Select(All)}
222    {"Select all found objects" Select(Found)}
223    {"Select all connected objects" Select(Connection)}
224    -
225    {"Unselect all objects" Unselect(All)}
226    {"unselect all found objects" Unselect(Found)}
227    {"unselect all connected objects" Unselect(Connection)}
228    -
229    {"Select by name" foreground=grey50 sensitive=false}
230    {"All objects" Select(ObjectByName) active=have_regex}
231    {"Elements" Select(ElementByName) active=have_regex}
232    {"Pads" Select(PadByName) active=have_regex}
233    {"Pins" Select(PinByName) active=have_regex}
234    {"Text Objects" Select(TextByName) active=have_regex}
235    {"Vias" Select(ViaByName) active=have_regex}
236    -
237    {"Auto-place selected elements" AutoPlaceSelected() a={"Ctrl-P" "Ctrl<Key>p"}}
238    {"Disperse all elements" DisperseElements(All)}
239    {"Move selected elements to other side" Flip(SelectedElements) a={"Shift-B" "Shift<Key>b"}}
240    {"Move selected to current layer" MoveToCurrentLayer(Selected) a={"Shift-M" "Shift<Key>m"}}
241    {"Delete selected objects" Delete(Selected) a={"Delete" "<Key>Delete"}}
242    {"Convert selection to element" Select(Convert)}
243    -
244    {"Optimize selected rats" DeleteRats(SelectedRats) AddRats(SelectedRats)}
245    {"Auto-route selected rats" AutoRoute(SelectedRats) a={"Alt-R" "Alt<Key>r"}}
246    {"Rip up selected auto-routed tracks" RipUp(Selected)}
247    -
248    {"Change size of selected objects" foreground=grey50 sensitive=false}
249    {"Lines -10 mil" ChangeSize(SelectedLines,-10,mil) ChangeSize(SelectedArcs,-10,mil)}
250    {"Lines +10 mil" ChangeSize(SelectedLines,+10,mil) ChangeSize(SelectedArcs,+10,mil)}
251    {"Pads -10 mil" ChangeSize(SelectedPads,-10,mil)}
252    {"Pads +10 mil" ChangeSize(SelectedPads,+10,mil)}
253    {"Pins -10 mil" ChangeSize(SelectedPins,-10,mil)}
254    {"Pins +10 mil" ChangeSize(SelectedPins,+10,mil)}
255    {"Texts -10 mil" ChangeSize(SelectedTexts,-10,mil)}
256    {"Texts +10 mil" ChangeSize(SelectedTexts,+10,mil)}
257    {"Vias -10 mil" ChangeSize(SelectedVias,-10,mil)}
258    {"Vias +10 mil" ChangeSize(SelectedVias,+10,mil)}
259    -
260    {"Change drilling hole of selected objects" foreground=grey50 sensitive=false}
261    {"Vias -10 mil" ChangeDrillSize(SelectedVias,-10,mil)}
262    {"Vias +10 mil" ChangeDrillSize(SelectedVias,+10,mil)}
263    {"Pins -10 mil" ChangeDrillSize(SelectedPins,-10,mil)}
264    {"Pins +10 mil" ChangeDrillSize(SelectedPins,+10,mil)}
265    -
266    {"Change square-flag of selected objects" foreground=grey50 sensitive=false}
267    {"Elements" ChangeSquare(SelectedElements)}
268    {"Pins" ChangeSquare(SelectedPins)}
269   }
271   {Buffer
272    {"Copy selection to buffer" GetXY(Click to set the snap point for this buffer)
273     PasteBuffer(Clear) PasteBuffer(AddSelected) Mode(PasteBuffer)}
274    {"Cut selection to buffer" GetXY(Click to set the snap point for this buffer)
275     PasteBuffer(Clear) PasteBuffer(AddSelected) RemoveSelected() Mode(PasteBuffer)}
276    {"Paste buffer to layout" Mode(PasteBuffer)}
277    -
278    {"Rotate buffer 90 deg CCW" Mode(PasteBuffer) PasteBuffer(Rotate,1)
279     a={"Shift-F7" "Shift<Key>F7"}}
280    {"Rotate buffer 90 deg CW" Mode(PasteBuffer) PasteBuffer(Rotate,3)}
281    {"Arbitrarily Rotate Buffer" Mode(PasteBuffer) FreeRotateBuffer()}
282    {"Mirror buffer (up/down)" Mode(PasteBuffer) PasteBuffer(Mirror)}
283    {"Mirror buffer (left/right)" Mode(PasteBuffer) PasteBuffer(Rotate,1)
284     PasteBuffer(Mirror) PasteBuffer(Rotate,3)}
285    -
286    {"Clear buffer" PasteBuffer(Clear)}
287    {"Convert buffer to element" PasteBuffer(Convert)}
288    {"Break buffer elements to pieces" PasteBuffer(Restore)}
289    {"Save buffer elements to file" Save(PasteBuffer)}
290    -
291    {"Select current buffer" foreground=grey50 sensitive=false}
292    {"#1" checked=buffer,1 PasteBuffer(1) a={"Shift-1" "Shift<Key>1"}}
293    {"#2" checked=buffer,2 PasteBuffer(2) a={"Shift-2" "Shift<Key>2"}}
294    {"#3" checked=buffer,3 PasteBuffer(3) a={"Shift-3" "Shift<Key>3"}}
295    {"#4" checked=buffer,4 PasteBuffer(4) a={"Shift-4" "Shift<Key>4"}}
296    {"#5" checked=buffer,5 PasteBuffer(5) a={"Shift-5" "Shift<Key>5"}}
297   }
299   {Connects
300    {"Lookup connection to object" GetXY(Click on the object) Connection(Find) a={"Ctrl-F" "Ctrl<Key>f"}}
301    {"Reset scanned pads/pins/vias" Connection(ResetPinsViasAndPads) Display(Redraw)}
302    {"Reset scanned lines/polygons" Connection(ResetLinesAndPolygons) Display(Redraw)}
303    {"Reset all connections" Connection(Reset) Display(Redraw) a={"Shift-F" "Shift<Key>f"}}
304    -
305    {"Optimize rats-nest" Atomic(Save) DeleteRats(AllRats)
306     Atomic(Restore) AddRats(AllRats) Atomic(Block) a={"O" "<Key>o"}}
307    {"Erase rats-nest" DeleteRats(AllRats) a={"E" "<Key>e"}}
308    {"Erase selected rats" DeleteRats(SelectedRats) a={"Shift-E" "Shift<Key>e"}}
309    -
310    {"Auto-route selected rats" AutoRoute(Selected)}
311    {"Auto-route all rats" AutoRoute(AllRats)}
312    {"Rip up all auto-routed tracks" RipUp(All)}
313    -
314    {"Auto-Optimize" djopt(auto)  a={"Shift-=" "Shift<Key>="}}
315    {"Debumpify" djopt(debumpify) }
316    {"Unjaggy" djopt(unjaggy) }
317    {"Vianudge" djopt(vianudge) }
318    {"Viatrim" djopt(viatrim) }
319    {"Orthopull" djopt(orthopull) }
320    {"SimpleOpts" djopt(simple)  a={"=" "<Key>="}}
321    {"Miter" djopt(miter) }
322    {"Puller" a={"Y" "<Key>y"} Puller() }
323    {"Global Puller"
324     {"Selected" GlobalPuller(selected) }
325     {"Found" GlobalPuller(found) }
326     {"All" GlobalPuller() }
327    }
328    {"Only autorouted nets" OptAutoOnly() checked=optautoonly}
329    -
330    {"Design Rule Checker" DRC()}
331    -
332    {"Apply vendor drill mapping" ApplyVendor()}
333   }
335   {Info
336    {"Generate object report" ReportObject() a={"Ctrl-R" "Ctrl<Key>r"}}
337    {"Generate drill summary" Report(DrillReport)}
338    {"Report found pins/pads" Report(FoundPins)}
339    {"Report net length" Report(NetLength) a={"R" "<Key>r"}}
340    {"Key Bindings"
341     {"Remove" a={"Backspace" "<Key>BackSpace"}
342      Delete(Selected)
343     }
344     {"Remove Connected" a={"Shift-Backspace" "Shift<Key>BackSpace"}
345      Atomic(Save)
346      Connection(Reset)
347      Atomic(Restore)
348      Unselect(All)
349      Atomic(Restore)
350      Connection(Find)
351      Atomic(Restore)
352      Select(Connection)
353      Atomic(Restore)
354      RemoveSelected()
355      Atomic(Restore)
356      Connection(Reset)
357      Atomic(Restore)
358      Unselect(All)
359      Atomic(Block)
360     }
361     {"Remove Connected" a={"Shift-Delete" "Shift<Key>Delete"}
362      Atomic(Save)
363      Connection(Reset)
364      Atomic(Restore)
365      Unselect(All)
366      Atomic(Restore)
367      Connection(Find)
368      Atomic(Restore)
369      Select(Connection)
370      Atomic(Restore)
371      RemoveSelected()
372      Atomic(Restore)
373      Connection(Reset)
374      Atomic(Restore)
375      Unselect(All)
376      Atomic(Block)
377     }
378     {"Set Same" a={"A" "<Key>a"} SetSame()}
379     {"Flip Object" a={"B" "<Key>b"} Flip(Object)}
380     {"Find Connections" a={"F" "<Key>f"} Connection(Reset) Connection(Find)}
381     {"ToggleHideName Object" a={"H" "<Key>h"} ToggleHideName(Object)}
382     {"ToggleHideName SelectedElement" a={"Shift-H" "Shift<Key>h"} ToggleHideName(SelectedElements)}
383     {"ChangeHole Object" a={"Ctrl-H" "Ctrl<Key>h"} ChangeHole(Object)}
384     {"ChangeJoin Object" a={"J" "<Key>j"} ChangeJoin(Object)}
385     {"ChangeJoin SelectedObject" a={"Shift-J" "Shift<Key>j"} ChangeJoin(SelectedObjects)}
386     {"Clear Object +" a={"K" "<Key>k"} ChangeClearSize(Object,+)}
387     {"Clear Object -" a={"Shift-K" "Shift<Key>k"} ChangeClearSize(Object,-)}
388     {"Clear Selected +" a={"Ctrl-K" "Ctrl<Key>k"} ChangeClearSize(SelectedObjects,+)}
389     {"Clear Selected -" a={"Shift-Ctrl-K" "Shift Ctrl<Key>k"} ChangeClearSize(SelectedObjects,-)}
390     {"Line Tool size +" a={"L" "<Key>l"} SetValue(LineSize,+)}
391     {"Line Tool size -" a={"Shift-L" "Shift<Key>l"} SetValue(LineSize,-)}
392     {"Move Object to current layer" a={"M" "<Key>m"} MoveToCurrentLayer(Object)}
393     {"MarkCrosshair" a={"Ctrl-M" "Ctrl<Key>m"} MarkCrosshair()}
394     {"Select shortest rat" a={"Shift-N" "Shift<Key>n"} AddRats(Close)}
395     {"AddRats to selected pins" a={"Shift-O" "Shift<Key>o"}
396      Atomic(Save)
397      DeleteRats(AllRats)
398      Atomic(Restore)
399      AddRats(SelectedRats)
400      Atomic(Block) }
401     {"ChangeOctagon Object" a={"Ctrl-O" "Ctrl<Key>o"} ChangeOctagon(Object)}
402     {"Polygon PreviousPoint" a={"P" "<Key>p"} Polygon(PreviousPoint)}
403     {"Polygon Close" a={"Shift-P" "Shift<Key>p"} Polygon(Close)}
404     {"ChangeSquare Object" a={"Q" "<Key>q"} ChangeSquare(Object)}
405     {"ChangeSize +" a={"S" "<Key>s"} ChangeSize(Object,+)}
406     {"ChangeSize -" a={"Shift-S" "Shift<Key>s"} ChangeSize(Object,-)}
407     {"ChangeDrill +5 mil" a={"Alt-S" "Alt<Key>s"} ChangeDrillSize(Object,+5,mil)}
408     {"ChangeDrill -5 mil" a={"Alt-Shift-S" "Alt Shift<Key>s"} ChangeDrillSize(Object,-5,mil)}
409     {"Text Tool scale +10 mil" a={"T" "<Key>t"} SetValue(TextScale,+10,mil)}
410     {"Text Tool scale -10 mil" a={"Shift-T" "Shift<Key>t"} SetValue(TextScale,-10,mil)}
411     {"Via Tool size +5 mil" a={"Shift-V" "Shift<Key>v"} SetValue(ViaSize,+5,mil)}
412     {"Via Tool size -5 mil" a={"Shift-Ctrl-V" "Shift Ctrl<Key>v"} SetValue(ViaSize,-5,mil)}
413     {"Via Tool drill +5 mil" a={"Alt-V" "Alt<Key>v"} SetValue(ViaDrillingHole,+5,mil)}
414     {"Via Tool drill -5 mil" a={"Alt-Shift-V" "Alt Shift<Key>v"} SetValue(ViaDrillingHole,-5,mil)}
415     {"AddRats Selected" a={"Shift-W" "Shift<Key>w"} AddRats(SelectedRats)}
416     {"Add All Rats" a={"W" "<Key>w"} AddRats(AllRats)}
417     {"Undo" a={"Alt-Z" "Alt<Key>z"} Undo()}
418     {"Cycle Clip" a={"/" "<Key>/"} Display(CycleClip)}
419     {"Arrow" a={"Space" "<Key>space"} Mode(Arrow) checked=arrowmode,1}
420     {"Temp Arrow ON" a={"[" "<Key>["} Mode(Save) Mode(Arrow) Mode(Notify)}
421     {"Temp Arrow OFF" a={"]" "<Key>]"} Mode(Release) Mode(Restore)}
423     {"Step Up" a={"Up" "<Key>Up"} Cursor(Warp,0,1,grid)}
424     {"Step Down" a={"Down" "<Key>Down"} Cursor(Warp,0,-1,grid)}
425     {"Step Left" a={"Left" "<Key>Left"} Cursor(Warp,-1,0,grid)}
426     {"Step Right" a={"Right" "<Key>Right"} Cursor(Warp,1,0,grid)}
427     {"Step +Up" a={"Up" "Shift<Key>Up"} Cursor(Pan,0,50,view)}
428     {"Step +Down" a={"Down" "Shift<Key>Down"} Cursor(Pan,0,-50,view)}
429     {"Step +Left" a={"Left" "Shift<Key>Left"} Cursor(Pan,-50,0,view)}
430     {"Step +Right" a={"Right" "Shift<Key>Right"} Cursor(Pan,50,0,view)}
431     {'"Click"' a={"Enter" "<Key>Enter"} Mode(Notify) Mode(Release) }
432    }
433   }
434   {Window
435    {"Board Layout" DoWindows(Layout)}
436    {"Library" DoWindows(Library)}
437    {"Message Log" DoWindows(Log)}
438    {"Netlist" DoWindows(Netlist)}
439    {"Pinout" Display(Pinout) a={"Shift-D" "Shift<Key>d"}}
440   }