@@ -206,10 +206,10 @@ List of all DocBook tags, with [x] indicating implemented,
206206 other dingbat
207207[ ] itermset - A set of index terms in the meta-information of a document
208208[ ] jobtitle - The title of an individual in an organization
209−[ ] keycap - The text printed on a key on a keyboard
209+[x] keycap - The text printed on a key on a keyboard
210210[ ] keycode - The internal, frequently numeric, identifier for a key
211211 on a keyboard
212−[ ] keycombo - A combination of input actions
212+[x] keycombo - A combination of input actions
213213[ ] keysym - The symbolic name of a key on a keyboard
214214[ ] keyword - One of a set of keywords describing the content of a document
215215[ ] keywordset - A set of keywords describing the content of a document
@@ -923,6 +923,8 @@ parseInline (Elem e) =
923923 "constant" -> codeWithLang
924924 "userinput" -> codeWithLang
925925 "varargs" -> return $ code "(...)"
926+ "keycap" -> return (str $ strContent e)
927+ "keycombo" -> keycombo <$> (mapM parseInline $ elContent e)
926928 "xref" -> return $ str "?" -- so at least you know something is there
927929 "email" -> return $ link ("mailto:" ++ strContent e) ""
928930 $ str $ strContent e
@@ -977,3 +979,5 @@ parseInline (Elem e) =
977979 then mempty
978980 else strong tit <> linebreak
979981 return $ linebreak <> tit' <> segs
982+ keycombo = spanWith ("",["keycombo"],[]) .
983+ mconcat . intersperse (str "+")