[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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] | [ ? ] |
Pcb
defines the
following resources:
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.
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.
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.
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 |
m4
is highly recommended.
See also, the command-line option -lelement.
cat %f |
cat %f |
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.
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 |
Pcb
uses the command specified
by this resource to list the contents of a library.
/usr/X11R6/lib/X11/pcb/ListLibraryContents.sh %p %f |
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.
%f
in the string. It must read the data from
its standard input. The default command is:
cat - > %f |
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.
Refer also to 4. Command-Line Options.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
None<Key>w: AddRats(AllRats) !Shift<Key>w: AddRats(SelectedRats) None<Key>o: DeleteRats(AllRats) AddRats(AllRats) !Shift<Key>o: DeleteRats(SelectedRats) AddRats(SelectedRats) |
!Mod1<Key>s: Change2ndSize(Object, +5) !Mod1 Shift<Key>s: Change2ndSize(Object, -5) |
!Ctrl<Key>h: ChangeHole(Object) |
None<Key>n: ChangeName(Object) |
!Ctrl<Key>o: ChangeOctagon(Object) |
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) |
None<Key>q: ChangeSquare(Object) |
<Key>colon: Command() |
!Shift<Key>c: Connection(Reset) None<Key>f: Connection(Find) !Shift<Key>f: Connection(Reset) |
None<Key>e: DeleteRats(AllRats) !Shift<Key>e: DeleteRats(SelectedRats) |
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) |
!Ctrl<key>m: MarkCrosshair() |
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) |
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) |
None<Key>m: MoveToCurrentLayer(Object) !Shift<Key>m: MoveToCurrentLayer(SelectedObjects) |
!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) |
None<Key>p: Polygon(Close) !Shift<Key>p: Polygon(Close) |
POSIX (extention) 8.3 filename --------------------------------------------- *_componentmask.* cmsk.* *_componentsilk.* cslk.* *_soldermask.* smsk.* *_soldersilk.* sslk.* *_drill.* dril.* *_groundplane.* gpl.* *_group[1..8].* [..8].* |
("|")
character. Any "%f"
in a command is replaced
with the current filename. The function is available from the file menu.
There are no defaults.
<Message>WM_PROTOCOLS: Quit() |
!Shift<Key>r: Redo() |
!Ctrl<Key>1: RouteStyle(1) ... !Ctrl<Key>4: RouteStyle(4) |
None<Btn3Down>: Select(ToggleObject) None<Btn3Down>,None<Btn3Motion>: See resource file - this is complex |
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) |
None<Key>Tab: SwapSides() |
None<Key>1: SwitchDrawingLayer(1) ... None<Key>8: SwitchDrawingLayer(8) |
None<Key>h: ToggleHideName(Object) !Shift<Key>h: ToggleHideName(SelectedElements) |
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) |
!Shift <Btn3Down>: Mode(Save) Mode(None) Unselect(Block) !Shift <Btn3Up>: Unselect(Block) Mode(Restore) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Pcb
makes use of a nice X11
feature; calling several action routines for one event.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |