I am trying to typeset keyboard shortcuts in my document, e.g. CTRL+SHIFT+S. The Linux Libertine font family includes a nice keyboard font that I would like to use. What's the best way to use it with fontspec? I tried the following and while it works, my latex-foo isn't that great and I was wondering if there is a better way. I also tried to use \char"XXXX instead of using the unicode character directly, but that didn't work.
\newfontface{\keyboardfont}{Linux Biolinum Keyboard O}
\newcommand{\key}[1]{{\keyboardfont #1}}
\newcommand{\ctrl}{\key{}}
\newcommand{\shift}{\key{}}
\newcommand{\alt}{\key{}}
% etc.
This allows you to typeset "normal" keys by using the \key macro, but special keys all have to be set up individually. For example, you can type:
\ctrl+\shift+\key{S}
which results in:

Is there a way to define a "smart" \key command that understands special keys? So that the above can be typed like this?
\key{ctrl}+\key{shift}+\key{S}
A similar question that unfortunately doesn't provide an answer for fontspec: Keyboard Font for LaTeX
