## Allegro PCB Design Tutorial

### alias and funckey

To execute commands in Allegro you need to go through a series of commands. For example to add a board out line, you click on Add then line then you select the respective class and subclass. It is possible that you can use the special keys to acheive same function. By default Allegro provides a small set of alternate way of these function using keyboard. For example Control + F5 is used for Display Color/Visibility function.
The good news is that you can define your own keys and function. This is done using two ways. Alias and funckey.

### Alias

You can use the alias command to remap the keyboard function keys to a command or series of commands. You can also define the class and subclass separated by a semicolon. Examples:

alias F5 "add line ; class board geometry ; subclass Outline"

In the above example, pressing the F5 key will add a line and will select the Board Geometry -> Outline.

### funckey

funckey was added in later versions of the Allegro. Using the funckey command you can map a command or series of commands separated by a semicolon.

Examples:

Here is the real world example where ct will add a connect on top layer while the cb will add a connect on bottom layer
funckey ct "add connect; class Etch ; subclass Top"
funckey cb "add connect; class Etch ; subclass Bottom"

Notice that doint it this way, you will loose the alias and funckey when you restart your Allegro. You may like to explore the skill to define it permanently.

### How to find a list of the current Alia

You can find a list of the current alias using

Command> alias
It typically gives the following list

alias CDown  'ipick 0; ipick_to_gridunit 0 -1'
alias CF2    next
alias CF5    color192
alias CF6    layer priority
alias CLeft  'ipick 0; ipick_to_gridunit -1'
alias CRight 'ipick 0; ipick_to_gridunit +1'
alias CSF5   status
alias CUp    'ipick 0; ipick_to_gridunit 0 +1'
alias Down   roam y $roamInc alias F10 grid toggle alias F11 zoom in alias F12 zoom out alias F2 zoom fit alias F3 add connect alias F4 show element alias F5 redraw alias F6 done alias F7 next alias F8 oops alias F9 cancel alias Left roam x -$roamInc
alias Right  roam x $roamInc alias SDown 'move; ipick_to_gridunit 0 -1' alias SF10 save_as temp alias SF11 zoom previous alias SF12 zoom world alias SF2 property edit alias SF3 slide alias SF4 show measure alias SF5 copy alias SF6 move alias SF7 dehilight all alias SF8 hilight pick alias SF9 vertex alias SLeft 'move; ipick_to_gridunit -1' alias SRight 'move; ipick_to_gridunit +1' alias SUp 'move; ipick_to_gridunit 0 +1' alias Up roam y -$roamInc
alias bubset 'settoggle shove_mode Off "Hug preferred" "Shove preferred"; options bubble_space $shove_mode' alias cdnshelp cdsdoc alias dehilite dehilight alias edps padedit alias hilite hilight alias ipickx ipick alias ipicky ipick 0 alias ix ipick alias iy ipick 0 alias pickx pick alias picky pick l alias reopen open -q$module
alias revert open -q $module alias rps replace padstack alias sar set pcb_autoroam alias smoothset 'settoggle smooth_mode Off Minimal Full; options smooth_level$smooth_mode'
alias uar    unset pcb_autoroam
alias unplrp report unplaced
alias window zoom
alias x      pick
alias y      pick l
alias ~B     bubset
alias ~C     smoothset
alias ~D     delete
alias ~N     new
alias ~O     open
alias ~S     save
alias ~Z     undo
funckey +      subclass -+
funckey -      subclass --


We found that there is a file called env in the location