Set Key: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
 (updates)  | 
				|||
| Line 1: | Line 1: | ||
'''set_key''' binds a   | '''set_key''' binds a Python function or PyMOL command to a key press.  | ||
Such key binding customization is typically done with your [[pymolrc]] startup script.  | |||
''Changes with PyMOL version:''  | |||
* 1.8: decorator support  | |||
* 1.7: second argument can also be a string in PyMOL command syntax  | |||
== PyMOL API ==  | |||
<source lang="python">  | <source lang="python">  | ||
cmd.set_key( string key, function fn, tuple arg=(), dict kw={})  | cmd.set_key(string key, function fn, tuple arg=(), dict kw={})  | ||
</source>  | </source>  | ||
===  | ''Also supported since PyMOL 1.7:''  | ||
<source lang="python">  | |||
cmd.set_key(string key, string command)  | |||
</source>  | |||
''Decorator support since PyMOL 1.8:''  | |||
<source lang="python">  | |||
cmd.set_key(string key)(function fn)  | |||
</source>  | |||
== PyMOL Command (since PyMOL 1.7) ==  | |||
 set_key key, command  | |||
== Examples ==  | |||
<source lang="python">  | <source lang="python">  | ||
from pymol import cmd  | from pymol import cmd  | ||
def make_it_blue(  | # define a custom function which colors a selection blue  | ||
def make_it_blue(selection): cmd.color("blue", selection)  | |||
# color "object1" blue when the F1 key is pressed  | |||
cmd.set_key( 'F1' , make_it_blue, [ "object1" ] )  | cmd.set_key( 'F1' , make_it_blue, [ "object1" ] )  | ||
</source>  | |||
<source lang="python">  | |||
# zoom on everything  | |||
#   | |||
cmd.set_key( 'CTRL-C' , cmd.zoom )      | cmd.set_key( 'CTRL-C' , cmd.zoom )      | ||
</source>  | |||
<source lang="python">  | |||
# turn camera by 90 degrees  | |||
cmd.set_key( 'ALT-A' , cmd.turn, ('x',90) )  | cmd.set_key( 'ALT-A' , cmd.turn, ('x',90) )  | ||
</source>  | </source>  | ||
===KEYS WHICH CAN BE REDEFINED  |  # zoom on first ligand when pressing F1 (PyMOL 1.7+)  | ||
 set_key F1, zoom byres (first organic), animate=1  | |||
<source lang="python">  | |||
# zoom on first ligand when pressing F1 (all PyMOL versions)  | |||
cmd.set_key('F1', cmd.zoom, ['byres (first organic)'], {'animate': 1})  | |||
</source>  | |||
<source lang="python">  | |||
# decorator syntax (PyMOL 1.8+)  | |||
@cmd.set_key('F1')  | |||
def zoom_ligand():  | |||
    cmd.zoom('byres (first organic)', animate=1)  | |||
</source>  | |||
== KEYS WHICH CAN BE REDEFINED ==  | |||
  F1 to F12  |   F1 to F12  | ||
  left, right, pgup, pgdn, home, insert  |   left, right, pgup, pgdn, home, insert  | ||
| Line 30: | Line 70: | ||
  ALT-0 to ALT-9, ALT-A to ALT-Z  |   ALT-0 to ALT-9, ALT-A to ALT-Z  | ||
==  | == See Also ==  | ||
[[Button]] [[Check Key]]  | |||
* [[alias]]  | |||
* [[extend|cmd.extend]]  | |||
* [[Button]]  | |||
* [[Check Key]]  | |||
[[Category:Commands|Set Key]]  | [[Category:Commands|Set Key]]  | ||
Latest revision as of 20:39, 6 March 2016
set_key binds a Python function or PyMOL command to a key press. Such key binding customization is typically done with your pymolrc startup script.
Changes with PyMOL version:
- 1.8: decorator support
 - 1.7: second argument can also be a string in PyMOL command syntax
 
PyMOL API
cmd.set_key(string key, function fn, tuple arg=(), dict kw={})
Also supported since PyMOL 1.7:
cmd.set_key(string key, string command)
Decorator support since PyMOL 1.8:
cmd.set_key(string key)(function fn)
PyMOL Command (since PyMOL 1.7)
set_key key, command
Examples
from pymol import cmd
# define a custom function which colors a selection blue
def make_it_blue(selection): cmd.color("blue", selection)
# color "object1" blue when the F1 key is pressed
cmd.set_key( 'F1' , make_it_blue, [ "object1" ] )
# zoom on everything
cmd.set_key( 'CTRL-C' , cmd.zoom )
# turn camera by 90 degrees
cmd.set_key( 'ALT-A' , cmd.turn, ('x',90) )
# zoom on first ligand when pressing F1 (PyMOL 1.7+) set_key F1, zoom byres (first organic), animate=1
# zoom on first ligand when pressing F1 (all PyMOL versions)
cmd.set_key('F1', cmd.zoom, ['byres (first organic)'], {'animate': 1})
# decorator syntax (PyMOL 1.8+)
@cmd.set_key('F1')
def zoom_ligand():
    cmd.zoom('byres (first organic)', animate=1)
KEYS WHICH CAN BE REDEFINED
F1 to F12 left, right, pgup, pgdn, home, insert CTRL-A to CTRL-Z ALT-0 to ALT-9, ALT-A to ALT-Z