KeyboardJS will allow you to bind to any key the browser can detect. It allows for setting up complex key combos or even single key binds with ease. It is aware of combo overlap and will not fire simpler combos or single key bindings when they share key with larger combos. Basically if you want to use the keyboard, this will let you do it without restrictions. KeyboardJS has full support for AMD module loaders such as RequireJS.