Vixen
dd8b0a81
csharp
public sealed class InputDebugView

The input debug panel: which devices there are, what is actuated right now, where the pointer is, and what every action reads.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

[doc 11](../../../docs/plan/11-editor.md) § Input system's second editor surface — "the action-map editor, plus an input-debug panel showing live device state". The first is InputActionsView beside this file; this is the second.

⚠ The source line is the whole design, and it is there because an instrument that never ran reports success. The editor process owns no InputService — it routes platform events straight into the interface's own document and never into an InputDeviceSet — so a panel that simply listed "what is pressed" would draw an empty list whether the player was pressing nothing or nothing in this process was reading a device at all. Those are different sentences and this panel says which one it means before it says anything else.

⚠ It reads a service rather than owning one, for the reason the agent debugger reads an AiSystem rather than stepping agents. A panel that built its own InputService and fed it from the editor's KeyEvents would be a *second* opinion about what the player is holding down — right up until the two disagreed, which is the frame somebody opened this panel to understand. A host that reads devices publishes its service with Services.Add(service), and this goes live with no further wiring.

⚠ Deltas and positions are in their own section rather than in "pressed now". InputDeviceSet.Actuated deliberately leaves them out — a rebinding screen that offered <Mouse>/position/x because the pointer drifted towards the button would be unusable — so a panel that only drew Actuated would report a mouse that never moves.

Fields and properties (8)

  • protected override string TagName
  • protected override bool AcceptsFocus

    Whether the focus can rest on this kind of control at all.

  • public UiElement Devices

    The device families and every gamepad.

  • public UiElement Actuated

    Every control past its press point right now.

  • public UiElement Pointer

    The pointer's place and motion.

  • public UiElement Actions

    What every action reads.

  • public InputService? Service

    The service it is showing, or null.

  • public string SourceLine

    Says where the state comes from, or that it comes from nowhere.

Methods (4)

  • protected override void OnCreated()
  • protected override void OnRemoved()
  • public void Show(InputService? value)

    Shows a service — or that there is none.

  • public void Refresh()

    Re-reads everything the panel draws.

Used by (3)

  • AssetEditorsModuleVixen.Editor.AssetEditors
  • InputDebugPanelTestsVixen.Editor.App.Tests
  • InputDebugViewTestsVixen.Editor.AssetEditors.Tests