Hi Nicolas, Thanks for looking into this.
Nicolas Goaziou <m...@nicolasgoaziou.fr> writes: > I would like to submit a new minor macro for integration within Org: the > "kbd" macro. > > The "kbd" macro focuses on normalizing keybinding during export. For > example, during Texinfo export, {{{kbd(v SPC)}}} becomes > > @kbd{v @key{SPC}} > > whereas in another back-end, it becomes > > v <SPC> > > More specifically: > > Within {{{kbd(...)}}}, the following case-sensitive keys are wrapped > within angle brackets: SPC, RET, LFD, TAB, BS, ESC, DELETE, SHIFT, > CTRL, META, up, down, left, right. (I wish there was a more light-weight syntax for macros... Maybe we should provide something similar to C-c C-l for inserting them...) > With an optional argument, it can wrap the key-binding within verbatim > or code markup: > > {{{kbd(v SPC,code)}}} => ~v <SPC>~ > > {{{kbd(v SPC,verbatim)}}} => =v <SPC>= > > Other markup is not implemented because, in that case, you can wrap > appropriate characters around the macro. I am not sure where it makes sense to print in "plain" text as opposed to code or verbatim by default. Anyway, I think it makes sense to add specific export mechanisms for several backends, which might make it possible to remove that argument. - HTML, MD :: as Kaushal points out, please use <kbd>.</kbd>. - LaTeX :: it’s complicated, as e.g. keys needs to be translated in a specific way, depending on the package that is being used, e.g. "libertinekey", "menukeys" or whatnot. We should not add new default packages IMO. We could always support a couple of different packages, but default to something like "\fbox{\ttfamily %s}". Adding support for other packages reduces to mapping specific sequences, like "SPC" to something like "\LKeySpace". - ODT :: it should be possible to use something like Biolinium or Libertinus keyboard fonts if we just have an alist mapping sequences like CTRL to the right unicode symbol (E.g. U+E173 here), but the place in the font would probably depend on the font. So unless there’s a standard it would be risky. Since fonts aren’t (typically?) embedded in ODT it might be better to add a new odt style that prints the words in the mono font inside a box, i.e. the equivalent of "\fbox{\ttfamily %s}". - Texinfo :: already supported. Rasmus -- Bang bang