node-global-key-listener
Version:
A module to listen to global key events
52 lines • 2.37 kB
TypeScript
import { IConfig } from "./ts/_types/IConfig";
import { IGlobalKeyListener } from "./ts/_types/IGlobalKeyListener";
import { IGlobalKeyServer } from "./ts/_types/IGlobalKeyServer";
export * from "./ts/_types/IGlobalKeyListener";
export * from "./ts/_types/IGlobalKeyEvent";
export * from "./ts/_types/IGlobalKey";
export * from "./ts/_types/IGlobalKeyDownMap";
export * from "./ts/_types/IWindowsConfig";
export * from "./ts/_types/IConfig";
/**
* A cross-platform global keyboard listener. Ideal for setting up global keyboard shortcuts
* and key-loggers (usually for automation).
* This keyserver uses low-level hooks on Windows OS and Event Taps on Mac OS, which allows
* event propagation to be halted to the rest of the operating system as well as allowing
* any key to be used for shortcuts.
*/
export declare class GlobalKeyboardListener {
/** The underlying keyServer used to listen and halt propagation of events */
protected keyServer: IGlobalKeyServer;
protected listeners: Array<IGlobalKeyListener>;
protected config: IConfig;
/** Whether the server is currently running */
protected isRunning: boolean;
protected stopTimeoutID: number;
/** The underlying map of keys that are being held down */
private readonly isDown;
/**
* Creates a new keyboard listener
* @param config The optional configuration for the key listener
*/
constructor(config?: IConfig);
/**
* Add a global keyboard listener to the global keyboard listener server.
* @param listener The listener to add to the global keyboard listener
* @throws An exception if the process could not be started
*/
addListener(listener: IGlobalKeyListener): Promise<void>;
/**
* Remove a global keyboard listener from the global keyboard listener server.
* @param listener The listener to remove from the global keyboard listener
*/
removeListener(listener: IGlobalKeyListener): void;
/** Removes all listeners and destroys the key server */
kill(): void;
/** Start the key server */
protected start(): Promise<void>;
/** Stop the key server */
protected stop(): void;
/** The following listener is used to monitor which keys are being held down */
private baseListener;
}
//# sourceMappingURL=index.d.ts.map