[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. X11 Interface

This chapter gives an overview about the additional X11 resources which are defined by Pcb as well as the defined action routines.

5.1 Non-Standard X11 Application Resources  Non-standard X11 application resources.
5.2 Actions  A list of available action routines.
5.3 Default Translations  A list of the default key translations (as shipped).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.1 Non-Standard X11 Application Resources

In addition to the toolkit resources, Pcb defines the following resources:

`absoluteGrid (boolean)'
Selects if either the grid is relative to the position where it has changed last or absolute, the default, to the origin (0,0).

`alignmentDistance (dimension)'
Specifies the distance between the boards outline to the alignment targets.

`allDirectionLines (boolean)'
Enables (default) or disables clipping of new lines to 45 degree angles.

`backupInterval (int)'
Pcb has an automatic backup feature which saves the current data every n seconds. The default is 300 seconds. A value of zero disables the feature. The backup file is named `/tmp/PCB.%i.backup'. %i is replaced by the process ID. See also, the command-line option -backup.

`Bloat (dimension)'
Specifies the minimum spacing design rule in mils.

`charactersPerLine (int)'
Pcb uses this value to determine the page width when creating lists. N, the number of characters per line, defaults to 80. See also, the command-line option -c.

`connectedColor (color)'
All pins, vias, lines and rectangles which are selected during a connection search are drawn with this color. The default value is determined by XtDefaultForeground.

`cross hairColor (color)'
This color is used to draw the cross hair cursor. The color is a result of a XOR operation with the contents of the Layout area. The result also depends on the default colormap of the X11 server because only the colormap index is used in the boolean operation and Pcb doesn't create its own colormap. The default setting is XtDefaultForeground.

`elementColor (color)'
`elementSelectedColor (color)'
The elements package part is drawn in these colors, for normal and selected mode, respectively, which both default to XtDefaultForeground.

`elementCommand (string)'
Pcb uses a user defined command to read element files. This resources is used to set the command which is executed by the users default shell. Two escape sequences are defined to pass the selected filename (%f) and the current search path (%p). The command must write the element data to its standard output. The default value is
 
    M4PATH="%p";export M4PATH;echo 'include(%f)' | m4
Using the GNU version of m4 is highly recommended. See also, the command-line option -lelement.

`elementPath (string)'
A colon separated list of directories or commands (starts with '|'). The path is passed to the program specified in elementCommand together with the selected elementname. A specified command will be executed in order to create entries for the fileselect box. It must write its results to stdout one entry per line. See also, the user-command le[!].

`fileCommand (string)'
The command is executed by the user's default shell whenever existing layout files are loaded. Data is read from the command's standard output. Two escape sequences may be specified to pass the selected filename (%f) and the current search path (%p). The default value is:
 
    cat %f
See also, the command-line option -lfile.

`filePath (string)'
A colon separated list of directories or commands (starts with '|'). The path is passed to the program specified in fileCommand together with the selected filename. A specified command will be executed in order to create entries for the fileselect box. It must write its results to stdout one entry per line. See also, the user-command l[!].

`fontCommand (string)'
Loading new symbol sets also is handled by an external command. You again may pass the selected filename and the current search path by passing %f and %p in the command string. Data is read from the commands standard output. This command defaults to
 
    cat %f
See also, the command-line option -lfont.

`fontFile (string)'
The default font for new layouts is read from this file which is searched in the directories as defined by the resource fontPath. Searching is only performed if the filename does not contain a directory component. The default filename is `default_font'. See also, the command-line option -fontfile.

`fontPath (string)'
This resource, a colon separated list of directories, defines the searchpath for font files. See also, the resource fontFile.

`grid (int)'
This resources defines the initial value of one cursor step. It defaults to 100 mil and any changes are saved together with the layout data.

`gridColor (color)'
This color is used to draw the grid. The color is a result of a INVERT operation with the contents of the Layout area. The result also depends on the default colormap of the X11 server because only the colormap index is used in the boolean operation and Pcb doesn't create its own colormap. The default setting is XtDefaultForeground.

`elementColor (color)'
Elements localted on the opposite side of the board are drawn in this color. The default is XtDefaultForeground.

`layerColor1..8 (color)'
`layerSelectedColor1..8 (color)'
These resources define the drawing colors of the different layers in normal and selected state. All values are preset to XtDefaultForeground.

`layerGroups (string)'
The argument to this resource is a colon separated list of comma separated layernumbers (1..8). All layers within one group are switched on/off together. The default setting is 1:2:3:...:8 which means all layers are handled separatly. Grouping layers one to three looks like 1,2,3:4:...:8 See also, the command-line option -lg.

`layerName1..8 (string)'
The default name of the layers in a new layout are determined by these resources. The defaults are empty strings.

`libraryCommand (string)'
Pcb uses a command to read element data from libraries. The resources is used to set the command which is executed by the users default shell. Three escape sequences are defined to pass the selected filename (%f), the current search path (%p) as well (%a) as the three parameters template, value and package to the command. It must write the element data to its standard output. The default value is
 
    /usr/X11R6/lib/X11/pcb/QueryLibrary.sh %p %f %a

`libraryContentsCommand (string)'
Similar to libraryCommand, Pcb uses the command specified by this resource to list the contents of a library.
 
	/usr/X11R6/lib/X11/pcb/ListLibraryContents.sh %p %f
is the default.

`libraryFilename (string)'
The resource specifies the name of the library. The default value is pcblib.

`libraryPath (string)'
A colon separated list of directories that will be passed to the commands specified by elementCommand and elementContentsCommand.

`lineThickness (dimension)'
The value, int the range [1..250], defines the initial thickness of new lines. The value is preset to ten mil.

`media (<predefined> | <width>x<height>+-<left_margin>+-<top_margin>)'
The default (user defined) media of the PostScript device. Predefined values are a3, a4, a5, letter, tabloit, ledger, legal, and executive. The second way is to specify the medias width, height and margins in mil. The resource defaults to a4 size.

`offLimitColor (color)'
The area outside the current maximum settings for width and height is drawn with this color. The default value is determined by XtDefaultBackground.

`pinColor (color)'
`pinSelectedColor(color)'
This resource defines the drawing color of pins and pads in both states. The values are preset to XtDefaultForeground.

`pinoutFont (string)'
This fonts are used to display pin names. There is one font for each zoom value. The values are preset to XtdefaultFont.

`pinoutNameLength (int)'
This resource limits the number of characters which are displayed for pin names in the pinout window. By default the string length is limited to eight characters per name. See also, the command-line option -pnl.

`pinoutOffsetX (int)'
`pinoutOffsetY (int)'
These resources determine the offset in mil of the circuit from the upper left corner of the window when displaying pinout information. Both default to 100 mil.

`pinoutTextOffsetX (int)'
`pinoutTextOffsetY (int)'
The resources determine the distance in mil between the drilling hole of a pin to the location where its name is displayed in the pinout window. They default to X:50 and Y:0.

`pinoutZoom (int)'
Sets the zoom factor for the pinout window according to the formula: scale = 1:(2 power value). Its default value is two which results in a 1:4 scale. See also, the command-line option -pz.

`printCommand (string)'
Default file for printouts. If the name starts with a '|' the output is piped through the command. A %f is replaced by the current filename. There is no default file or command.

`raiseLogWindow (boolean)'
The log window will be raised when new messages arrive if this resource is set true, the default.

`ratCommand (string)'
Default command for reading a netlist. A %f is replaced by the netlist filename. Its default value is "cat %f".

`ratPath (string)'
Default path to look for netlist files. It's default value is "."

`resetAfterElement (boolean)'
If set to true, all found connections will be reset before a new element is scanned. This will produce long lists when scanning the whole layout for connections. The resource is set to false by default. The feature is only used while looking up connections of all elements. See also, the command-line option -reset, +reset.

`ringBellWhenFinished (boolean)'
Whether to ring the bell (the default) when a possibly lengthy operation has finished or not. See also, the command-line option -ring, +ring.

`routeStyle (string)'
Default values for the menu of routing styles (seen in the sizes menu). The string is a comma separated list of name, line thickness, via diameter, and via drill size. e.g. "Fat,50,100,40:Skinny,8,35,20:75Ohm,110,110,20" See also, the command-line option -rs and Sizes Menu

`rubberBandMode (boolean)'
Whether rubberband move and rotate (attached lines stretch like rubberbands) is enabled (the default).

`saveCommand (string)'
This command is used to save data to a layout file. The filename may be indicated by placing %f in the string. It must read the data from its standard input. The default command is:
 
    cat - > %f
See also, the command-line option -sfile.

`saveInTMP (boolean)'
Enabling this resource will save all data which would otherwise be lost in a temporary file `/tmp/PCB.%i.save'. %i is replaced by the process ID. As an example, loading a new layout when the old one hasn't been saved would use this resource. See also, the command-line option -save, +save.

`saveLastCommand (boolean)'
Enables the saving of the last entered user command. The option is disabled by default. See also, the command-line option -s, +s.

`Shrink (dimension)'
Specifies the minimum overlap (touching) design rule in mils.

`size (<width>x<height>)'
Defines the width and height of a new layout. The default is 7000x5000.

`stipllePolygons (boolean)'
Determines whether to display polygons on the screen with a stippled pattern. Stippling can create some amount of transperency so that you can still (to some extent) see layers beneath polygons. It defaults to False.

`textScale (dimension)'
The font scaling in percent is defined by this resource. The default is 100 percent.

`useLogWindow (boolean)'
Several subroutines send messages to the user if an error occurs. This resource determines if they appear inside the log window or as a separate dialog box. See also, the resource raiseLogWindow and the command line option -loggeometry. The default value is true.

`viaColor (color)'
`viaSelectedColor (color)'
This resource defines the drawing color of vias in both states. The values are preset to XtDefaultForeground.

`viaThickness (dimension)'
`viaDrillingHole (dimension)'
The initial thickness and drilling hole of new vias. The values must be in the range [30..400] with at least 20 mil of copper. The default thickness is 40 mil and the default drilling hole is 20 mil.

`volume (int)'
The value is passed to XBell() which sets the volume of the X speaker. The value lies in the range -100..100 and it defaults to the maximum volume of 100.

`warnColor (color)'
This resources defines the color to be used for drawing pins and pads when a warning has been issued about them.

`zoom (int)'
The initial value for output scaling is set according to the following formula: scale = 1:(2 power value). It defaults to three which results in an output scale of 1:8.

Refer also to 4. Command-Line Options.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.2 Actions

All user accessible commands may be bound to almost any X event. Almost no default binding for commands is done in the binaries, so it is vital for the application that at least a system-wide application resource file exists. This file normally resides in the `X11/lib/app-defaults' directory and is called `Pcb'. The bindings to which the manual refers to are the ones as defined by the shipped resource file. Besides binding an action to an X11 event, you can also execute any action command using a ":" command (see 3. User Commands).

Take special care about translations related to the functions keys and the pointer buttons because most of the window managers use them too. Change the file according to your hardware/software environment. You may have to replace all occurances of baseTranslations to translations if you use a X11R4 server.

Passing Object as an argument to an action routine causes the object at the cursor location to be changed, removed or whatever. If more than one object is located at the cross hair position the smallest type is used. If there are two of the same type the newer one is taken. SelectedObjects will handle all selected and visible objects.

`AddRats(AllRats|SelectedRats)'
Adds rat-lines to the layout using the loaded netlist file (see the :rn, 3. User Commands.). Rat lines are added on the active layer using the current line thickness shown in the status line. Only missing connectivity is added by the AddRats command so if, for example, the layout is complete nothing will be added. Rat lines are drawn on the screen with a stippled pattern to make them easier to identify since they cannot appear in a completed layout. The rat-lines are added in the minimum length straight-line tree pattern (always ending on pins or pads) that satisfies the missing connectivity in the circuit. If a SMD pad is unreachable on the active layer, a warning will be issued about it and the rat-line to that pad will not be generated. If connections exist on the board which are not listed in the netlist while AllRats are being added, warning messages will be issued and the affected pins and pads will be drawn in a special warnColor until the next Notify() event. If the entire layout agrees completely with the net-list a message informs you that the layout is complete and no rat-lines are added (since none are needed). If SelectedRats is passed as the argument, only those missing connections that might connect among the selected pins and pads are drawn. Default:
 
None<Key>w:	AddRats(AllRats)
!Shift<Key>w:	AddRats(SelectedRats)
None<Key>o:	DeleteRats(AllRats) AddRats(AllRats)
!Shift<Key>o:	DeleteRats(SelectedRats) AddRats(SelectedRats)

`Atomic(Save|Restore|Block|Close)'
Controls the undo grouping of sequences of actions. Before the first action in a group, Atomic(Save) should be issued. After each action that might be undoable, Atomic(Restore) should be issued. Atomic(Block) concludes and save the undo grouping if there was anything in the group to undo. Atomic(Close) concludes and save the undo grouping even if nothing was actually done. Thus it might produce an "empty" undo. This can be useful when you want to use undo in a group of actions.

`Bell([-100..100])'
Rings the bell of your display. If no value is passed the setting of the resource volume will be used.

`ChangeDrillSize(Object, value)'
`ChangeDrillSize(SelectedPins|SelectedVias, value)'
This action routine changes the drilling hole of pins and vias. If value starts with + or -, then it adds (or subtracts) value from the current hole diameter, otherwise it sets the diameter to the value. Default:
 
!Mod1<Key>s:       Change2ndSize(Object, +5)
!Mod1 Shift<Key>s: Change2ndSize(Object, -5)

`ChangeHole(Object|SelectedVias)'
This action routine converts a via to and from a hole. A hole is a via that has no copper annulus. The drill size for the via determines the hole diameter.
 
!Ctrl<Key>h:	ChangeHole(Object)

`ChangeName(Object)'
`ChangeName(Layer|Layout)'
Changes the name of the visible object at the cursor location. A text object doesn't have a name therefore the text string itself is changed. The element name currently used for display is always the one changed with this command. See Display(Description|NameOnPCB|Value) for details. Passing Layer changes the current layers name. Default:
 
None<Key>n: ChangeName(Object)

`ChangeOctagon(Object|SelectElements|SelectedPins|SelectedVias|Selected)'
Toggles what shape the affected pin(s) or via(s) will be drawn when they are not square. The shape will either be round or octagonal. Default:
 
!Ctrl<Key>o: ChangeOctagon(Object)

`ChangeSize(Object, value)'
`ChangeSize(SelectedLines|SelectedPins|SelectedVias, value)'
`ChangeSize(SelectedPads|SelectedTexts|SelectedNames, value)'
`ChangeSize(SelectedElements, value)'
To change the size of an object you have to bind these action to some X event (or use :ChangeSize(...)). If value begins with a + or - then the value will be added (or subtracted) from the current size, otherwise the size is set equal to value. Range checking is done to insure that none of the maximum/minimums of any size are violated. If Object is passed then a single object at the cursor location is changed. If any of the Selected arguments are passed then all selected and visible objects of that type are changed. If the type being modified is an element, then the thickness of the silkscreen lines defining the element is changed. Default:
 
None<Key>s:   ChangeSize(Object, +5)
!Shift<Key>s: ChangeSize(Object, -5)

`ChangeSquare(Object|SelectedElements|SelectedPins)'
Toggles the setting of the square flag. The flag is used to identify a certain pin, normally the first one, of circuits. It is also used to make SMD pads have square ends.
 
None<Key>q:   ChangeSquare(Object)

`Command()'
Calling Command() pops up an input line at the bottom of the window which allows you to enter commands. Including all action commands! The dialog ends when None<Key>Return to confirm or None<Key>Escape to abort is entered. Default:
 
<Key>colon: Command()

`Connection(Find)'
`Connection(ResetFoundLinesAndRectangles|ResetPinsViasAndPads|Reset)'
The Connection() action is used to mark all connections from one pin, line or via to others. The ResetFoundLinesAndRectangles, ResetFoundPinsAndVias and Reset arguments may be used to reset all marked lines and rectangles, vias and pins or all of them. The search starts with the pin or via at the cursor position. All found objects are drawn with the color defined by the resource connectedColor. See also, Display(Description|NameOnPCB|Value). Default:
 
!Shift<Key>c: Connection(Reset)
None<Key>f:   Connection(Find)
!Shift<Key>f: Connection(Reset)

`DeleteRats(AllRats|SelectedRats)'
This routine deletes either all rat-lines in the layout, or only the selected and visible ones. Non-rat-lines and other layout objects are unaffected. Default:
 
None<Key>e:   DeleteRats(AllRats)
!Shift<Key>e: DeleteRats(SelectedRats)

`Display(Description|NameOnPCB|Value)'
`Display(Toggle45Degree|CycleClip)'
`Display(Grid|ToggleGrid)'
`Display(ToggleRubberBandMode)'
`Display(Center|ClearAndRedraw|Redraw)'
`Display(Pinout|PinOrPadName)'
This action routines handles some output related settings. It is used to center the display around the cursor location and to redraw the output area optionally after clearing the window. Centering is done with respect to the grid setting. Displaying the grid itself may be switched on and off by Grid but only if the distance between two pixels exceeds 1_DISTANCE pixels. Pcb is able to handle several labels of an element. One of them is a description of the functionality (eg resistor), the second should be a unique identifier (R1) whereas the last one is a value (100k). The Display() action selects which of the names is displayed. It also controls which name will be affected by the ChangeName command. If ToggleGrid is passed, Pcb changes between relative ('rel' in the statusline) and absolute grid (an 'abs' in the statusline). Relative grid means the pointer position when the command is issued is used as the grid origin; while (0,0) is used in the absolute grid case. Passing Pinout displays the pinout of the element at the current cursor location whereas PinOrPadName toggles displaying of the pins or pads name under the cursor. If none of them matches but the cursor is inside of an element, the flags is toggled for all of its pins and pads. For details about rubberbands see also the details about Mode. Default:
 
None<Key>c:  Display(Center)
None<Key>d:  Display(PinOrPadName)
!Shift<Key>d: Display(Pinout)
None<Key>r:  Display(ClearAndRedraw)
None<Key>.:  Display(Toggle45Degree)
None<Key>/:  Display(CycleClip)

`DRC()'
Initiates design rule checking of the entire layout. Must be repeated until no errors are found.

`EditLayerGroups()'
Pops up a dialog box to edit the layergroup setting. The function is also available from the Objects menu. There are no defaults.

`Load(ElementToBuffer|Layout|LayoutToBuffer|Nelist)'
This routine pops up a fileselect box to load layout, element data, or netlist. The passed filename for layout data is saved and may be reused. ElementToBuffer and LayoutToBuffer load the data into the current buffer. There are no defaults.

`MarkCrosshair()'
This routine marks the current cursor location with an X, and then the cursor display shows both absolute position and position relative to the mark. If a mark is already present, this routine removes it and stops displaying relative cursor coordinates. Defaults:
 
!Ctrl<key>m:	MarkCrosshair()

`Mode(Copy|InsertPoint|Line|Move|None|PasteBuffer|Polygon|Thermal)'
`Mode(Remove|Rectangle|RubberbandMove|Text|Via)'
`Mode(Cycle)'
`Mode(Notify)'
`Mode(Save|Restore)'
Switches to a new mode of operation. The active mode is displayed by a thick line around the matching mode selector button. Most of the functionality of Pcb is implemented by selecting a mode and calling Mode(Notify). The arguments Line, Polygon, Rectangle, Text and Via are used to create the appropriate object whenever Mode(Notify) is called. Some of them, such as Polygon, need more than one call for one object to be created. InsertPoint adds points to existing polygons or lines. Save and Restore are used to temporarily save the mode, switch to another one, call Mode(Notify) and restore the saved one. Have a look at the application resource file for examples. Copy and Move modes are used to change an object's location and, optionally, to create a new one. The first call of Mode(Notify) attaches the object at the pointer location to the cross hair whereas the second one drops it to the layout. The rubberband version of move performs the move while overriding the current rubberband mode. Passing PasteBuffer attaches the contents of the currently selected buffer to the cross hair. Each call to Mode(Notify) pastes this contents to the layout. Mode(Cycle) cycles through the modes available in the mode-button pallete. Mode(None) switches all modes off. Default:
 
<Key>Escape:             Mode(None)
<Key>space:              Mode(Cycle)
None<Key>BackSpace:      Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore) 
None<Key>Delete:         Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore) 
None<Key>F1:             Mode(Via)
None<Key>F2:             Mode(Line)
None<Key>F3:             Mode(PasteBuffer)
None<Key>F4:             Mode(Rectangle)
None<Key>F5:             Mode(Text)
None<Key>F6:             Mode(Polygon)
None<Key>F7:             Mode(Thermal)
None<Key>F8:		 Mode(Arc)
None<Key>Insert:         Mode(InsertPoint)
None<Key>[:              Mode(Save) Mode(Move) Mode(Notify)
None<Key>]:              Mode(Notify) Mode(Restore)
None<Btn1>:          Mode(Notify)
!Shift Ctrl<Btn1>:   Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore)
None<Btn2Down>:          Mode(Save) Mode(Move) Mode(Notify)
None<Btn2Up>:            Mode(Notify) Mode(Restore)
!Mod1<Btn2Down>:       Mode(Save) Mode(Copy) Mode(Notify)
!Mod1<Btn2Up>:         Mode(Notify) Mode(Restore)
Shift Mod1<Btn2Down>: Mode(Save) Mode(RubberbandMove) Mode(Notify)

`MovePointer(delta_x, delta_y)'
With this function it is possible to move the cross hair cursor by using the cursor keys. The X server's pointer follows because the necessary events are generated by Pcb. All movements are performed with respect to the currently set grid value. Default:
 
None<Key>Up:      MovePointer(0, -1)
!Shift<Key>Up:    MovePointer(0, -10)
None<Key>Down:    MovePointer(0, 1)
!Shift<Key>Down:  MovePointer(0, 10)
None<Key>Right:   MovePointer(1, 0)
!Shift<Key>Right: MovePointer(10, 0)
None<Key>Left:    MovePointer(-1, 0)
!Shift<Key>Left:  MovePointer(-10, 0)

`MoveToCurrentLayer(Object|SelectedObjects)'
The function moves a single object at the cross hair location or all selected objects to the current layer. Elements are not moveable by this function. They have to be deleted and replaced on the other side. If a line segment is moved and the movement would result in a loss of connectivity to another segment then via(s) are automatically added to maintain the connectivity.
 
None<Key>m:       MoveToCurrentLayer(Object)
!Shift<Key>m:     MoveToCurrentLayer(SelectedObjects)

`New()'
Clear the current layout and starts a new one after entering its name. Refer to the resource backup for more information. No defaults.

`PasteBuffer(AddSelected|Clear|1..5)'
`PasteBuffer(Rotate, 1..3)'
`PasteBuffer(Convert)'
This action routine controls and selects the pastebuffer as well as all cut-and-paste operations. Passing a buffer number selects one in of the range 1..5. The statusline is updated with the new number. Rotate performs a number of 90 degree counter clockwise rotations of the buffer contents. AddSelected as first argument copies all selected and visible objects into the buffer. Passing Clear removes all objects from the currently selected buffer. Convert causes the contents of the buffer (lines, arc, vias) to be converted into an element definition. Refer to 2.5.7 Pastebuffer for examples. Default:
 
!Ctrl<Key>x:       PasteBuffer(Clear) PasteBuffer(AddSelected)
                   Mode(PasteBuffer)
!Shift Ctrl<Key>x: PasteBuffer(Clear) PasteBuffer(AddSelected)
                   RemoveSelected() Mode(PasteBuffer)
!Mod1<Key>c:       PasteBuffer(Clear) PasteBuffer(AddSelected)
!Mod1<key>x:       PasteBuffer(Clear) PasteBuffer(AddSelected)
		   RemoveSelected()
!Shift<Key>1:      PasteBuffer(1)
!Shift<Key>2:      PasteBuffer(2)
!Shift<Key>3:      PasteBuffer(3)
!Shift<Key>4:      PasteBuffer(4)
!Shift<Key>5:      PasteBuffer(5)
None<Key>F3:       Mode(PasteBuffer)

`Polygon((Close|PreviousPoint)'
Polygons need a special action routine to make life easier. Calling Polygon(PreviousPoint) resets the newly entered corner to the previous one. The Undo action will call Polygon(PreviousPoint) when appropriate to do so. Close creates the final segment of the polygon. This may fail if clipping to 45 degree lines is switched on, in which case a warning is issued. Default:
 
None<Key>p:             Polygon(Close)
!Shift<Key>p:           Polygon(Close)

`Print()'
Pops up a print control box that lets you select the output device, scaling and many more options. Each run creates all files that are supported by the selected device. These are mask files as well as drilling files, silk screens and so on. The table shows the filenames for all possible files:
 
        POSIX (extention)             8.3 filename
		---------------------------------------------
		*_componentmask.*             cmsk.*
		*_componentsilk.*             cslk.*
		*_soldermask.*                smsk.*
		*_soldersilk.*                sslk.*
		*_drill.*                     dril.*
		*_groundplane.*               gpl.*
		*_group[1..8].*       [..8].*
The output may be sent to a postprocessor by starting the filename with the pipe ("|") character. Any "%f" in a command is replaced with the current filename. The function is available from the file menu. There are no defaults.

`Quit()'
Quits the application after confirming the operation. Default:
 
<Message>WM_PROTOCOLS: Quit()

`Redo()'
This routine allows you to recover from the last undo command. You might want to do this if you thought that undo was going to revert something other than what it actually did (in case you are confused about which operations are un-doable), or if you have been backing up through a long undo list and over-shoot your stopping point. Any change that is made since the undo in question will trim the redo list. For example if you add ten lines, then undo three of them you could use redo to put them back, but if you move a line on the board before performing the redo, you will lose the ability to "redo" the three "undone" lines. Default:
 
!Shift<Key>r:	Redo()

`RemoveSelected()'
This routine removes all visible and selected objects. There are no defaults.

`Report(Object|DrillReport)'
This routine pops up a dialog box describing the various characteristics of an object (or piece of an object such as a pad or pin) in the layout at the cursor position, or a report about all of the drill holes in the layout. There are no defaults.

`RouteStyle(1|2|3|4)'
This routine copies the sizes corresponding to the numbered route style into the active line thicknes, via diameter, and via drill size. Defaults:
 
!Ctrl<Key>1: RouteStyle(1)
...
!Ctrl<Key>4: RouteStyle(4)

`Save(Layout|LayoutAs)'
`Save(AllConnections|AllUnusedPins|ElementConnections)'
Passing Layout saves the layout using the file from which it was loaded or, if it is a new layout, calls Save(LayoutAs) which queries the user for a filename. The values: AllConnections, AllUnusedPins and ElementConnections start a connection scan and save all connections, all unused pins or the connections of a single element to a file. There are no defaults.

`Select(All|Block|Connection|ToggleObject)'
`Select(ElementByName|ObjectByName|PadByName|PinByName)'
`Select(TextByName|ViaByName)'
Toggles either the selection flag of the object at the cross hair position (ToggleObject) or selects all visible objects, all inside a rectangle or all objects which have been found during the last connection scan. The ByName functions use a regular expression search, always case insensitive, to select the objects. Default:
 
None<Btn3Down>:  Select(ToggleObject)
None<Btn3Down>,None<Btn3Motion>: See resource file - this is complex

`SetValue(Grid|LineSize|TextScale|ViaDrillingHole|ViaSize|Zoom, value)'
Some internal values may be changed online by this function. The first parameter specifies which data has to be changed. The other one determines if the resource is set to the passed value, if value is specified without sign, or increments/decrements if it is specified with a plus or minus sign. The function doesn't change any existing object only the initial values of new objects. Use the ChangeSize() and ChangeDrillSize() to change existing objects. Default:
 
None<Key>g:        SetValue(Grid, +5)
!Shift<Key>g:      SetValue(Grid, -5)
None<Key>l:        SetValue(LineSize, +5)
!Shift<Key>l:      SetValue(LineSize, -5)
None<Key>t:        SetValue(TextScale, +10)
!Shift<Key>t:      SetValue(TextScale, -10)
None<Key>v:        SetValue(ViaSize, +5)
!Shift<Key>v:      SetValue(ViaSize, -5)
!Mod1<Key>v:       SetValue(ViaDrillingHole, +5)
!Mod1 Shift<Key>v: SetValue(ViaDrillingHole, -5)
None<Key>z:        SetValue(Zoom, -1)
!Shift<Key>z:      SetValue(Zoom, +1)

`SwapSides()'
This routine changes the board side you are viewing. Default:
 
None<Key>Tab:      SwapSides()

`SwitchDrawingLayer(value)'
Makes layer numer 1..8 the current one. Default:
 
None<Key>1:        SwitchDrawingLayer(1)
...
None<Key>8:        SwitchDrawingLayer(8)

`ToggleHideName(Object|SelectedElements)'
Toggles whether the element's name is displayed or hidden. If it is hidden you won't see it on the screen and it will not appear on the silk layer when you print the layout.
 
None<Key>h:	ToggleHideName(Object)
!Shift<Key>h:	ToggleHideName(SelectedElements)

`Undo()'
`Undo(ClearList)'
The unlimited undo feature of Pcb allows you to recover from most operations that materially affect you work. Calling Undo() without any parameter recovers from the last (non-undo) operation. ClearList is used to release the allocated memory. ClearList is called whenever a new layout is started or loaded. See also Redo. Default:
 
None<Key>u:        Undo()
!Shift Ctrl<Key>u: Undo(ClearList)

`Unselect(All|Block|Connection)'
Unselects all visible objects, all inside a rectangle or all objects which have been found during the last connection scan. Default:
 
!Shift <Btn3Down>: Mode(Save) Mode(None) Unselect(Block)
!Shift <Btn3Up>:   Unselect(Block) Mode(Restore)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.3 Default Translations

This section covers some default translations of key and button events as defined in the shipped default application resource file. Most of them have already been listed in 5.2 Actions. Pcb makes use of a nice X11 feature; calling several action routines for one event.

`None<Key>BackSpace:'
`None<key>Delete:'
`!Shift<Key>BackSpace:'
`!Shift Ctrl<Btn1>:'
The object at the cursor location is removed by None<Key>BackSpace or Shift Ctrl<Btn1> whereas Shift<Key>BackSpace also removes all other objects that are fully-connected to the one at the cursor location.

`!Mod1 Ctrl<Key>Left:'
`!Mod1 Ctrl<Key>Right:'
`!Mod1 Ctrl<Key>Up:'
`!Mod1 Ctrl<Key>Down:'
Scroll one page in one of the four directions.

`None<Key>Left:, !Shift<Key>Left:'
`None<Key>Right:, !Shift<Key>Right:'
`None<Key>Up:, !Shift<Key>Up:'
`None<Key>Down:, !Shift<Key>Down:'
Move cross hair either one or ten points in grid.

`None<Key>Return:'
Finished user input, selects the 'default' button of dialogs.

`None<Key>Escape:'
Mode(Reset), aborts user input, selects the 'abort' button of dialogs or resets all modes.

`None<Btn2Down>, Btn2<Motion>, None<Btn2Up>:'
`!Mod1<Btn2Down>, Btn2<Motion>, !Mod1<Btn2Up>:'
The first sequence moves the object or element name at the cursor location. The second one copies the objects. Copying isn't available for element names.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Build Daemon user on August, 14 2004 using texi2html