Check Key: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
m (moved Check key to Check Key: Case sensitive title)
No edit summary
 
(3 intermediate revisions 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 24: Line 31:


def check_key (keystroke):
def check_key (keystroke):
    """
    Author Sean M. Law
    University of Michigan
    seanlaw_(at)_umich_dot_edu
    """
     keystroke=keystroke.strip('\"\'')
     keystroke=keystroke.strip('\"\'')
     out=allowed_keys.search(keystroke)
     out=allowed_keys.search(keystroke)
Line 40: Line 54:
===SEE ALSO===
===SEE ALSO===
[[Button]] [[Set Key]]
[[Button]] [[Set Key]]
[[Category:Script_Library]]

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