import Ember from 'ember'; const { get, inject, } = Ember; export default Ember.Route.extend({ keyManager: inject.service(), actions: { didTransition() { this._super(...arguments); get(this, 'keyManager').register({ keys: ['escape'], name: 'fancy-route', downCallback: run.bind(this, this._redirectToLaLaLand), priority: 100, }); }, willTransition() { this._super(...arguments); get(this, 'keyManager').deregister({ name: 'fancy-route', }); }, }, // The `event` that's returned as a parameter here is the JS keyboard event. _redirectToLaLaLand(event) { if (event) { event.preventDefault(); } this.transitionTo('main.la-la-land'); }, });