Initial commit: COPILOT D6 Flutter keyboard controller
Flutter web app replacing legacy WPF CCTV surveillance keyboard controller. Includes wall overview, section view with monitor grid, camera input, PTZ control, alarm/lock/sequence BLoCs, and legacy-matching UI styling. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
69
config/keyboards.json.template
Normal file
69
config/keyboards.json.template
Normal file
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"$schema": "./keyboards.schema.json",
|
||||
"version": "1.0",
|
||||
"description": "Keyboard configuration for PRIMARY/STANDBY election",
|
||||
|
||||
"keyboards": [
|
||||
{
|
||||
"id": "KB-001",
|
||||
"name": "Control Room 1",
|
||||
"location": "Main Control Room",
|
||||
"priority": 100,
|
||||
"canBePrimary": true,
|
||||
"canBeStandby": true,
|
||||
"network": {
|
||||
"address": "192.168.1.101",
|
||||
"coordinationPort": 8090
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "KB-002",
|
||||
"name": "Control Room 2",
|
||||
"location": "Main Control Room",
|
||||
"priority": 90,
|
||||
"canBePrimary": true,
|
||||
"canBeStandby": true,
|
||||
"network": {
|
||||
"address": "192.168.1.102",
|
||||
"coordinationPort": 8090
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "KB-003",
|
||||
"name": "Security Station",
|
||||
"location": "Security Office",
|
||||
"priority": 50,
|
||||
"canBePrimary": false,
|
||||
"canBeStandby": true,
|
||||
"network": {
|
||||
"address": "192.168.1.103",
|
||||
"coordinationPort": 8090
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
"election": {
|
||||
"heartbeatIntervalMs": 2000,
|
||||
"heartbeatTimeoutMs": 6000,
|
||||
"electionTimeoutMs": 10000,
|
||||
"minKeyboardsForQuorum": 1
|
||||
},
|
||||
|
||||
"coordination": {
|
||||
"primaryWebSocketPort": 8090,
|
||||
"stateSync": {
|
||||
"enabled": true,
|
||||
"intervalMs": 1000
|
||||
}
|
||||
},
|
||||
|
||||
"degradedMode": {
|
||||
"description": "Features available when no PRIMARY/STANDBY is online",
|
||||
"viewerConnectLive": true,
|
||||
"ptzControl": true,
|
||||
"ptzLocking": false,
|
||||
"sequences": false,
|
||||
"sharedState": false,
|
||||
"alarmDisplay": "local"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user