diff --git a/esoui/ingame/collections/keyboard/dlcbook_keyboard.xml b/esoui/ingame/collections/keyboard/dlcbook_keyboard.xml
new file mode 100644
index 0000000..882b1b8
--- /dev/null
+++ b/esoui/ingame/collections/keyboard/dlcbook_keyboard.xml
@@ -0,0 +1,140 @@
+<GuiXml>
+ <Controls>
+ <Label name="ZO_DLCBookDefaultLabel_Keyboard" font="ZoFontWinH4" color="INTERFACE_COLOR_TYPE_TEXT_COLORS:INTERFACE_TEXT_COLOR_NORMAL" virtual="true" />
+ <Label name="ZO_DLCBookLargeLabel_Keyboard" inherits="ZO_DLCBookDefaultLabel_Keyboard" font="ZoFontWinH2" virtual="true" />
+
+ <Control name="ZO_DLCBookNavigationHeader_Keyboard" inherits="ZO_IconHeader" virtual="true">
+ <DimensionConstraints minY="48" maxY="48" />
+
+ <Controls>
+ <Texture name="$(parent)Icon" override="true">
+ <Anchor point="CENTER" relativePoint="LEFT" offsetX="7" />
+ </Texture>
+
+ <Label name="$(parent)Text" override="true" font="ZoFontHeader3" inherits="ZO_SelectableLabel">
+ <Anchor point="TOPLEFT" offsetX="20" offsetY="9" />
+ </Label>
+ </Controls>
+ </Control>
+
+ <Label name="ZO_DLCBookNavigationEntry_Keyboard" inherits="ZO_SelectableTooltipIfTruncatedLabel ZO_TreeEntry" font="ZoFontHeader" verticalAlignment="CENTER" virtual="true">
+ <Dimensions x="220" y="22" />
+
+ <Controls>
+ <Texture name="$(parent)StatusIcon" textureFile="EsoUI/Art/Miscellaneous/new_icon.dds" hidden="true">
+ <Dimensions x="24" y="24" />
+ <Anchor point="RIGHT" relativePoint="LEFT" />
+ </Texture>
+ </Controls>
+ </Label>
+
+ <TopLevelControl name="ZO_DLCBook_Keyboard" inherits="ZO_RightPanelFootPrint" mouseEnabled="true" hidden="true">
+ <OnInitialized>
+ ZO_DLCBook_Keyboard_OnInitialize(self)
+ </OnInitialized>
+
+ <Controls>
+ <Control name="$(parent)NavigationList" inherits="ZO_ScrollContainer">
+ <Dimensions x="285" />
+ <Anchor point="TOPLEFT" offsetX="-10" offsetY="77" />
+ <Anchor point="BOTTOMLEFT" offsetX="-10" offsetY="-60" />
+ </Control>
+
+ <Control name="$(parent)Contents">
+ <Anchor point="TOPLEFT" relativeTo="$(parent)NavigationList" relativePoint="TOPRIGHT" offsetX="5" />
+ <Anchor point="BOTTOMRIGHT" offsetX="-36" />
+
+ <Controls>
+ <Texture name="$(parent)Image" level="2">
+ <Dimensions y="200" />
+ <Anchor point="TOPLEFT" />
+ <Anchor point="TOPRIGHT" />
+ <!-- 1024x256 image cropped to 614x200-->
+ <TextureCoords left="0" right="0.599609375" top="0" bottom="0.78125"/>
+ <Controls>
+ <Backdrop name="$(parent)Border" inherits="ZO_DarkThinFrame" />
+ </Controls>
+ </Texture>
+
+ <Label name="$(parent)Name" inherits="ZO_DLCBookLargeLabel_Keyboard" modifyTextType="UPPERCASE" color="INTERFACE_COLOR_TYPE_TEXT_COLORS:INTERFACE_TEXT_COLOR_SELECTED">
+ <Anchor point="TOPLEFT" relativeTo="$(parent)Image" offsetX="10" offsetY="10" />
+ </Label>
+
+ <Control name="$(parent)ScrollContainer" inherits="ZO_ScrollContainer">
+ <Dimensions y="300"/>
+ <Anchor point="TOPLEFT" relativeTo="$(parent)Image" relativePoint="BOTTOMLEFT" offsetY="10" />
+ <Anchor point="TOPRIGHT" relativeTo="$(parent)Image" relativePoint="BOTTOMRIGHT" offsetY="10" />
+
+ <Controls>
+ <Control name="$(parent)ScrollChild" override="true">
+ <Anchor point="TOPLEFT" />
+ <Anchor point="TOPRIGHT" />
+ <OnInitialized>
+ self:SetParent(self:GetParent():GetNamedChild("Scroll"))
+ </OnInitialized>
+
+ <Controls>
+ <Label name="$(parent)Description" inherits="ZO_DLCBookDefaultLabel_Keyboard">
+ <Anchor point="TOPLEFT" />
+ <Anchor point="TOPRIGHT" />
+ </Label>
+
+ <Label name="$(parent)UnlockStatusLabel" inherits="ZO_DLCBookDefaultLabel_Keyboard" color="INTERFACE_COLOR_TYPE_TEXT_COLORS:INTERFACE_TEXT_COLOR_SELECTED">
+ <Anchor point="TOPLEFT" relativeTo="$(parent)Description" relativePoint="BOTTOMLEFT" offsetY="10" />
+ </Label>
+
+ <Label name="$(parent)QuestStatusLabel" inherits="ZO_DLCBookDefaultLabel_Keyboard">
+ <Anchor point="TOPLEFT" relativeTo="$(parent)UnlockStatusLabel" relativePoint="BOTTOMLEFT" offsetY="5" />
+ </Label>
+
+ <Label name="$(parent)QuestAvailable" font="ZoFontHeader2" color="INTERFACE_COLOR_TYPE_TEXT_COLORS:INTERFACE_TEXT_COLOR_SELECTED" modifyTextType="UPPERCASE" hidden="true">
+ <Dimensions x="598" />
+ <Anchor point="TOPLEFT" relativeTo="$(parent)QuestStatusLabel" relativePoint="BOTTOMLEFT" offsetY="30" />
+ </Label>
+
+ <Label name="$(parent)QuestDescription" inherits="ZO_DLCBookDefaultLabel_Keyboard" hidden="true">
+ <Dimensions x="598" />
+ <Anchor point="TOPLEFT" relativeTo="$(parent)QuestAvailable" relativePoint="BOTTOMLEFT" />
+ </Label>
+ </Controls>
+ </Control>
+ </Controls>
+ </Control>
+
+ <Control name="$(parent)DLCInteractButtons" resizeToFitDescendents="true">
+ <Anchor point="BOTTOM" offsetY="-20" />
+ <Controls>
+ <Button name="$(parent)QuestAccept" inherits="ZO_DefaultButton" text="SI_DLC_BOOK_ACTION_ACCEPT_QUEST">
+ <Dimensions x="200" />
+ <Anchor point="BOTTOMLEFT" />
+
+ <OnClicked>
+ ZO_DLCBook_Keyboard_OnQuestAcceptClicked(self)
+ </OnClicked>
+ </Button>
+
+ <Button name="$(parent)UnlockPermanently" inherits="ZO_DefaultButton" text="SI_DLC_BOOK_ACTION_OPEN_CROWN_STORE">
+ <Dimensions x="200" />
+ <Anchor point="BOTTOMLEFT" relativeTo="$(parent)QuestAccept" relativePoint="BOTTOMRIGHT" />
+
+ <OnClicked>
+ ZO_DLCBook_Keyboard_OnUnlockPermanentlyClicked(self)
+ </OnClicked>
+ </Button>
+ </Controls>
+ </Control>
+
+ <Button name="$(parent)SubscribeButton" inherits="ZO_DefaultButton" text="SI_DLC_BOOK_ACTION_GET_SUBSCRIPTION">
+ <Dimensions x="200" />
+ <Anchor point="TOP" relativeTo="$(grandparent)NavigationList" relativePoint="BOTTOM" offsetY="10"/>
+
+ <OnClicked>
+ ZO_DLCBook_Keyboard_OnSubscribeClicked(self)
+ </OnClicked>
+ </Button>
+ </Controls>
+ </Control>
+ </Controls>
+ </TopLevelControl>
+ </Controls>
+</GuiXml>
\ No newline at end of file