Check Key: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{Infobox script-repo
|type      = script
|filename  = check_key.py
|author    = [[User:Slaw|Sean M. Law]]
|license  = -
}}
===DESCRIPTION===  
===DESCRIPTION===  


Line 25: Line 32:
def check_key (keystroke):
def check_key (keystroke):


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


     keystroke=keystroke.strip('\"\'')
     keystroke=keystroke.strip('\"\'')

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