# Test trigger expressions
# Simple key
trigger = build_htmx_trigger(" ")
assert "key==' '" in trigger
assert "from:body" in trigger
# With modifiers
trigger = build_htmx_trigger("ArrowUp", frozenset({"shift"}))
assert "key=='ArrowUp'" in trigger
assert "shiftKey" in trigger
# Multiple modifiers
trigger = build_htmx_trigger("s", frozenset({"ctrl", "shift"}))
assert "ctrlKey" in trigger
assert "shiftKey" in triggerAction Buttons
Generate hidden HTMX action buttons triggered by keyboard events.
HTMX Trigger Expression Builder
Build HTMX trigger expressions for keyboard events.
Note: These triggers are only used when use_htmx_triggers=True. By default, buttons are triggered programmatically by JavaScript via triggerClick(), which respects zone and mode restrictions.
build_htmx_trigger
def build_htmx_trigger(
key:str, # JavaScript key name
modifiers:frozenset[str]=frozenset(), # modifier keys
input_selector:str='input, textarea, select, [contenteditable]', # input elements to exclude
)->str: # HTMX trigger expression
Build HTMX trigger expression for keyboard event.