Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::PluginKeyOffer Struct Reference

Platform-supplied facts about the key that core/view cannot derive from a KeyEvent alone. More...

#include <plugin_key_routing.hpp>

Public Attributes

KeyEvent key
bool is_function_key = false
 The key carries no printable character (a function key, or AppKit's 0xF700-0xF8FF private-use range).
bool offer_global_hook = false
 Whether this call may offer the key to root.on_global_key.

Detailed Description

Platform-supplied facts about the key that core/view cannot derive from a KeyEvent alone.

Member Data Documentation

◆ is_function_key

bool pulp::view::PluginKeyOffer::is_function_key = false

The key carries no printable character (a function key, or AppKit's 0xF700-0xF8FF private-use range).

Such a key is never text, so a focused text field that declines it has genuinely not consumed it.

◆ key

KeyEvent pulp::view::PluginKeyOffer::key

◆ offer_global_hook

bool pulp::view::PluginKeyOffer::offer_global_hook = false

Whether this call may offer the key to root.on_global_key.

Off by default, because a seam that delivers one press TWICE would otherwise fire the hook — and the script keydown listener behind it — twice. macOS is exactly that seam: AppKit offers every key-down to -performKeyEquivalent: before -keyDown:, and that override owns the hook there. A seam with a single delivery point (VST3 onKeyDown) sets this, and is then the only place the hook is consulted for that press.


The documentation for this struct was generated from the following file: