private normalizeKeyString(keys: string): string return keys.toLowerCase().replace(/\s/g, "");
private matches(pressed: string, bindingKeys: string[]): boolean return bindingKeys.some(k => this.normalizeKeyString(k) === pressed);
| Action | Default | Custom | |--------|---------|--------| | Save | Ctrl+S | (click to record) | | New File | Ctrl+N | Ctrl+Shift+N | | Find | Ctrl+F | F3 |
setContext(context: string) this.activeContext = context;
off(id: string, callback: () => void) this.listeners.get(id)?.delete(callback);
private normalizeEvent(e: KeyboardEvent): string const parts = []; if (e.ctrlKey) parts.push("ctrl"); if (e.shiftKey) parts.push("shift"); if (e.altKey) parts.push("alt"); if (e.metaKey) parts.push("meta"); parts.push(e.key.toLowerCase()); return parts.join("+");
function useKeybinding(id: string, callback: () => void, deps: any[] = []) const manager = useKeybindingManager(); // from context useEffect(() => manager.on(id, callback); return () => manager.off(id, callback); , [id, callback, ...deps]);
private normalizeKeyString(keys: string): string return keys.toLowerCase().replace(/\s/g, "");
private matches(pressed: string, bindingKeys: string[]): boolean return bindingKeys.some(k => this.normalizeKeyString(k) === pressed); keybinding
| Action | Default | Custom | |--------|---------|--------| | Save | Ctrl+S | (click to record) | | New File | Ctrl+N | Ctrl+Shift+N | | Find | Ctrl+F | F3 | private normalizeKeyString(keys: string): string return keys
setContext(context: string) this.activeContext = context; private matches(pressed: string
off(id: string, callback: () => void) this.listeners.get(id)?.delete(callback);
private normalizeEvent(e: KeyboardEvent): string const parts = []; if (e.ctrlKey) parts.push("ctrl"); if (e.shiftKey) parts.push("shift"); if (e.altKey) parts.push("alt"); if (e.metaKey) parts.push("meta"); parts.push(e.key.toLowerCase()); return parts.join("+");
function useKeybinding(id: string, callback: () => void, deps: any[] = []) const manager = useKeybindingManager(); // from context useEffect(() => manager.on(id, callback); return () => manager.off(id, callback); , [id, callback, ...deps]);
Holy-Bible.online
>
King James Version
>
keybinding
Share this page