Prima::KeySelector - key combination widget and routines The module provides a standard widget for selecting a user-defined key combination. The widget class allows import, export, and modification of key combinations. The module provides a set of routines, useful for conversion of a key combination between representations. my $ks = Prima::KeySelector-> create( ); $ks-> key( km::Alt | ord('X')); print Prima::KeySelector::describe( $ks-> key );

Properties
Selects a key combination in integer format. The format is described in the section on Hot key in the Prima::Menu manpage, and is a combination of km::XXX key modifiers and either a kb::XXX virtual key, or a character code value. The property allows almost, but not all possible combinations of key constants. Only km::Ctrl, km::Alt, and km::Shift modifiers are allowed.

Methods
All methods here can ( and must ) be called without the object syntax; - the first parameter must not be neither package nor widget. Accepts KEY in integer format, and returns string description of the key combination in human readable format. Useful for supplying an accelerator text to a menu. print describe( km::Shift|km::Ctrl|km::F10); Ctrl+Shift+F10 Accepts KEY in integer format, and returns string with a perl-evaluable expression, which after evaluation resolves to the original KEY value. Useful for storing a key into text config files, where value must be both human readable and easily passed to a program. print export( km::Shift|km::Ctrl|km::F10); km::Shift|km::Ctrl|km::F10 Converts KEY from integer format to a string, acceptable by Prima::AbstractMenu input methods. print shortcut( km::Ctrl|ord('X')); ^X Converts KEY in integer format to three integers in the format accepted by the KeyDown entry in the Prima::Widget manpage event: code, key, and modifier. USE_CTRL is only relevant when KEY first byte ( KEY & 0xFF ) is between 1 and 26, what means that the key is a combination of an alpha key with the control key. If USE_CTRL is 1, code result is unaltered, and is in range 1 - 26. Otherwise, code result is converted to the character code ( 1 to ord('A'), 2 to ord('B') etc ). Dmitry Karasik, <dmitry@karasik.eu.org>. the Prima manpage, the Prima::Widget manpage, the Prima::Menu manpage.