Parses a "Key Binding String" into its parts
grammar = <sequence> = <press> <press> <press> ... = <key> or <mods>+<key> = <mod>+<mod>+... = <KeyboardEvent.key> or <KeyboardEvent.code> (case-insensitive) = (<regex>) -> /^<regex>$/ (case-sensitive)
<sequence>
<press> <press> <press> ...
<key>
<mods>+<key>
<mod>+<mod>+...
<KeyboardEvent.key>
<KeyboardEvent.code>
(<regex>)
/^<regex>$/
Parses a "Key Binding String" into its parts
grammar = =     =      =       =       =      
<sequence><press> <press> <press> ...<key>or<mods>+<key><mod>+<mod>+...<KeyboardEvent.key>or<KeyboardEvent.code>(case-insensitive)(<regex>)->/^<regex>$/(case-sensitive)