Caution: This version of this document is no longer maintained. For the latest documentation, see


Hotkey handler structure


typedef struct Pt_hotkey_callback {
    unsigned short   key_sym_cap;
    short            flags;
    unsigned long    key_mods;
    PtWidget_t       *widget;
    void             *data;
    int              (*event_f)(
                         PtWidget_t *, void *, 
                         PtCallbackInfo_t * );
    } PtHotkeyCallback_t;


The PtHotkeyCallback_t structure lets you specify hotkeys or hotkey handlers, or both, for various widgets. It contains at least the following members:

Depending on the specified flags, this member contains either the symbol or cap of the key to be interpreted as a hotkey. For valid key_sym_cap values, see <photon/PkKeyDef.h>.
Determines how key_sym_cap is interpreted and whether or not key_mods is used. Valid bits include:
Interpret key_sym_cap as a key symbol; the default is to interpret it as a key cap.
Ignore the key_mods argument. This flag is typically used in menus, where you want both upper- and lowercase letters to be accepted as hotkeys.
Key modifiers that must be active for the key to be considered a hotkey. If the Pt_HOTKEY_IGNORE_MODS flag is set, this member is ignored.

For valid key modifiers, see <photon/PkKeyDef.h>. All key-modifier manifests begin with Pk_KM_.

If event_f is NULL, the widget member's activate callback is invoked with a reason_subtype of Pt_CB_HOTKEY. If the widget member is NULL when the hotkey is attached, it's set to the widget that the hotkey is attached to.
A pointer to any data that you want to pass as the second argument to the callback function.
A pointer to the hotkey function. If event_f is NULL when the hotkey is activated, the widget that the hotkey is attached to has its Pt_CB_ACTIVATE callback (see PtBasic) invoked with a reason_subtype of Pt_CB_HOTKEY.



See also:

PtBalloonCallback_t, PtCallback_t, PtCallbackInfo_t, Pt_CB_ACTIVATE (PtBasic), Pt_CB_HOTKEY (PtWidget), PtRawCallback_t