mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
61 lines
1.3 KiB
TypeScript
61 lines
1.3 KiB
TypeScript
// Type definitions for keymaster v1.6.2
|
|
// Project: https://github.com/madrobby/keymaster
|
|
// Definitions by: Martin W. Kirst <https://github.com/nitram509>
|
|
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
|
|
|
// A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies.
|
|
|
|
interface KeymasterEvent {
|
|
key: string;
|
|
method: KeyHandler;
|
|
mods: number[];
|
|
scope: string;
|
|
shortcut: string;
|
|
}
|
|
|
|
interface KeyHandler {
|
|
(keyboardEvent: KeyboardEvent, keymasterEvent: KeymasterEvent) : void;
|
|
}
|
|
|
|
interface FilterEvent {
|
|
target?: {
|
|
tagName?: string;
|
|
}
|
|
srcElement?: {
|
|
tagName?: string;
|
|
}
|
|
}
|
|
|
|
interface Keymaster {
|
|
|
|
(key: string, callback: KeyHandler): void;
|
|
(key: string, scope: string, callback: KeyHandler): void;
|
|
|
|
shift: boolean;
|
|
alt: boolean;
|
|
option: boolean;
|
|
ctrl: boolean;
|
|
control: boolean;
|
|
command: boolean;
|
|
|
|
setScope(scopeName: string): void;
|
|
getScope():string;
|
|
deleteScope(scopeName: string): void;
|
|
|
|
noConflict(): void;
|
|
|
|
unbind(key: string): void;
|
|
unbind(key: string, scopeName: string): void;
|
|
|
|
isPressed(keyCode: number): boolean;
|
|
getPressedKeyCodes(): number[];
|
|
|
|
filter(event: FilterEvent): void;
|
|
}
|
|
|
|
declare var key: Keymaster;
|
|
|
|
declare module "keymaster" {
|
|
export = key;
|
|
}
|