Device Capabilities
Hardware access (camera, microphone, USB devices, etc.) is declared separately as device capabilities, optionally with specific devices and functions.
| Property | Type | Required | Description |
|---|---|---|---|
name | enum | yes | One of: activity, bluetooth, humaninterfacedevice, location, lowLevel, microphone, optical, pointOfService, proximity, radios, serialcommunication, usb, webcam, wiFiControl. |
devices | array of MsixDevice | no | Specific devices, max 1000. Required by some capabilities (e.g., usb, humaninterfacedevice). |
MsixDevice
| Property | Type | Required | Description |
|---|---|---|---|
id | string | yes | Device identifier (vendor / product ID for USB, etc.). Max 512 chars. |
functions | array of MsixDeviceFunction ({ "type": "..." }) | yes (non-empty, max 100) | Functions exposed by the device. |
Examples
Webcam access
"msix": {
"deviceCapabilities": [
{ "name": "webcam" }
]
}
Specific USB device with one function
"msix": {
"deviceCapabilities": [
{
"name": "usb",
"devices": [
{
"id": "vidpid:045E 02FE",
"functions": [
{ "type": "name:keyboard" }
]
}
]
}
]
}
Bluetooth + location
"msix": {
"deviceCapabilities": [
{ "name": "bluetooth" },
{ "name": "location" }
]
}