diff --git a/packages/editor/src/services/keybinding.ts b/packages/editor/src/services/keybinding.ts index e5627bc1..58aea835 100644 --- a/packages/editor/src/services/keybinding.ts +++ b/packages/editor/src/services/keybinding.ts @@ -145,6 +145,18 @@ class Keybinding extends BaseService { for (const [type = '', eventType = 'keydown'] of when) { const cacheItem: KeyBindingCacheItem = { type, command, keybinding, eventType, bound: false }; + if ( + this.bindingList.find( + (item) => + item.command === command && + item.eventType === eventType && + item.type === type && + item.keybinding === keybinding, + ) + ) { + continue; + } + this.bindingList.push(cacheItem); } }