## Keymaps You can customize the initial state of the module from the editor initialization ```js const editor = grapesjs.init({ keymaps: { // Object of keymaps defaults: { 'your-namespace:keymap-name' { keys: '⌘+z, ctrl+z', handler: 'some-command-id' }, ... } } }) ``` Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance ```js const keymaps = editor.Keymaps; ``` - [getConfig][1] - [add][2] - [get][3] - [getAll][4] - [remove][5] - [removeAll][6] ## getConfig Get module configurations Returns **[Object][7]** Configuration object ## add Add new keymap ### Parameters - `id` **[string][8]** Keymap id - `keys` **[string][8]** Keymap keys, eg. `ctrl+a`, `⌘+z, ctrl+z` - `handler` **([Function][9] \| [string][8])** Keymap handler, might be a function - `opts` **[Object][7]** Options (optional, default `{}`) ### Examples ```javascript // 'ns' is just a custom namespace keymaps.add('ns:my-keymap', '⌘+j, ⌘+u, ctrl+j, alt+u', editor => { console.log('do stuff'); }); // or keymaps.add('ns:my-keymap', '⌘+s, ctrl+s', 'some-gjs-command'); // listen to events editor.on('keymap:emit', (id, shortcut, e) => { // ... }) ``` Returns **[Object][7]** Added keymap or just a command id as a string ## get Get the keymap by id ### Parameters - `id` **[string][8]** Keymap id ### Examples ```javascript keymaps.get('ns:my-keymap'); // -> {keys, handler}; ``` Returns **[Object][7]** Keymap object ## getAll Get all keymaps ### Examples ```javascript keymaps.getAll(); // -> {id1: {}, id2: {}}; ``` Returns **[Object][7]** ## remove Remove the keymap by id ### Parameters - `id` **[string][8]** Keymap id ### Examples ```javascript keymaps.remove('ns:my-keymap'); // -> {keys, handler}; ``` Returns **[Object][7]** Removed keymap ## removeAll Remove all binded keymaps Returns **this** [1]: #getconfig [2]: #add [3]: #get [4]: #getAll [5]: #remove [6]: #removeall [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object [8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String [9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function