NAME
Prima::KeySelector - key combination widget and routines
DESCRIPTION
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.
SYNOPSIS
my $ks = Prima::KeySelector-> create( );
$ks-> key( km::Alt | ord('X'));
print Prima::KeySelector::describe( $ks-> key );
API
Properties
key INTEGER
Selects a key combination in integer format. The format is
described in "Hot key" in Prima::Menu, 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.
describe KEY
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
export KEY
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
shortcut KEY
Converts KEY from integer format to a string, acceptable by
"Prima::AbstractMenu" input methods.
print shortcut( km::Ctrl|ord('X'));
^X
translate_codes KEY, [ USE_CTRL = 0 ]
Converts KEY in integer format to three integers in the format
accepted by "KeyDown" in Prima::Widget 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 ).
AUTHOR
Dmitry Karasik, <dmitry@karasik.eu.org>.
SEE ALSO
Prima, Prima::Widget, Prima::Menu.