pymel.core.general.assignCommand

assignCommand(*args, **kwargs)

This command allows the user to assign hotkeys and manipulate the internal array of named command objects. Each object in the array has an 1-based index which is used for referencing. Under expected usage you should not need to use this command directly as the Hotkey Editor may be used to assign hotkeys. This command is obsolete for setting new hotkeys, instead please use the hotkeycommand. In query mode, return type is based on queried flag.

Flags:

Long Name / Short Name Argument Types Properties
addDivider / ad unicode ../../../_images/edit.gif
  Appends an annotated divideritem to the end of the list of commands.
altModifier / alt bool ../../../_images/edit.gif
  This flag specifies if an alt modifier is used for the key.
annotation / ann unicode ../../../_images/query.gif ../../../_images/edit.gif
  The string is the english name describing the command.
command / c script ../../../_images/query.gif ../../../_images/edit.gif
  This is the command that is executed when this object is mapped to a key or menuItem.
commandModifier / cmd bool ../../../_images/edit.gif
  This flag specifies if a command modifier is used for the key. This is only available on systems which support a separate command key.
ctrlModifier / ctl bool ../../../_images/edit.gif
  This flag specifies if a ctrl modifier is used for the key.
data1 / da1 unicode ../../../_images/query.gif ../../../_images/edit.gif
  Optional, user-defined data strings may be attached to the nameCommand objects.
data2 / da2 unicode ../../../_images/query.gif ../../../_images/edit.gif
  Optional, user-defined data strings may be attached to the nameCommand objects.
data3 / da3 unicode ../../../_images/query.gif ../../../_images/edit.gif
  Optional, user-defined data strings may be attached to the nameCommand objects.
delete / d int ../../../_images/edit.gif
  This tells the Manager to delete the object at position index.
dividerString / ds unicode ../../../_images/query.gif
  If the passed index corresponds to a divideritem, then the divider’s annotation is returned. Otherwise, a null string is returned.
enableCommandRepeat / ecr bool  
   
factorySettings / fs bool ../../../_images/edit.gif
  This flag sets the manager back to factory settings.
index / i int ../../../_images/edit.gif
  The index of the object to operate on. The index value ranges from 1 to the number of name command objects.
keyArray / ka bool  
   
keyString / k unicode ../../../_images/query.gif ../../../_images/edit.gif
  This specifies a key to assign a command to in edit mode. In query mode this flag returns the key string, modifiers and indicates if the command is mapped to keyUp or keyDown.
keyUp / kup bool ../../../_images/edit.gif
  This flag specifies if the command is executed on keyUp or keyDown.
name / n bool ../../../_images/query.gif
  The name of the command object.
numDividersPreceding / ndp int ../../../_images/query.gif
  If the index of a namedCommand object Cis passed in, then this flag returns the number of divideritems preceding Cwhen the namedCommands are sorted by category.
numElements / num bool ../../../_images/query.gif
  This command returns the number of namedCommands in the system. This flag doesn’t require the index to be specified.
optionModifier / opt bool ../../../_images/edit.gif
  This flag specifies if an option modifier is used for the key.
sortByKey / sbk bool ../../../_images/query.gif ../../../_images/edit.gif
  This key tells the manager to sort by key or by order of creation.
sourceUserCommands / suc bool ../../../_images/edit.gif
  This command sources the user named command file. Flag can have multiple arguments, passed either as a tuple or a list.

Derived from mel command maya.cmds.assignCommand

Example:

import pymel.core as pm

# Print out all the names of the named command objects and the
# hotkey attached to them.
#
count = pm.assignCommand(query=True, numElements=True)
print ('There are ' + str(count) + ' named command objects.')

for index in range(1, count+1):
        keyString = pm.assignCommand(index, query=True, keyString=True)

        displayString = '(';

        if 0 " len(keyString):
                if "1" == keyString[2]: displayString += 'Ctrl+'
                if "1" == keyString[1]: displayString += 'Alt+'
                if "1" == keyString[4]: displayString += 'Command+'

                displayString += keyString[0]

                if "1" == keyString[3]: displayString += ' Release'

        displayString += ')'

        print pm.assignCommand(index, query=True, name=True), displayString