\BLOCK{set ks = {
    'control': 'Ctrl',
    'alt': 'Alt',
    'delete': 'Del',
    'enter': '⏎ Enter',
    'shift': '⇧ Shift',
    'slash': '/',
    'comma': ',',
    'period': '.',
    'arrow-up': '\\(\\uparrow\\)',
    'arrow-down': '\\(\\downarrow\\)',
    'arrow-left': '\\(\\leftarrow\\)',
    'arrow-right': '\\(\\rightarrow\\)',
    'backslash': '\\textbackslash',
    'double-quote': '"',
    'backspace': '⌫ Delete',
    'command': '⌘',
    'tab': 'Tab',
    'esc': 'Esc',
    'insert': 'Ins',
    'home': 'Home',
    'end': 'End',
    'page-up': 'PgUp',
    'page-down': 'PgDn',
    'space': 'Space',
    'f1': 'F1',
    'f2': 'F2',
    'f3': 'F3',
    'f4': 'F4',
    'f5': 'F5',
    'f6': 'F6',
    'f7': 'F7',
    'f8': 'F8',
    'f9': 'F9',
    'f10': 'F10',
    'f11': 'F11',
    'f12': 'F12',
}}
\BLOCK{- for key in text -}
\BLOCK{- if key in ks -}
\keystroke{\VAR{ks[key]}}
\BLOCK{- else -}
\keystroke{\VAR{key|upper}}
\BLOCK{- endif -}
\BLOCK{- if not loop.last -} + \BLOCK{- endif -}
\BLOCK{- endfor -}
