#   Copyright (C) 1987-2007 by Jeffery P. Hansen
#
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation; either version 2 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program; if not, write to the Free Software
#   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Last edit by hansen on Thu Jan 25 22:10:03 2007
#

#
# Bindings can be declared with either the 'newBinding' or 'keyBinding'
# commands.  The usage is identical except that 'newBinding' will
# generate an error if a key sequence has already been bound.
#

######################################################################
#
# Special 'hack' bindings.
#
newBinding <Alt-m>			{ }
newBinding <Alt-t>			{ }

######################################################################
#
# Beginning of built-in bindings
#

if { $tkg_allowDebug } {
  newBinding <Control-d>		act_dumpwires
  newBinding <Alt-v>			act_verify
  newBinding <F6>			act_debugMode
}

newBinding <Alt-u>			act_undo
newBinding <Alt-r>			act_redo


newBinding <bracketleft>		act_addIn
newBinding <bracketright>		act_addOut
newBinding <apostrophe>			act_addInOut
newBinding <at>				act_editPort

newBinding <F1>				act_editMode
newBinding <F2>				act_deleteMode
newBinding <F3>				act_cutMode
newBinding <F4>				act_invertMode
newBinding <F5>				act_sizeMode

newBinding <Control-F1>			act_rot0
newBinding <Control-F2>			act_rot90
newBinding <Control-F3>			act_rot180
newBinding <Control-F4>			act_rot270

newBinding <greater>			act_openMod
newBinding <less>			act_closeMod
newBinding <Control-v>			act_replicate
newBinding <Delete>			act_delete
newBinding <E>				act_editProps
newBinding <P>				act_toggleProbe

newBinding <p>				act_errBoxUp
newBinding <Control-p>			act_errBoxUp
newBinding <n>				act_errBoxDown
newBinding <Control-n>			act_errBoxDown

newBinding <bar>			act_vAlign
newBinding <minus>			act_hAlign

newBinding <Control-x><k>		act_newFile
newBinding <Control-x><Control-f>	act_loadFile
newBinding <Control-x><Control-l>	act_loadLibrary
newBinding <Control-x><Control-s>	act_saveFile
newBinding <Control-x><Control-w>	act_saveAsFile
newBinding <Control-x><Control-p>	act_print
newBinding <Control-x><Control-c>	act_exit
newBinding <Control-x><o>		act_editOptions
newBinding <Control-x><x>		act_copyToBuf
newBinding <Control-x><a>		act_selectAll
newBinding <Control-x><E>		act_editCProps
newBinding <Control-x><f>		act_anchor
newBinding <Control-x><u>		act_unAnchor
newBinding <Control-x><r>		act_cpathAnal

newBinding <Control-w>			act_cutToBuf
newBinding <Control-y>			act_yankFromBuf
newBinding <Control-f>			act_findObject

newBinding <Control-s><b>		act_startSimulator
newBinding <Control-s><e>		act_endSimulator
newBinding <Control-s><g>		act_simRun
newBinding <Control-s><s>		act_simStop
newBinding <Control-s><k>		act_editBreakpoints
newBinding <Control-s><x>		act_doSimScript
newBinding <Control-s><l>		act_simLoadMem
newBinding <Control-s><d>		act_simDumpMem
newBinding <Control-s><p>		act_scopePrint
newBinding <space>			act_simStep
newBinding <Tab>			act_simCycleOrRotate
newBinding <ISO_Left_Tab>		act_backRotate

newBinding <Control-l>			act_refreshScreen

newBinding <Control-b>n			act_blockNew
newBinding <Control-b>d			act_blockDelete
newBinding <Control-b>c			act_blockCopy
newBinding <Control-b>r			act_blockRename
newBinding <Control-b>s			act_setBlockDesc
newBinding <Control-b>e			act_editBlockDesc
newBinding <Control-b>l			act_blockClaim

newBinding <Control-z>i			act_zoomIn
newBinding <Control-z>o			act_zoomOut

newBinding <Left>			act_nudgeLeft
newBinding <Right>			act_nudgeRight
newBinding <Up>				act_nudgeUp
newBinding <Down>			act_nudgeDown

newBinding <Meta-KeyPress-U>		{ }
newBinding <Control-g>			{ transAction Cancel { endPrefix; tkg_cancel; gat_unselectGates } }
newBinding <Escape>			{ transAction Cancel { tkg_cancel; gat_unselectGates } }
