e178113ff6
Several QOM type names contain ',':
ARM,bitband-memory
etraxfs,pic
etraxfs,serial
etraxfs,timer
fsl,imx25
fsl,imx31
fsl,imx6
fsl,imx6ul
fsl,imx7
grlib,ahbpnp
grlib,apbpnp
grlib,apbuart
grlib,gptimer
grlib,irqmp
qemu,register
SUNW,bpp
SUNW,CS4231
SUNW,DBRI
SUNW,DBRI.prom
SUNW,fdtwo
SUNW,sx
SUNW,tcx
xilinx,zynq_slcr
xlnx,zynqmp
xlnx,zynqmp-pmu-soc
xlnx,zynq-xadc
These are all device types. They can't be plugged with -device /
device_add, except for xlnx,zynqmp-pmu-soc, and I doubt that one
actually works.
They *can* be used with -device / device_add to request help.
Usability is poor, though: you have to double the comma, like this:
$ qemu-system-x86_64 -device SUNW,,fdtwo,help
Trap for the unwary. The fact that this was broken in
device-introspect-test for more than six years until commit e27bd49876
fixed it demonstrates that "the unwary" includes seasoned developers.
One QOM type name contains ' ': "ICH9 SMB". Because having to
remember just one way to quote would be too easy.
Rename the "SUNW,FOO types to "sun-FOO". Summarily replace ',' and '
' by '-' in the other type names.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20210304140229.575481-2-armbru@redhat.com>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
969 lines
24 KiB
JSON
969 lines
24 KiB
JSON
{
|
|
"vmschkmachine": {
|
|
"Name": "pc-i440fx-2.2"
|
|
},
|
|
"fw_cfg2": {
|
|
"Name": "fw_cfg",
|
|
"version_id": 2,
|
|
"minimum_version_id": 1,
|
|
"Description": {
|
|
"name": "fw_cfg",
|
|
"version_id": 2,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "cur_entry",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 2
|
|
},
|
|
{
|
|
"field": "cur_offset",
|
|
"version_id": 0,
|
|
"field_exists": true,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "cur_offset",
|
|
"version_id": 2,
|
|
"field_exists": false,
|
|
"size": 4
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"fusbh200-ehci-usb": {
|
|
"Name": "fusbh200-ehci-usb",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1,
|
|
"Description": {
|
|
"name": "ehci-sysbus",
|
|
"version_id": 2,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "ehci",
|
|
"version_id": 2,
|
|
"field_exists": false,
|
|
"size": 1880,
|
|
"Description": {
|
|
"name": "ehci-core",
|
|
"version_id": 2,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "usbcmd",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "usbsts_pending",
|
|
"version_id": 2,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "usbsts_frindex",
|
|
"version_id": 2,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "usbintr",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "frindex",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "ctrldssegment",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "periodiclistbase",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "asynclistaddr",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "configflag",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "portsc[0]",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "portsc[1]",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "portsc[2]",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "portsc[3]",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "portsc[4]",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "portsc[5]",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "frame_timer",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 8
|
|
},
|
|
{
|
|
"field": "last_run_ns",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 8
|
|
},
|
|
{
|
|
"field": "async_stepdown",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "astate",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "pstate",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "a_fetch_addr",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "p_fetch_addr",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"pci-serial-4x": {
|
|
"Name": "pci-serial-4x",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1,
|
|
"Description": {
|
|
"name": "pci-serial-multi",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1
|
|
}
|
|
},
|
|
"intel-hda-generic": {
|
|
"Name": "intel-hda-generic",
|
|
"version_id": 1,
|
|
"minimum_version_id": 0,
|
|
"Description": {
|
|
"name": "intel-hda",
|
|
"version_id": 1,
|
|
"minimum_version_id": 0,
|
|
"Fields": [
|
|
{
|
|
"field": "pci",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1944
|
|
},
|
|
{
|
|
"field": "g_ctl",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "wake_en",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "state_sts",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "int_ctl",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "int_sts",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "wall_clk",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "corb_lbase",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "corb_ubase",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "corb_rp",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "corb_wp",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "corb_ctl",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "corb_sts",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "corb_size",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "rirb_lbase",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "rirb_ubase",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "rirb_wp",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "rirb_cnt",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "rirb_ctl",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "rirb_sts",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "rirb_size",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "dp_lbase",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "dp_ubase",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "icw",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "irr",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "ics",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "st",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 56,
|
|
"Description": {
|
|
"name": "intel-hda-stream",
|
|
"version_id": 1,
|
|
"minimum_version_id": 0,
|
|
"Fields": [
|
|
{
|
|
"field": "ctl",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "lpib",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "cbl",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "lvi",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "fmt",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "bdlp_lbase",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "bdlp_ubase",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"field": "rirb_count",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "wall_base_ns",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 8
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"cfi.pflash01": {
|
|
"Name": "cfi.pflash01",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1
|
|
},
|
|
"megasas": {
|
|
"Name": "megasas",
|
|
"version_id": 0,
|
|
"minimum_version_id": 0,
|
|
"Description": {
|
|
"name": "megasas",
|
|
"version_id": 0,
|
|
"minimum_version_id": 0,
|
|
"Fields": [
|
|
{
|
|
"field": "parent_obj",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1944,
|
|
"Description": {
|
|
"name": "PCIDevice",
|
|
"version_id": 2,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "version_id",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "config",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 256
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"field": "fw_state",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "intr_mask",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "doorbell",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "reply_queue_pa",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 8
|
|
},
|
|
{
|
|
"field": "consumer_pa",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 8
|
|
},
|
|
{
|
|
"field": "producer_pa",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 8
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PIIX3-xen": {
|
|
"Name": "PIIX3-xen",
|
|
"version_id": 3,
|
|
"minimum_version_id": 2,
|
|
"Description": {
|
|
"name": "PIIX3",
|
|
"version_id": 3,
|
|
"minimum_version_id": 2,
|
|
"Fields": [
|
|
{
|
|
"field": "dev",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1944,
|
|
"Description": {
|
|
"name": "PCIDevice",
|
|
"version_id": 2,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "version_id",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "config",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 256
|
|
},
|
|
{
|
|
"field": "irq_state",
|
|
"version_id": 2,
|
|
"field_exists": false,
|
|
"size": 16
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"field": "pci_irq_levels_vmstate",
|
|
"version_id": 3,
|
|
"field_exists": false,
|
|
"size": 4
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"tpci200": {
|
|
"Name": "tpci200",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1,
|
|
"Description": {
|
|
"name": "tpci2002",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "dev",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1944,
|
|
"Description": {
|
|
"name": "PCIDevice",
|
|
"version_id": 2,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "version_id",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "config",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 256
|
|
},
|
|
{
|
|
"field": "irq_state",
|
|
"version_id": 2,
|
|
"field_exists": false,
|
|
"size": 16
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"field": "big_endian",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "ctrl",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "status",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 2
|
|
},
|
|
{
|
|
"field": "int_set",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"sun-fdtwo": {
|
|
"Name": "sun-fdtwo",
|
|
"version_id": 2,
|
|
"minimum_version_id": 2,
|
|
"Description": {
|
|
"name": "fdc",
|
|
"version_id": 1,
|
|
"minimum_version_id": 2,
|
|
"Fields": [
|
|
{
|
|
"field": "state",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 360,
|
|
"Description": {
|
|
"name": "fdc",
|
|
"version_id": 2,
|
|
"minimum_version_id": 2,
|
|
"Fields": [
|
|
{
|
|
"field": "sra",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "srb",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "dor_vmstate",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "tdr",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "dsr",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "msr",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "status0",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "status1",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "status2",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "fifo",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "data_pos",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "data_len",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "data_state",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "data_dir",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "eot",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "timer0",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "timer1",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "precomp_trk",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "config",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "lock",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "pwrd",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "num_floppies",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "drives",
|
|
"version_id": 1,
|
|
"field_exists": false,
|
|
"size": 40,
|
|
"Description": {
|
|
"name": "fdrive",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "head",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "track",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "sect",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
}
|
|
],
|
|
"Subsections": [
|
|
{
|
|
"name": "fdrive/media_changed",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "media_changed",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"usb-kbd": {
|
|
"Name": "usb-kbd",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1,
|
|
"Description": {
|
|
"name": "usb-kbd",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "dev",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 5832,
|
|
"Description": {
|
|
"name": "USBDevice",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "addr",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "state",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "remote_wakeup",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "setup_state",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "setup_len",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "setup_index",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "setup_buf",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"field": "hid",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 312,
|
|
"Description": {
|
|
"name": "HIDKeyboardDevice",
|
|
"version_id": 1,
|
|
"minimum_version_id": 1,
|
|
"Fields": [
|
|
{
|
|
"field": "kbd.keycodes",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 2
|
|
},
|
|
{
|
|
"field": "head",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "n",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "kbd.modifiers",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 2
|
|
},
|
|
{
|
|
"field": "kbd.leds",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "kbd.key",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
},
|
|
{
|
|
"field": "kbd.keys",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "protocol",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 4
|
|
},
|
|
{
|
|
"field": "idle",
|
|
"version_id": 0,
|
|
"field_exists": false,
|
|
"size": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|