Check Key: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 1: Line 1:
{{Infobox script-repo
|type      = script
|filename  = check_key.py
|author    = [[User:Slaw|Sean M. Law]]
|license  = -
}}
===DESCRIPTION===  
===DESCRIPTION===  


Line 26: Line 33:


     """
     """
     Author Sean Law
     Author Sean M. Law
     Michigan State University
     University of Michigan
     slaw_(at)_msu_dot_edu
     seanlaw_(at)_umich_dot_edu
     """
     """



Latest revision as of 08:54, 19 March 2013

Type Python Script
Download check_key.py
Author(s) Sean M. Law
License -
This code has been put under version control in the project Pymol-script-repo

DESCRIPTION

A simple script used to check if a given key is valid for for the Set Key command. This is useful when the user would like to use a keyboard key as shortcut/hotkey in their script but need to check if the key is a valid one.

USAGE

load the script using the run command

check_key (keystroke)

If the key specified is a valid one as defined in Set Key then it returns the value of the keystroke. Otherwise, it returns None.

For an example that calls this script, see Jump.

PyMOL API

from pymol import cmd
import re

allowed_keys=re.compile('(F1|F2|left|right|pgup|pgdn|home|insert|(CTRL-[A-Z])|ALT-[A-Z0-9])')

def check_key (keystroke):

    """
    Author Sean M. Law
    University of Michigan
    seanlaw_(at)_umich_dot_edu
    """

    keystroke=keystroke.strip('\"\'')
    out=allowed_keys.search(keystroke)

    if (out != None):
        return keystroke         
    else:
        print "Error: Invalid key \""+keystroke+"\""
        print "Valid Keys: F1, F2, left, right, pdup, pgdn, home, insert"
        print "            CTRL-A to CTRL-Z"
        print "            ALT-0 to ALT-9, ALT-A to ALT-Z"
        return
cmd.extend("check_key", check_key)

SEE ALSO

Button Set Key