Prima::KeySelector(3)
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 perlevaluable 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.