<GuiXml>
    <Controls>
        <Control name="ZO_KeybindButtonBehavior" mouseEnabled="true" virtual="true" resizeToFitDescendents="true">
            <OnInitialized>
                ZO_KeybindButtonTemplate_OnInitialized(self)
            </OnInitialized>

            <OnMouseEnter>
                ZO_SelectableLabel_OnMouseEnter(self.nameLabel)
            </OnMouseEnter>

            <OnMouseExit>
                ZO_SelectableLabel_OnMouseExit(self.nameLabel)
            </OnMouseExit>

            <OnMouseUp>
                ZO_KeybindButtonTemplate_OnMouseUp(self, button, upInside)
            </OnMouseUp>            
        </Control>

        <Control name="ZO_KeybindButton_Keyboard_Template" virtual="true">
            <Controls>
                <Label name="$(parent)NameLabel" color="INTERFACE_COLOR_TYPE_TEXT_COLORS:INTERFACE_TEXT_COLOR_NORMAL" modifyTextType="NONE" font="ZoFontKeybindStripDescription" />
                <Label name="$(parent)KeyLabel" font="ZoFontKeybindStripKey" />
            </Controls>
        </Control>

        <Control name="ZO_KeybindButton_Gamepad_Template" virtual="true">
            <Controls>
                <Label name="$(parent)NameLabel" color="INTERFACE_COLOR_TYPE_TEXT_COLORS:INTERFACE_TEXT_COLOR_SELECTED" modifyTextType="UPPERCASE" font="ZoFontGamepad34" />
                <Label name="$(parent)KeyLabel" font="ZoFontGamepad22" />
            </Controls>
        </Control>

        <Control name="ZO_KeybindButton" inherits="ZO_KeybindButtonBehavior" virtual="true">
            <DimensionConstraints minY="35" maxY="35" />

            <Controls>
                <Label name="$(parent)NameLabel" font="ZoFontKeybindStripDescription" color="INTERFACE_COLOR_TYPE_TEXT_COLORS:INTERFACE_TEXT_COLOR_NORMAL">
                    <Anchor point="RIGHT"/>
                    <OnInitialized>
                        ZO_SelectableLabel_OnInitialized(self)
                    </OnInitialized>
                </Label>

                <Label name="$(parent)KeyLabel" font="ZoFontKeybindStripKey" inherits="ZO_LargeKeyMarkupLabel">
                    <Anchor point="RIGHT" relativeTo="$(parent)NameLabel" relativePoint="LEFT" offsetX="-15"/>
                </Label>
            </Controls>
        </Control>

        <Control name="ZO_KeybindButton_Gamepad" inherits="ZO_KeybindButton" virtual="true">
            <OnInitialized name="ZO_KeybindButton_Gamepad">
                ApplyTemplateToControl(self, "ZO_KeybindButton_Gamepad_Template")
            </OnInitialized>
        </Control>
        
        <Control name="ZO_KeybindButton_LabelAligned" inherits="ZO_KeybindButton" virtual="true">
            <DimensionConstraints minY="35" maxY="35" />

            <Controls>
                <Label name="$(parent)KeyLabel" override="true" font="ZoFontKeybindStripKey" inherits="ZO_LargeKeyMarkupLabel" excludeFromResizeToFitExtents="true" />
            </Controls>
        </Control>

        <Control name="ZO_KeybindButton_ChromaBehavior" virtual="true">
            <OnInitialized>
                ZO_ChromaKeybindButtonTemplate_OnInitialized(self)
            </OnInitialized>
            
            <OnEffectivelyShown>
                ZO_KeybindButton_ChromaBehavior_OnEffectivelyShown(self)
            </OnEffectivelyShown>

            <OnEffectivelyHidden>
                ZO_KeybindButton_ChromaBehavior_OnEffectivelyHidden(self)
            </OnEffectivelyHidden>
        </Control>

        <Control name="ZO_KeybindButtonChroma" inherits="ZO_KeybindButton ZO_KeybindButton_ChromaBehavior" virtual="true" />
    </Controls>
</GuiXml>