internal Keyboard( KeyboardCollection holder, string name ) { Debug.Assert( holder != null ); _keyboards = holder; _zones = new ZoneCollection( this ); _layouts = new LayoutCollection( this ); _name = name; _availableMode = _keyboards.Context.EmptyMode; _currentMode = _keyboards.Context.EmptyMode; _reqLayer = new RequirementLayer( "Keyboard" ); }