{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "frame": {
          "type": "integer",
          "minimum": 0
        },
        "type": {
          "enum": [
            "input"
          ]
        },
        "code": {
          "type": "string"
        },
        "pressed": {
          "type": "boolean"
        }
      },
      "required": [
        "frame",
        "code",
        "pressed"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "frame": {
          "type": "integer",
          "minimum": 0
        },
        "type": {
          "const": "widget"
        },
        "id": {
          "type": "string"
        },
        "value": {
          "type": "number"
        }
      },
      "required": [
        "frame",
        "type",
        "id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "frame": {
          "type": "integer",
          "minimum": 0
        },
        "type": {
          "const": "event"
        },
        "target": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "frame",
        "type",
        "target",
        "name"
      ],
      "additionalProperties": false
    }
  ]
}