mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-18 12:08:59 +08:00
51 lines
1.5 KiB
TypeScript
51 lines
1.5 KiB
TypeScript
// Type definitions for KeyboardJS
|
|
// Project: https://github.com/RobertWHurst/KeyboardJS
|
|
// Definitions by: Vincent Bortone <https://github.com/vbortone/>
|
|
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
|
|
|
// A JavaScript library for binding keyboard combos without the pain of key codes and key combo conflicts.
|
|
|
|
interface KeyboardJSSubBinding {
|
|
clear(): void;
|
|
}
|
|
|
|
interface KeyboardJSBinding {
|
|
clear(): void;
|
|
on(eventName: string, callbacks?: any): KeyboardJSSubBinding;
|
|
}
|
|
|
|
interface KeyboardJSLocale {
|
|
map: any;
|
|
macros: any[];
|
|
}
|
|
|
|
interface KeyboardJSStatic {
|
|
enable(): void;
|
|
disable(): void;
|
|
activeKeys(): string[];
|
|
on(keyCombo:string, onDownCallback?: (keyEvent: Event, keysPressed: string[], keyCombo: string) => void, onUpCallback?: (keyEvent: Event, keysPressed: string[], keyCombo: string) => void): KeyboardJSBinding;
|
|
clear: {
|
|
(keyCombo: string): void; // Call signature
|
|
key(keyName: string): void; // Method
|
|
};
|
|
locale: {
|
|
(localeName: string): KeyboardJSLocale; // Call signature
|
|
register(localeName: string, localeDefinition: KeyboardJSLocale): void; // Method
|
|
};
|
|
macro: {
|
|
(keyCombo:string , keyNames: string[]): void; // Call signature
|
|
remove(keyCombo: string): void; // Method
|
|
};
|
|
key: {
|
|
name(keyCode: number): string[];
|
|
code(keyName: string): any;
|
|
};
|
|
combo: {
|
|
active(keyCombo: string): boolean;
|
|
parse(keyCombo: any): any[];
|
|
stringify(keyComboArray: any): string;
|
|
};
|
|
}
|
|
|
|
declare var KeyboardJS: KeyboardJSStatic;
|