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 Appends an annotated divideritem to the end of the list of commands. altModifier / alt bool This flag specifies if an alt modifier is used for the key. annotation / ann unicode The string is the english name describing the command. command / c script This is the command that is executed when this object is mapped to a key or menuItem. commandModifier / cmd bool 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 This flag specifies if a ctrl modifier is used for the key. data1 / da1 unicode Optional, user-defined data strings may be attached to the nameCommand objects. data2 / da2 unicode Optional, user-defined data strings may be attached to the nameCommand objects. data3 / da3 unicode Optional, user-defined data strings may be attached to the nameCommand objects. delete / d int This tells the Manager to delete the object at position index. dividerString / ds unicode 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 This flag sets the manager back to factory settings. index / i int 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 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 This flag specifies if the command is executed on keyUp or keyDown. name / n bool The name of the command object. numDividersPreceding / ndp int 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 This command returns the number of namedCommands in the system. This flag doesn’t require the index to be specified. optionModifier / opt bool This flag specifies if an option modifier is used for the key. sortByKey / sbk bool This key tells the manager to sort by key or by order of creation. sourceUserCommands / suc bool 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