~ubuntu-branches/ubuntu/precise/pcb/precise

« back to all changes in this revision

Viewing changes to src/Pcb.ad.before

  • Committer: Bazaar Package Importer
  • Author(s): Hamish Moffatt
  • Date: 2005-02-20 13:14:00 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050220131400-pfz66g5vhx0azl8f
Tags: 1.99j+20050127-2
* Improved package description: (closes: #295405)
* Fixed dependency: tk84 -> tk8.4 (closes: #295404)
* Updated README.debian (closes: #269578)
* Applied patch to src/djopt.c to allow compilation with gcc-4.0
  (closes: #294319), thanks to Andreas Jochens for the patch.
* Prevent example files from being compressed

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
!
2
 
!                            COPYRIGHT
3
 
!
4
 
!  PCB, interactive printed circuit board design
5
 
!  Copyright (C) 1994,1995,1996 Thomas Nau
6
 
!
7
 
!  This program is free software; you can redistribute it and/or modify
8
 
!  it under the terms of the GNU General Public License as published by
9
 
!  the Free Software Foundation; either version 2 of the License, or
10
 
!  (at your option) any later version.
11
 
!
12
 
!  This program is distributed in the hope that it will be useful,
13
 
!  but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
!  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
!  GNU General Public License for more details.
16
 
!
17
 
!  You should have received a copy of the GNU General Public License
18
 
!  along with this program; if not, write to the Free Software
19
 
!  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
 
!
21
 
!  Contact addresses for paper mail and Email:
22
 
!  Thomas Nau, Schlehenweg 15, 88471 Baustetten, Germany
23
 
!  Thomas.Nau@rz.uni-ulm.de
24
 
!
25
 
!  RCS: $Id: Pcb.ad.raw,v 1.1 1998/02/19 18:06:34 sync Exp $
26
 
!
27
 
 
28
 
!---------------------------------------------------------------------------
29
 
! resources as defined by pcb
30
 
!
31
 
pcb.absoluteGrid:           On
32
 
pcb.alignmentDistance:      200
33
 
pcb.allDirectionLines:      Off
34
 
pcb.apertureCommand:        M4PATH='%p';export M4PATH;echo 'include(%f)' | GNUM4
35
 
pcb.aperturePath:           .:PCBLIBDIR
36
 
pcb.backupInterval:         60
37
 
pcb.charactersPerLine:      78
38
 
pcb.connectedColor:         green
39
 
pcb.crosshairColor:         red
40
 
pcb.crossColor:             yellow
41
 
pcb.elementColor:           black
42
 
pcb.elementSelectedColor:   cyan
43
 
pcb.elementCommand:         M4PATH='%p';export M4PATH;echo 'include(%f)' | GNUM4
44
 
pcb.elementPath:            .:packages:circuits:PCBLIBDIR:PCBLIBDIR/circuits:PCBLIBDIR/packages
45
 
pcb.fileCommand:            cat '%f'
46
 
pcb.filePath:               .
47
 
pcb.fontCommand:            M4PATH='%p';export M4PATH;echo 'include(%f)' | GNUM4
48
 
pcb.fontFile:               FONTFILENAME
49
 
pcb.fontPath:               .:PCBLIBDIR
50
 
pcb.grid:                   10
51
 
pcb.gridColor:              gray50
52
 
pcb.warnColor:              hot pink
53
 
pcb.invertedFrameWidth:     500
54
 
pcb.invisibleObjectsColor:  gray80
55
 
pcb.layerColor1:            RoyalBlue3
56
 
pcb.layerColor2:            DodgerBlue4
57
 
pcb.layerColor3:            burlywood4
58
 
pcb.layerColor4:            brown4
59
 
pcb.layerColor5:            PaleGreen4
60
 
pcb.layerColor6:            OrangeRed3
61
 
pcb.layerColor7:            turquoise4
62
 
pcb.layerColor8:            forest green
63
 
pcb.layerGroups:            1,2,3,s:4,5,6,c:7:8
64
 
pcb.layerName1:             solder
65
 
pcb.layerName2:             GND-sldr
66
 
pcb.layerName3:             Vcc-sldr
67
 
pcb.layerName4:             component
68
 
pcb.layerName5:             GND-comp
69
 
pcb.layerName6:             Vcc-comp
70
 
pcb.layerName7:             unused
71
 
pcb.layerName8:             unused
72
 
pcb.layerSelectedColor1:    cyan
73
 
pcb.layerSelectedColor2:    cyan
74
 
pcb.layerSelectedColor3:    cyan
75
 
pcb.layerSelectedColor4:    cyan
76
 
pcb.layerSelectedColor5:    cyan
77
 
pcb.layerSelectedColor6:    cyan
78
 
pcb.layerSelectedColor7:    cyan
79
 
pcb.layerSelectedColor8:    cyan
80
 
pcb.libraryCommand:         PCBLIBDIR/QueryLibrary.sh '%p' '%f' %a
81
 
pcb.libraryContentsCommand: PCBLIBDIR/ListLibraryContents.sh '%p' '%f'
82
 
pcb.libraryFilename:        LIBRARYFILENAME
83
 
pcb.libraryPath:            .:PCBLIBDIR
84
 
pcb.lineThickness:          10
85
 
pcb.media:                  a4
86
 
pcb.offLimitColor:          gray80
87
 
pcb.pinColor:               gray30
88
 
pcb.pinSelectedColor:       cyan
89
 
pcb.pinoutFont0:            -*-courier-bold-r-*-*-24-*-*-*-*-*-*-*
90
 
pcb.pinoutFont1:            -*-courier-bold-r-*-*-12-*-*-*-*-*-*-*
91
 
pcb.pinoutFont2:            -*-courier-bold-r-*-*-8-*-*-*-*-*-*-*
92
 
pcb.pinoutFont3:            -*-courier-bold-r-*-*-4-*-*-*-*-*-*-*
93
 
pcb.pinoutFont4:            -*-courier-bold-r-*-*-2-*-*-*-*-*-*-*
94
 
pcb.pinoutNameLength:       8
95
 
pcb.pinoutOffsetX:          100
96
 
pcb.pinoutOffsetY:          100
97
 
pcb.pinoutTextOffsetX:      50
98
 
pcb.pinoutTextOffsetY:      0
99
 
pcb.pinoutZoom:             2
100
 
pcb.printFile:             %f.output
101
 
pcb.raiseLogWindow:         On
102
 
pcb.resetAfterElement:      On
103
 
pcb.ringBellWhenFinished:   Off
104
 
pcb.routeStyles:            Signal,10,40,20:Power,25,60,35:Fat,40,60,35:Skinny,8,36,20
105
 
pcb.saveCommand:            cat - > '%f'
106
 
pcb.saveInTMP:              Off
107
 
pcb.saveLastCommand:        Off
108
 
pcb.size:                   6000x5000
109
 
pcb.stipplePolygons:        Off
110
 
pcb.textScale:              100
111
 
pcb.useLogWindow:           On
112
 
pcb.viaColor:               gray50
113
 
pcb.viaSelectedColor:       cyan
114
 
pcb.viaThickness:           60
115
 
pcb.viaDrillingHole:        28
116
 
pcb.volume:                 100
117
 
pcb.zoom:                   3
118
 
pcb.Bloat:                  7
119
 
pcb.Shrink:                 5
120
 
 
121
 
!---------------------------------------------------------------------------
122
 
! resources that are common to all 'subwindows'
123
 
!
124
 
pcb*Command.highlightThickness:        2
125
 
!pcb*Command.shapeStyle:                oval
126
 
pcb*defaultButton.borderWidth:         2
127
 
pcb*defaultButton.highlightThickness:  3
128
 
!pcb*font:                              -*-courier-bold-r-*-*-14-*-*-*-*-*-*-*
129
 
pcb*Label.borderWidth:                 0
130
 
pcb*Label.justify:                     center
131
 
!pcb*MenuButton.shapeStyle:             oval
132
 
pcb*MenuButton.resizable:              on
133
 
pcb*SimpleMenu*justify:                left
134
 
pcb*Toggle.borderWidth:                1
135
 
pcb*selector*List.verticalList:        On
136
 
pcb*selector.height:                   240
137
 
pcb*selector.width:                    180
138
 
pcb*horizDistance:                     2
139
 
pcb*defaultButton.accelerators:  #override \
140
 
  <Key>Return:            set() notify() unset() \n
141
 
pcb*cancelButton.accelerators:  #override \
142
 
  <Key>Escape:            set() notify() unset() \n
143
 
 
144
 
!---------------------------------------------------------------------------
145
 
! toplevel shell resources
146
 
!
147
 
pcb.baseTranslations: #override \
148
 
  <Message>WM_PROTOCOLS:   Quit() \n
149
 
 
150
 
!---------------------------------------------------------------------------
151
 
! resources used by control panel
152
 
!
153
 
pcb*controlMasterForm*font:             -*-courier-bold-r-*-*-12-*-*-*-*-*-*-*
154
 
pcb*controlMasterForm*borderWidth:            0
155
 
pcb*controlMasterForm*Label.width:            70
156
 
pcb*controlMasterForm*MenuButton.resizable:   off
157
 
pcb*controlMasterForm*MenuButton.shapeStyle:  rectangle
158
 
pcb*controlMasterForm*MenuButton.width:       70
159
 
pcb*controlMasterForm*MenuButton.borderWidth: 1  
160
 
pcb*controlMasterForm*Toggle.width:           70
161
 
pcb*controlMasterForm*Toggle.borderWidth:     1
162
 
 
163
 
!---------------------------------------------------------------------------
164
 
! resources used by the file select box
165
 
!
166
 
pcb*fileselectMasterForm*current.vertDistance: 20
167
 
pcb*fileselectMasterForm*input.width:          366
168
 
pcb*fileselectMasterForm*input*background:     gray90
169
 
 
170
 
pcb*fileselectMasterForm.defaultButton.accelerators:  #override \
171
 
  <Key>Return:   set() notify() unset() \n\
172
 
  <Btn1Up>(2):   set() notify() unset() \n
173
 
 
174
 
!---------------------------------------------------------------------------
175
 
! resources used by the size select box
176
 
!
177
 
pcb*sizeMasterForm*Label.vertDistance:    10
178
 
 
179
 
!---------------------------------------------------------------------------
180
 
! resources used by the menus
181
 
!
182
 
pcb*header.foreground:    red
183
 
 
184
 
!---------------------------------------------------------------------------
185
 
! resources of the library window
186
 
!
187
 
pcb*library.iconic:             true
188
 
pcb.library.geometry:         750x250
189
 
pcb.library*type*foreground:  red
190
 
pcb.library.baseTranslations: #override \
191
 
  <Message>WM_PROTOCOLS:  Bell() \n
192
 
 
193
 
pcb*libraryMasterForm*List.baseTranslations: #replace \
194
 
  <Btn1Down>,<Btn1Up>:    Set() \n\
195
 
  <Btn1Up>(2):            Set() Notify() Unset() \n
196
 
 
197
 
 
198
 
!---------------------------------------------------------------------------
199
 
! resources of the logging window
200
 
!
201
 
pcb*log.iconic:           true
202
 
pcb.log.geometry:         600x200
203
 
pcb.log.baseTranslations: #override \
204
 
  <Message>WM_PROTOCOLS:   Bell() \n
205
 
 
206
 
!---------------------------------------------------------------------------
207
 
! resources of the print selection window
208
 
!
209
 
pcb*printMasterForm*Command.width:        100
210
 
pcb*printMasterForm*comment.vertDistance: 20
211
 
pcb*printMasterForm*input.width:          150
212
 
pcb*printMasterForm*Panner.background:    gray90
213
 
pcb*printMasterForm*Toggle.width:         150
214
 
 
215
 
!---------------------------------------------------------------------------
216
 
! resources of the layer-group edit window
217
 
!
218
 
pcb*layerGroupMasterForm*comment.width:             150
219
 
pcb*layerGroupMasterForm*comment.justify:           left
220
 
pcb*layerGroupMasterForm*groupNumber.horizDistance: 6
221
 
pcb*layerGroupMasterForm*groupNumber.width:         20
222
 
pcb*layerGroupMasterForm*layerGroup.width:          150
223
 
pcb*layerGroupMasterForm*layerName.justify:         left
224
 
pcb*layerGroupMasterForm*layerName.width:           150
225
 
pcb*layerGroupMasterForm*Toggle.width:              20
226
 
 
227
 
!---------------------------------------------------------------------------
228
 
! resources of the pinout window
229
 
!
230
 
pcb*pinoutMasterForm*viewport.height:  240
231
 
pcb*pinoutMasterForm*viewport.width:   320
232
 
 
233
 
pcb*pinoutMasterForm.dismiss.accelerators: #override \
234
 
  <Message>WM_PROTOCOLS:  set() notify() unset() \n
235
 
 
236
 
pcb*pinoutMasterForm.viewport.horizontal.accelerators: #override \
237
 
  !BTNMOD Ctrl<Key>Left:    StartScroll(Backward) \
238
 
                            NotifyScroll(FullLength) \
239
 
                            EndScroll() \n\
240
 
  !BTNMOD Ctrl<Key>Right:   StartScroll(Forward) \
241
 
                            NotifyScroll(FullLength) \
242
 
                            EndScroll() \n
243
 
 
244
 
pcb*pinoutMasterForm.viewport.vertical.accelerators: #override \
245
 
  !BTNMOD Ctrl<Key>Up:      StartScroll(Backward) \
246
 
                            NotifyScroll(FullLength) \
247
 
                            EndScroll() \n\
248
 
  !BTNMOD Ctrl<Key>Down:    StartScroll(Forward) \
249
 
                            NotifyScroll(FullLength) \
250
 
                            EndScroll() \n
251
 
 
252
 
!---------------------------------------------------------------------------
253
 
! resources used by the top menu buttons
254
 
!
255
 
pcb.masterForm.Command.baseTranslations: #override \
256
 
  <Btn1Down>:  set() notify() \n\
257
 
  <Btn1Up>:    unset() \n
258
 
 
259
 
!---------------------------------------------------------------------------
260
 
! resources used by statuslines and input field
261
 
!
262
 
pcb.masterForm*cursorPosition.justify:   left
263
 
pcb.masterForm*cursorPosition.width:     350
264
 
pcb.masterForm*inputField*borderWidth:   0
265
 
pcb.masterForm*messageText.foreground:   red
266
 
pcb.masterForm*messageText.justify:      left
267
 
pcb.masterForm*statusLine.justify:       left
268
 
 
269
 
!---------------------------------------------------------------------------
270
 
! resources used by the mode-selection area
271
 
!
272
 
pcb.masterForm.Toggle.horizDistance:        6
273
 
pcb.masterForm.Toggle.vertDistance:         5
274
 
pcb.masterForm.lineIcon.vertDistance:       4
275
 
pcb.masterForm.rectangleIcon.vertDistance:  4
276
 
pcb.masterForm.viaIcon.vertDistance:        4
277
 
pcb.masterForm.textIcon.vertDistance:       4
278
 
pcb.masterForm.polygonIcon.vertDistance:    4
279
 
pcb.masterForm.bufferIcon.vertDistance:     4
280
 
pcb.masterForm.removeIcon.vertDistance:     4
281
 
pcb.masterForm.rotateIcon.vertDistance:     4
282
 
pcb.masterForm.insertPointIcon.vertDistance:4
283
 
pcb.masterForm.thermalIcon.vertDistance:    4
284
 
 
285
 
!---------------------------------------------------------------------------
286
 
! resources used by the output area
287
 
!
288
 
pcb.masterForm*output*background:        gray95
289
 
pcb.masterForm.viewport.height:          600
290
 
pcb.masterForm.viewport.width:           900
291
 
 
292
 
pcb.masterForm.viewport.horizontal.accelerators: #override \
293
 
  !BTNMOD Ctrl<Key>Left:    StartScroll(Backward) \
294
 
                            NotifyScroll(FullLength) \
295
 
                            EndScroll() \n\
296
 
  None<Key>KP_4:            StartScroll(Backward) \
297
 
                            NotifyScroll(FullLength) \
298
 
                            EndScroll() \n\
299
 
  !BTNMOD Ctrl<Key>Right:   StartScroll(Forward) \
300
 
                            NotifyScroll(FullLength) \
301
 
                            EndScroll() \n\
302
 
  None<Key>KP_6:            StartScroll(Forward) \
303
 
                            NotifyScroll(FullLength) \
304
 
                            EndScroll() \n
305
 
 
306
 
pcb.masterForm.viewport.horizontal.baseTranslations: #override \
307
 
  <Btn2Down>:               StartScroll(Continuos) MoveThumb() \n\
308
 
  <Btn2Motion>:             MoveThumb() \n\
309
 
  <Btn2Up>:                 NotifyThumb() \n
310
 
 
311
 
pcb.masterForm.viewport.vertical.accelerators: #override \
312
 
  !BTNMOD Ctrl<Key>Up:      StartScroll(Backward) \
313
 
                            NotifyScroll(FullLength) \
314
 
                            EndScroll() \n\
315
 
  None<Key>KP_8:            StartScroll(Backward) \
316
 
                            NotifyScroll(FullLength) \
317
 
                            EndScroll() \n\
318
 
  !BTNMOD Ctrl<Key>Down:    StartScroll(Forward) \
319
 
                            NotifyScroll(FullLength) \
320
 
                            EndScroll() \n\
321
 
  None<Key>KP_2:            StartScroll(Forward) \
322
 
                            NotifyScroll(FullLength) \
323
 
                            EndScroll() \n
324
 
 
325
 
pcb.masterForm.viewport.vertical.baseTranslations: #override \
326
 
  <Btn2Down>:             StartScroll(Continuos) \
327
 
                          MoveThumb() \n\
328
 
  <Btn2Motion>:           MoveThumb() \n\
329
 
  <Btn2Up>:               NotifyThumb() \n
330
 
!---------------------------------------------------------------------------
331
 
! translations of the output area
332
 
!
333
 
pcb.masterForm*output.baseTranslations:   #override \
334
 
  <Key>Escape:          Mode(None) \n\
335
 
  <Key>space:           Mode(Notify) \n\
336
 
  <Key>colon:           Command() \n\
337
 
  !Shift<Key>BackSpace: 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) \n\
352
 
  !Shift<Key>Delete:    Atomic(Save) \
353
 
                        Connection(Reset) \
354
 
                        Atomic(Restore) \
355
 
                        Unselect(All) \
356
 
                        Atomic(Restore) \
357
 
                        Connection(Find) \
358
 
                        Atomic(Restore) \
359
 
                        Select(Connection) \
360
 
                        Atomic(Restore) \
361
 
                        RemoveSelected() \
362
 
                        Atomic(Restore) \
363
 
                        Connection(Reset) \
364
 
                        Atomic(Restore) \
365
 
                        Unselect(All) \
366
 
                        Atomic(Block) \n\
367
 
  None<Key>BackSpace:   Mode(Save) \
368
 
                        Mode(Remove) \
369
 
                        Mode(Notify) \
370
 
                        Mode(Restore) \n\
371
 
  None<Key>Delete:      Mode(Save) \
372
 
                        Mode(Remove) \
373
 
                        Mode(Notify) \
374
 
                        Mode(Restore) \n\
375
 
  None<Key>Insert:      Mode(InsertPoint) \n\
376
 
  None<Key>Tab:         SwapSides() \n\
377
 
  \
378
 
  None<Key>1: SwitchDrawingLayer(1) \n\
379
 
  None<Key>2: SwitchDrawingLayer(2) \n\
380
 
  None<Key>3: SwitchDrawingLayer(3) \n\
381
 
  None<Key>4: SwitchDrawingLayer(4) \n\
382
 
  None<Key>5: SwitchDrawingLayer(5) \n\
383
 
  None<Key>6: SwitchDrawingLayer(6) \n\
384
 
  None<Key>7: SwitchDrawingLayer(7) \n\
385
 
  None<Key>8: SwitchDrawingLayer(8) \n\
386
 
  \
387
 
  !Ctrl<Key>1: RouteStyle(1) \n\
388
 
  !Ctrl<Key>2: RouteStyle(2) \n\
389
 
  !Ctrl<Key>3: RouteStyle(3) \n\
390
 
  !Ctrl<Key>4: RouteStyle(4) \n\
391
 
  \
392
 
  !BTNMOD<Key>a:        Select(All) \n\
393
 
  !Shift BTNMOD<Key>a:  Unselect(All) \n\
394
 
  None<Key>c:          Display(Center) \n\
395
 
  !BTNMOD<Key>c:       PasteBuffer(Clear) \
396
 
                       PasteBuffer(AddSelected) \
397
 
                       Unselect(All) \n\
398
 
  None<Key>d:          Display(PinOrPadName) \n\
399
 
  !Shift<Key>d:        Display(Pinout) \n\
400
 
  None<Key>e:          DeleteRats(AllRats) \n\
401
 
  !Shift<Key>e:        DeleteRats(SelectedRats) \n\
402
 
  None<Key>f:          Connection(Find) \n\
403
 
  !Shift<Key>f:        Connection(Reset) \n\
404
 
  None<Key>g:          SetValue(Grid, +5) \n\
405
 
  !Shift<Key>g:        SetValue(Grid, -5) \n\
406
 
  None<Key>h:          ToggleHideName(Object) \n\
407
 
  !Shift<Key>h:        ToggleHideName(SelectedElements) \n\
408
 
  !Ctrl<Key>h:         ChangeHole(ToggleObject) \n\
409
 
  None<Key>l:          SetValue(LineSize, +5) \n\
410
 
  !Shift<Key>l:        SetValue(LineSize, -5) \n\
411
 
  None<Key>m:          MoveToCurrentLayer(Object) \n\
412
 
  !Shift<Key>m:        MoveToCurrentLayer(SelectedObjects) \n\
413
 
  !Ctrl<Key>m:         MarkCrosshair() \n\
414
 
  None<Key>n:          ChangeName(Object) \n\
415
 
  None<Key>o:          Atomic(Save) \
416
 
                       DeleteRats(AllRats) \
417
 
                       Atomic(Restore) \
418
 
                       AddRats(AllRats) \
419
 
                       Atomic(Block) \n\
420
 
  !Shift<Key>o:        Atomic(Save) \
421
 
                       DeleteRats(AllRats) \
422
 
                       Atomic(Restore) \
423
 
                       AddRats(SelectedRats) \
424
 
                       Atomic(Block) \n\
425
 
  !Ctrl<Key>o:         ChangeOctagon(Object) \n\
426
 
  None<Key>p:          Polygon(PreviousPoint) \n\
427
 
  !Shift<Key>p:        Polygon(Close) \n\
428
 
  None<Key>q:          ChangeSquare(ToggleObject) \n\
429
 
  None<Key>r:          Display(ClearAndRedraw) \n\
430
 
  !Shift<Key>r:        Redo() \n\
431
 
  !Ctrl<Key>r:         Report(Object) \n\
432
 
  None<Key>s:          ChangeSize(Object, +5) \n\
433
 
  !Shift<Key>s:        ChangeSize(Object, -5) \n\
434
 
  !BTNMOD<Key>s:       ChangeDrillSize(Object, +5) \n\
435
 
  !BTNMOD Shift<Key>s: ChangeDrillSize(Object, -5) \n\
436
 
  None<Key>u:          Undo() \n\
437
 
  !Shift Ctrl<Key>u:   Undo(ClearList) \n\
438
 
  None<Key>v:          SetValue(ViaSize, +5) \n\
439
 
  !Shift<Key>v:        SetValue(ViaSize, -5) \n\
440
 
  !BTNMOD<Key>v:       SetValue(ViaDrillingHole, +5) \n\
441
 
  !BTNMOD Shift<Key>v: SetValue(ViaDrillingHole, -5) \n\
442
 
  None<Key>w:          AddRats(AllRats) \n\
443
 
  !Shift<Key>w:        AddRats(SelectedRats) \n\
444
 
  !Ctrl<Key>x:         PasteBuffer(Clear) \
445
 
                       PasteBuffer(AddSelected) \
446
 
                       Mode(PasteBuffer) \n\
447
 
  !Shift Ctrl<Key>x:   PasteBuffer(Clear) \
448
 
                       PasteBuffer(AddSelected) \
449
 
                       RemoveSelected() \
450
 
                       Mode(PasteBuffer) \n\
451
 
  !BTNMOD<Key>x:       PasteBuffer(Clear) \
452
 
                       PasteBuffer(AddSelected) \
453
 
                       RemoveSelected() \n\
454
 
  None<Key>z:          SetValue(Zoom, -1) \n\
455
 
  !Shift<Key>z:        SetValue(Zoom, +1) \n\
456
 
  !BTNMOD<Key>z:       Undo() \n\
457
 
  None<Key>.:          Display(Toggle45Degree) \n\
458
 
  None<Key>/:          Display(CycleClip) \n\
459
 
  \
460
 
  !Shift<Key>1: PasteBuffer(1) \n\
461
 
  !Shift<Key>2: PasteBuffer(2) \n\
462
 
  !Shift<Key>3: PasteBuffer(3) \n\
463
 
  !Shift<Key>4: PasteBuffer(4) \n\
464
 
  !Shift<Key>5: PasteBuffer(5) \n\
465
 
  \
466
 
  None<Key>Up:      MovePointer(0, -1) \n\
467
 
  !Shift<Key>Up:    MovePointer(0, -10) \n\
468
 
  None<Key>Down:    MovePointer(0, 1) \n\
469
 
  !Shift<Key>Down:  MovePointer(0, 10) \n\
470
 
  None<Key>Right:   MovePointer(1, 0) \n\
471
 
  !Shift<Key>Right: MovePointer(10, 0) \n\
472
 
  None<Key>Left:    MovePointer(-1, 0) \n\
473
 
  !Shift<Key>Left:  MovePointer(-10, 0) \n\
474
 
  \
475
 
  None<Key>F1:   Mode(Via) \n\
476
 
  None<Key>F2:   Mode(Line) \n\
477
 
  None<Key>F3:   Mode(PasteBuffer) \n\
478
 
  !Shift<Key>F3: PasteBuffer(Rotate, 1) \n\
479
 
  None<Key>F4:   Mode(Rectangle) \n\
480
 
  None<Key>F5:   Mode(Text) \n\
481
 
  None<Key>F6:   Mode(Polygon) \n\
482
 
  None<Key>F7:   Mode(Thermal) \n\
483
 
  None<Key>F8:   Mode(Arc) \n\
484
 
  None<Key>F9:  Mode(Rotate) \n\
485
 
  \
486
 
  None<Key>[:   Mode(Save) \
487
 
                Mode(Move) \
488
 
                Mode(Notify) \n\
489
 
  None<Key>]:   Mode(Notify) \
490
 
                Mode(Restore) \n\
491
 
  \
492
 
  None<Btn1Down>:        Mode(Notify) \n\
493
 
  !Shift<Btn1Down>:      Mode(Notify) \n\
494
 
  None<Btn1Up>:          Mode(Release) \n\
495
 
  !Shift<Btn1Up>:        Mode(Release) \n\
496
 
  !Ctrl<Btn1Down>:       Mode(Save) \
497
 
                         Mode(None) \
498
 
                         Mode(Restore) \
499
 
                         Mode(Notify) \n\
500
 
  !Shift Ctrl<Btn1Down>: Mode(Save) \
501
 
                         Mode(Remove) \
502
 
                         Mode(Notify) \
503
 
                         Mode(Restore) \n\
504
 
  \
505
 
  !Shift<Btn2Down>:     Atomic(Save) \
506
 
                        Mode(Save) \
507
 
                        PasteBuffer(Clear) \
508
 
                        PasteBuffer(AddSelected) \
509
 
                        RemoveSelected() \
510
 
                        Atomic(Restore) \
511
 
                        Mode(PasteBuffer) \n\
512
 
  !Shift<Btn2Up>:       Mode(Notify) \
513
 
                        Atomic(Block) \
514
 
                        PasteBuffer(Clear) \
515
 
                        Mode(Restore) \n\
516
 
  None<Btn2Down>:          Mode(Save) \
517
 
                           Mode(Move) \
518
 
                           Mode(Notify) \n\
519
 
  None<Btn2Up>:            Mode(Notify) \
520
 
                           Mode(Restore) \n\
521
 
  !BTNMOD<Btn2Down>:       Mode(Save) \
522
 
                           Mode(Copy) \
523
 
                           Mode(Notify) \n\
524
 
  !BTNMOD<Btn2Up>:         Mode(Notify) \
525
 
                           Mode(Restore) \n\
526
 
  !Shift BTNMOD<Btn2Down>: Display(ToggleRubberbandMode) \
527
 
                           Mode(Save) \
528
 
                           Mode(Move) \
529
 
                           Mode(Notify) \n\
530
 
  !Shift BTNMOD<Btn2Up>:   Mode(Notify) \
531
 
                           Mode(Restore) \
532
 
                           Display(ToggleRubberbandMode) \n\
533
 
  \
534
 
  None<Btn3Down>:          Atomic(Save) \
535
 
                           Select(ToggleObject) \n\
536
 
  None<Btn3Down>,None<Btn3Motion>: Atomic(Close) \
537
 
                           Undo() \
538
 
                           Mode(Save) \
539
 
                           Mode(None) \
540
 
                           Atomic(Save) \
541
 
                           Unselect(All) \
542
 
                           Atomic(Restore) \
543
 
                           Select(Block) \n\
544
 
  None<Btn3Up>:            Select(Block) \
545
 
                           Atomic(Block) \
546
 
                           Mode(None) \
547
 
                           Mode(Restore) \n\
548
 
  !Shift <Btn3Down>:       Mode(Save) \
549
 
                           Mode(None) \
550
 
                           Unselect(Block) \n\
551
 
  !Shift <Btn3Up>:         Unselect(Block) \
552
 
                           Mode(Restore) \n\
553
 
  !BTNMOD<Btn3Down>:    Mode(Save) \
554
 
                        Mode(None) \
555
 
                        Select(Block) \n\
556
 
  !BTNMOD<Btn3Up>:      Select(Block) \
557
 
                        Mode(Restore) \n
558