Fix Bug #2717258, Lock mode with F12.
[geda-pcb/gde.git] / src / pcb-menu.res
blob38e86e46d0d1d7b5f7c197596d83d075fd73815d
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)}
33    {"Save layout as..." Save(LayoutAs)}
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()}
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(=10)}
85     {"Zoom to 0.01mm/px" Zoom(=39.37)}
86     {"Zoom to 1mil/px" Zoom(=100)}
87     {"Zoom to 0.05mm/px" Zoom(=196.8504)}
88     {"Zoom to 2.5mil/px" Zoom(=250)}
89     {"Zoom to 0.1mm/px" Zoom(=393.7)}
90     {"Zoom to 10mil/px" Zoom(=1000)}
91    }
92    {Grid
93     {"mil" checked=grid_units_mm,0 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=gridsize,1 SetValue(Grid,1)}
98     -
99     {  "0.1 mil" checked=gridsize,10 SetUnits(mil) SetValue(Grid,10)}
100     {  "1 mil"   checked=gridsize,100 SetUnits(mil) SetValue(Grid,100)}
101     {  "5 mil"   checked=gridsize,500 SetUnits(mil) SetValue(Grid,500)}
102     { "10 mil"   checked=gridsize,1000 SetUnits(mil) SetValue(Grid,1000)}
103     { "25 mil"   checked=gridsize,2500 SetUnits(mil) SetValue(Grid,2500)}
104     { "50 mil"   checked=gridsize,5000 SetUnits(mil) SetValue(Grid,5000)}
105     {"100 mil"   checked=gridsize,10000 SetUnits(mil) SetValue(Grid,10000)}
106     -
107     {"0.01 mm" checked=gridsize,39 SetUnits(mm) SetValue(Grid,39.37007874)}
108     {"0.05 mm" checked=gridsize,197 SetUnits(mm) SetValue(Grid,196.85039370)}
109     {"0.1 mm"  checked=gridsize,394 SetUnits(mm) SetValue(Grid,393.70078740)}
110     {"0.25 mm" checked=gridsize,984 SetUnits(mm) SetValue(Grid,984.25197)}
111     {"0.5 mm"  checked=gridsize,1969 SetUnits(mm) SetValue(Grid,1968.503937)}
112     {"1 mm"    checked=gridsize,3937 SetUnits(mm) SetValue(Grid,3937.00787400)}
113     -
114     {"Grid -5mil" SetValue(Grid,-5,mil) a={"Shift-G" "Shift<Key>g"}}
115     {"Grid +5mil" SetValue(Grid,+5,mil) a={"G" "<Key>g"}}
116     {"Grid -0.05mm" SetValue(Grid,-0.05,mm) a={"Shift-Ctrl-G" "Shift Ctrl<Key>g"}}
117     {"Grid +0.05mm" SetValue(Grid,+0.05,mm) a={"Ctrl-G" "Ctrl<Key>g"}}
118    }
119    -
120    {"Shown Layers"
121     @layerview
122     -
123     {"Edit Layer Groups" EditLayerGroups()}
124    }
125    {"Current Layer"
126     @layerpick
127     -
128     {"Delete current layer" MoveLayer(c,-1)}
129     {"Add new layer" MoveLayer(-1,c)}
130     {"Move current layer up" MoveLayer(c,up)}
131     {"Move current layer down" MoveLayer(c,down)}
132    }
133   }
134   {Edit
135    {"Undo last operation" Undo() a={"U" "<Key>u"}}
136    {"Redo last undone operation" Redo() a={"Shift-R" "Shift<Key>r"}}
137    {"Clear undo-buffer" Undo(ClearList) a={"Shift-Ctrl-U" "Shift Ctrl<Key>u"}}
138    -
139    {"Cut selection to buffer" GetXY(Click to set the snap point for this buffer)
140     PasteBuffer(Clear) PasteBuffer(AddSelected) RemoveSelected() Mode(PasteBuffer)
141     a={"Ctrl-X" "Ctrl<Key>x"}}
142    {"Copy selection to buffer" GetXY(Click to set the snap point for this buffer)
143     PasteBuffer(Clear) PasteBuffer(AddSelected) Mode(PasteBuffer)
144     a={"Ctrl-C" "Ctrl<Key>c"}}
145    {"Paste buffer to layout" Mode(PasteBuffer) a={"Ctrl-V" "Ctrl<Key>v"}}
146    -
147    {"Unselect all" Unselect(All) a={"Shift-Alt-A" "Shift Alt<Key>a"}}
148    {"Select all visible" Select(All) a={"Alt-A" "Alt<Key>a"}}
149    -
150    {"Move to current layer" MoveToCurrentLayer(Object) a={"M" "<Key>m"}}
151    {"Move selected to current layer" MoveToCurrentLayer(Selected) a={"Shift-M" "Shift<Key>m"}}
152    -
153    {"Edit Names..." foreground=grey50 sensitive=false}
154    {" Change text on layout" ChangeName(Object) a={"N" "<Key>n"}}
155    {" Edit name of layout" ChangeName(Layout)}
156    {" Edit name of active layer" ChangeName(Layer)}
157    {"Edit Attributes..." foreground=grey50 sensitive=false}
158    {" Layout" Attributes(Layout)}
159    {" CurrentLayer" Attributes(Layer)}
160    {" Element" Attributes(Element)}
161    -
162    {"Board Sizes" AdjustSizes()}
163    {"Route Styles"
164     @routestyles
165     -
166     {"Edit..." AdjustStyle(0)}
167    }
168   }
169   {Tools
170    {"None" checked=nomode,1 Mode(None)}
171    {"Via" checked=viamode,1 Mode(Via) a={"F1" "<Key>F1"}}
172    {"Line" checked=linemode,1 Mode(Line) a={"F2" "<Key>F2"}}
173    {"Arc" checked=arcmode,1 Mode(Arc) a={"F3" "<Key>F3"}}
174    {"Text" checked=textmode,1 Mode(Text) a={"F4" "<Key>F4"}}
175    {"Rectangle" checked=rectanglemode,1 Mode(Rectangle) a={"F5" "<Key>F5"}}
176    {"Polygon" checked=polygonmode,1 Mode(Polygon) a={"F6" "<Key>F6"}}
177    {"Buffer" checked=pastebuffermode,1 Mode(PasteBuffer) a={"F7" "<Key>F7"}}
178    {"Remove" checked=removemode,1 Mode(Remove) a={"F8" "<Key>F8"}}
179    {"Rotate" checked=rotatemode,1 Mode(Rotate) a={"F9" "<Key>F9"}}
180    {"Thermal" checked=thermalmode,1 Mode(Thermal) a={"F10" "<Key>F10"}}
181    {"Arrow" checked=arrowmode,1 Mode(Arrow)  a={"F11" "<Key>F11"}}
182    {"Insert Point" checked=insertpointmode,1 Mode(InsertPoint) a={"Insert" "<Key>Insert"}}
183    {"Move" checked=movemode,1 Mode(Move)}
184    {"Copy" checked=copymode,1 Mode(Copy)}
185    {"Lock" checked=lockmode,1 Mode(Lock) a={"F12" "<Key>F12"}}
186    {"Cancel" Mode(Cancel) a={"Esc" "<Key>Escape"}}
187    -
188    {"Command" Command() a={":" "<Key>:"}}
189   }
190   {Settings
191    {"Layer groups" foreground=grey50 sensitive=false}
192    {"Edit layer groupings" EditLayerGroups()}
193    -
194    {"'All-direction' lines" checked=alldirection Display(Toggle45Degree) a={"." "<Key>."}}
195    {"Auto swap line start angle" checked=swapstartdir Display(ToggleStartDirection)}
196    {"Orthogonal moves" checked=orthomove Display(ToggleOrthoMove)}
197    {"Crosshair snaps to pins and pads" checked=snappin Display(ToggleSnapPin)}
198    {"Crosshair shows DRC clearance" checked=showdrc Display(ToggleShowDRC)}
199    {"Auto enforce DRC clearance" checked=autodrc Display(ToggleAutoDRC)}
200    -
201    {"Rubber band mode" checked=rubberband Display(ToggleRubberBandMode)}
202    {"Require unique element names" checked=uniquename Display(ToggleUniqueNames)}
203    {"Auto-zero delta measurements" checked=localref Display(ToggleLocalRef)}
204    {"New lines, arcs clear polygons" checked=clearnew Display(ToggleClearLine)}
205    {"New polygons are full ones" checked=newfullpoly Display(ToggleFullPoly)}
206    {"Show autorouter trials" checked=liveroute Display(ToggleLiveRoute)}
207    {"Thin draw" checked=thindraw Display(ToggleThindraw) a={"|" "<Key>|"}}
208    {"Thin draw poly" checked=thindrawpoly Display(ToggleThindrawPoly) a={"Ctrl-Shift-P" "Ctrl Shift<Key>p"}}
209    {"Check polygons" checked=checkplanes Display(ToggleCheckPlanes)}
210    -
211    {"Pinout shows number" checked=shownumber Display(ToggleName)}
212    {"Pins/Via show Name/Number" Display(PinOrPadName) a={"D" "<Key>d"}}
213    {"Enable vendor drill mapping" ToggleVendor() checked=VendorMapOn}
214   }
215     
216   {Select
217    {"Select all visible objects" Select(All)}
218    {"Select all connected objects" Select(Connection)}
219    -
220    {"Unselect all objects" Unselect(All)}
221    {"unselect all connected objects" Unselect(Connection)}
222    -
223    {"Select by name" foreground=grey50 sensitive=false}
224    {"All objects" Select(ObjectByName) active=have_regex}
225    {"Elements" Select(ElementByName) active=have_regex}
226    {"Pads" Select(PadByName) active=have_regex}
227    {"Pins" Select(PinByName) active=have_regex}
228    {"Text Objects" Select(TextByName) active=have_regex}
229    {"Vias" Select(ViaByName) active=have_regex}
230    -
231    {"Auto-place selected elements" AutoPlaceSelected() a={"Ctrl-P" "Ctrl<Key>p"}}
232    {"Disperse all elements" DisperseElements(All)}
233    {"Move selected elements to other side" Flip(SelectedElements) a={"Shift-B" "Shift<Key>b"}}
234    {"Delete selected objects" Delete(Selected) a={"Delete" "<Key>Delete"}}
235    {"Convert selection to element" Select(Convert)}
236    -
237    {"Optimize selected rats" DeleteRats(SelectedRats) AddRats(SelectedRats)}
238    {"Auto-route selected rats" AutoRoute(SelectedRats) a={"Alt-R" "Alt<Key>r"}}
239    {"Rip up selected auto-routed tracks" RipUp(Selected)}
240    -
241    {"Change size of selected objects" foreground=grey50 sensitive=false}
242    {"Lines -10 mil" ChangeSize(SelectedLines,-10,mil) ChangeSize(SelectedArcs,-10,mil)}
243    {"Lines +10 mil" ChangeSize(SelectedLines,+10,mil) ChangeSize(SelectedArcs,+10,mil)}
244    {"Pads -10 mil" ChangeSize(SelectedPads,-10,mil)}
245    {"Pads +10 mil" ChangeSize(SelectedPads,+10,mil)}
246    {"Pins -10 mil" ChangeSize(SelectedPins,-10,mil)}
247    {"Pins +10 mil" ChangeSize(SelectedPins,+10,mil)}
248    {"Texts -10 mil" ChangeSize(SelectedTexts,-10,mil)}
249    {"Texts +10 mil" ChangeSize(SelectedTexts,+10,mil)}
250    {"Vias -10 mil" ChangeSize(SelectedVias,-10,mil)}
251    {"Vias +10 mil" ChangeSize(SelectedVias,+10,mil)}
252    -
253    {"Change drilling hole of selected objects" foreground=grey50 sensitive=false}
254    {"Vias -10 mil" ChangeDrillSize(SelectedVias,-10,mil)}
255    {"Vias +10 mil" ChangeDrillSize(SelectedVias,+10,mil)}
256    {"Pins -10 mil" ChangeDrillSize(SelectedPins,-10,mil)}
257    {"Pins +10 mil" ChangeDrillSize(SelectedPins,+10,mil)}
258    -
259    {"Change square-flag of selected objects" foreground=grey50 sensitive=false}
260    {"Elements" ChangeSquare(SelectedElements)}
261    {"Pins" ChangeSquare(SelectedPins)}
262   }
263     
264   {Buffer
265    {"Copy selection to buffer" GetXY(Click to set the snap point for this buffer)
266     PasteBuffer(Clear) PasteBuffer(AddSelected) Mode(PasteBuffer)}
267    {"Cut selection to buffer" GetXY(Click to set the snap point for this buffer)
268     PasteBuffer(Clear) PasteBuffer(AddSelected) RemoveSelected() Mode(PasteBuffer)}
269    {"Paste buffer to layout" Mode(PasteBuffer)}
270    -
271    {"Rotate buffer 90 deg CCW" Mode(PasteBuffer) PasteBuffer(Rotate,1)
272     a={"Shift-F7" "Shift<Key>F7"}}
273    {"Rotate buffer 90 deg CW" Mode(PasteBuffer) PasteBuffer(Rotate,3)}
274    {"Mirror buffer (up/down)" Mode(PasteBuffer) PasteBuffer(Mirror)}
275    {"Mirror buffer (left/right)" Mode(PasteBuffer) PasteBuffer(Rotate,1)
276     PasteBuffer(Mirror) PasteBuffer(Rotate,3)}
277    -
278    {"Clear buffer" PasteBuffer(Clear)}
279    {"Convert buffer to element" PasteBuffer(Convert)}
280    {"Break buffer elements to pieces" PasteBuffer(Restore)}
281    {"Save buffer elements to file" Save(PasteBuffer)}
282    -
283    {"Select current buffer" foreground=grey50 sensitive=false}
284    {"#1" checked=buffer,1 PasteBuffer(1) a={"Shift-1" "Shift<Key>1"}}
285    {"#2" checked=buffer,2 PasteBuffer(2) a={"Shift-2" "Shift<Key>2"}}
286    {"#3" checked=buffer,3 PasteBuffer(3) a={"Shift-3" "Shift<Key>3"}}
287    {"#4" checked=buffer,4 PasteBuffer(4) a={"Shift-4" "Shift<Key>4"}}
288    {"#5" checked=buffer,5 PasteBuffer(5) a={"Shift-5" "Shift<Key>5"}}
289   }
290     
291   {Connects
292    {"Lookup connection to object" GetXY(Click on the object) Connection(Find) a={"Ctrl-F" "Ctrl<Key>f"}}
293    {"Reset scanned pads/pins/vias" Connection(ResetPinsViasAndPads) Display(Redraw)}
294    {"Reset scanned lines/polygons" Connection(ResetLinesAndPolygons) Display(Redraw)}
295    {"Reset all connections" Connection(Reset) Display(Redraw) a={"Shift-F" "Shift<Key>f"}}
296    -
297    {"Optimize rats-nest" Atomic(Save) DeleteRats(AllRats)
298     Atomic(Restore) AddRats(AllRats) Atomic(Block) a={"O" "<Key>o"}}
299    {"Erase rats-nest" DeleteRats(AllRats) a={"E" "<Key>e"}}
300    {"Erase selected rats" DeleteRats(SelectedRats) a={"Shift-E" "Shift<Key>e"}}
301    -
302    {"Auto-route selected rats" AutoRoute(Selected)}
303    {"Auto-route all rats" AutoRoute(AllRats)}
304    {"Rip up all auto-routed tracks" RipUp(All)}
305    -
306    {"Auto-Optimize" djopt(auto)  a={"Shift-=" "Shift<Key>="}}
307    {"Debumpify" djopt(debumpify) }
308    {"Unjaggy" djopt(unjaggy) }
309    {"Vianudge" djopt(vianudge) }
310    {"Viatrim" djopt(viatrim) }
311    {"Orthopull" djopt(orthopull) }
312    {"SimpleOpts" djopt(simple)  a={"=" "<Key>="}}
313    {"Miter" djopt(miter) }
314    {"Puller" a={"Y" "<Key>y"} Puller() }
315    {"Global Puller"
316     {"Selected" GlobalPuller(selected) }
317     {"Found" GlobalPuller(found) }
318     {"All" GlobalPuller() }
319    }
320    {"Only autorouted nets" OptAutoOnly() checked=optautoonly}
321    -
322    {"Design Rule Checker" DRC()}
323    -
324    {"Apply vendor drill mapping" ApplyVendor()}
325   }
326     
327   {Info
328    {"Generate object report" ReportObject() a={"Ctrl-R" "Ctrl<Key>r"}}
329    {"Generate drill summary" Report(DrillReport)}
330    {"Report found pins/pads" Report(FoundPins)}
331    {"Report net length" Report(NetLength) a={"R" "<Key>r"}}
332    {"Key Bindings"
333     {"Remove" a={"Backspace" "<Key>BackSpace"}
334      Delete(Selected)
335     }
336     {"Remove Connected" a={"Shift-Backspace" "Shift<Key>BackSpace"}
337      Atomic(Save)
338      Connection(Reset)
339      Atomic(Restore)
340      Unselect(All)
341      Atomic(Restore)
342      Connection(Find)
343      Atomic(Restore)
344      Select(Connection)
345      Atomic(Restore)
346      RemoveSelected()
347      Atomic(Restore)
348      Connection(Reset)
349      Atomic(Restore)
350      Unselect(All)
351      Atomic(Block)
352     }
353     {"Remove Connected" a={"Shift-Delete" "Shift<Key>Delete"}
354      Atomic(Save)
355      Connection(Reset)
356      Atomic(Restore)
357      Unselect(All)
358      Atomic(Restore)
359      Connection(Find)
360      Atomic(Restore)
361      Select(Connection)
362      Atomic(Restore)
363      RemoveSelected()
364      Atomic(Restore)
365      Connection(Reset)
366      Atomic(Restore)
367      Unselect(All)
368      Atomic(Block)
369     }
370     {"Set Same" a={"A" "<Key>a"} SetSame()}
371     {"Flip Object" a={"B" "<Key>b"} Flip(Object)}
372     {"Find Connections" a={"F" "<Key>f"} Connection(Reset) Connection(Find)}
373     {"ToggleHideName Object" a={"H" "<Key>h"} ToggleHideName(Object)}
374     {"ToggleHideName SelectedElement" a={"Shift-H" "Shift<Key>h"} ToggleHideName(SelectedElements)}
375     {"ChangeHole Object" a={"Ctrl-H" "Ctrl<Key>h"} ChangeHole(Object)}
376     {"ChangeJoin Object" a={"J" "<Key>j"} ChangeJoin(Object)}
377     {"ChangeJoin SelectedObject" a={"Shift-J" "Shift<Key>j"} ChangeJoin(SelectedObjects)}
378     {"Clear Object +2 mil" a={"K" "<Key>k"} ChangeClearSize(Object,+2,mil)}
379     {"Clear Object -2 mil" a={"Shift-K" "Shift<Key>k"} ChangeClearSize(Object,-2,mil)}
380     {"Clear Selected +2 mil" a={"Ctrl-K" "Ctrl<Key>k"} ChangeClearSize(SelectedObjects,+2,mil)}
381     {"Clear Selected -2 mil" a={"Shift-Ctrl-K" "Shift Ctrl<Key>k"} ChangeClearSize(SelectedObjects,-2,mil)}
382     {"Line Tool size +5 mil" a={"L" "<Key>l"} SetValue(LineSize,+5,mil)}
383     {"Line Tool size -5 mil" a={"Shift-L" "Shift<Key>l"} SetValue(LineSize,-5,mil)}
384     {"MarkCrosshair" a={"Ctrl-M" "Ctrl<Key>m"} MarkCrosshair()}
385     {"Select shortest rat" a={"Shift-N" "Shift<Key>n"} AddRats(Close)}
386     {"AddRats to selected pins" a={"Shift-O" "Shift<Key>o"}
387      Atomic(Save)
388      DeleteRats(AllRats)
389      Atomic(Restore)
390      AddRats(SelectedRats)
391      Atomic(Block) }
392     {"ChangeOctagon Object" a={"Ctrl-O" "Ctrl<Key>o"} ChangeOctagon(Object)}
393     {"Polygon PreviousPoint" a={"P" "<Key>p"} Polygon(PreviousPoint)}
394     {"Polygon Close" a={"Shift-P" "Shift<Key>p"} Polygon(Close)}
395     {"ChangeSquare Object" a={"Q" "<Key>q"} ChangeSquare(Object)}
396     {"ChangeSize +5 mil" a={"S" "<Key>s"} ChangeSize(Object,+5,mil)}
397     {"ChangeSize -5 mil" a={"Shift-S" "Shift<Key>s"} ChangeSize(Object,-5,mil)}
398     {"ChangeDrill +5 mil" a={"Alt-S" "Alt<Key>s"} ChangeDrillSize(Object,+5,mil)}
399     {"ChangeDrill -5 mil" a={"Alt-Shift-S" "Alt Shift<Key>s"} ChangeDrillSize(Object,-5,mil)}
400     {"Text Tool scale +10 mil" a={"T" "<Key>t"} SetValue(TextScale,+10,mil)}
401     {"Text Tool scale -10 mil" a={"Shift-T" "Shift<Key>t"} SetValue(TextScale,-10,mil)}
402     {"Via Tool size +5 mil" a={"Shift-V" "Shift<Key>v"} SetValue(ViaSize,+5,mil)}
403     {"Via Tool size -5 mil" a={"Shift-Ctrl-V" "Shift Ctrl<Key>v"} SetValue(ViaSize,-5,mil)}
404     {"Via Tool drill +5 mil" a={"Alt-V" "Alt<Key>v"} SetValue(ViaDrillingHole,+5,mil)}
405     {"Via Tool drill -5 mil" a={"Alt-Shift-V" "Alt Shift<Key>v"} SetValue(ViaDrillingHole,-5,mil)}
406     {"AddRats Selected" a={"Shift-W" "Shift<Key>w"} AddRats(SelectedRats)}
407     {"Add All Rats" a={"W" "<Key>w"} AddRats(AllRats)}
408     {"Undo" a={"Alt-Z" "Alt<Key>z"} Undo()}
409     {"Cycle Clip" a={"/" "<Key>/"} Display(CycleClip)}
410     {"Arrow" a={"Space" "<Key>space"} Mode(Arrow) checked=arrowmode,1}
411     {"Temp Arrow ON" a={"[" "<Key>["} Mode(Save) Mode(Arrow) Mode(Notify)}
412     {"Temp Arrow OFF" a={"]" "<Key>]"} Mode(Release) Mode(Restore)}
414     {"Step Up" a={"Up" "<Key>Up"} Cursor(Warp,0,1,grid)}
415     {"Step Down" a={"Down" "<Key>Down"} Cursor(Warp,0,-1,grid)}
416     {"Step Left" a={"Left" "<Key>Left"} Cursor(Warp,-1,0,grid)}
417     {"Step Right" a={"Right" "<Key>Right"} Cursor(Warp,1,0,grid)}
418     {"Step +Up" a={"Up" "Shift<Key>Up"} Cursor(Pan,0,50,view)}
419     {"Step +Down" a={"Down" "Shift<Key>Down"} Cursor(Pan,0,-50,view)}
420     {"Step +Left" a={"Left" "Shift<Key>Left"} Cursor(Pan,-50,0,view)}
421     {"Step +Right" a={"Right" "Shift<Key>Right"} Cursor(Pan,50,0,view)}
422     {'"Click"' a={"Enter" "<Key>Enter"} Mode(Notify) Mode(Release) }
423    }
424   }
425   {Window
426    {"Board Layout" DoWindows(Layout)}
427    {"Library" DoWindows(Library)}
428    {"Message Log" DoWindows(Log)}
429    {"Netlist" DoWindows(Netlist)}
430    {"Pinout" Display(Pinout) a={"Shift-D" "Shift<Key>d"}}
431   }