DocumentationDocumentation
User guide/Windows and interaction

Text, keyboard, and pointer input

Understand input boundaries between web controls and Blender to build usable interfaces.

Remember who owns focus

Clicking a web window usually focuses it. Mappable keyboard input then goes to the page; click outside or in a pass-through region to return to Blender. Do not assume shortcuts always remain with Blender.

Other continuously listening add-ons may affect input ownership. Do not duplicate Blender's entire shortcut system in the page to hide focus issues.

Text editing and Chinese input

  1. Verify typing, selection, deletion, and newlines with input/textarea before integrating complex editors.
  2. Test Chinese candidates, confirmation, and cancellation, with no duplicate characters and candidate windows near the input.
  3. Check Ctrl+A, Ctrl+C, Ctrl+V, and Ctrl+X in real inputs; do not intercept every keyboard event.
  4. Prevent defaults only when handling your own shortcut, avoiding stray trigger characters in newly opened inputs.

For selectable display text, check markers and CSS. Exclude custom inputs from title drag areas.

Pointers, scrolling, and dragging

Controls must not remain pressed after moving to an edge and releasing. Continuous slider/canvas gestures need cancellation and unmount handling. Check scroll-container height and overflow rather than inferring scroll bounds from window declarations.

Desktop drops become host resource events, not ordinary HTML5 drop. See Drop, paste, and pick files.

To drag an image preview from an add-on page into a Blender editor, use the add-on-side Add-on image dragging; the add-on still handles target acceptance and business changes.

Standard and custom dropdowns differ

On macOS trusted local pages, enabled single-select controls with non-multiple, size at most 1, and 1–256 options can automatically use a system menu. Pages need no private API or platform check. Custom dropdowns remain the component's responsibility.

Multiple selects, expanded lists, external pages, and subframes are outside this automatic adaptation. Do not depend on private menu implementation.

Check real input, not only screenshots

  • Inputs: Chinese entry, copying/pasting, selection, and focus changes.
  • Buttons: rapid repeated actions and recovery after failure.
  • Overlays: opened content is visible and clickable.
  • Continuous gestures: leaving bounds, cancelling, and closing leave no stuck pressed state.
  • Scaling: readable text and accurate hit positions.

Input feel and continuous behavior need hands-on Blender checks. Browser previews and static inspection cannot replace them.

Based on window/input documentation and page markers.

Back to User guide · All topics