Skip to content

Nerimity/uiohook-napi

 
 

Repository files navigation

uiohook-napi

gh workflow run ci.yml -f electron_version=40.2.1 -f abi_version=143

N-API C-bindings for libuiohook.

Usage example

import { uIOhook, UiohookKey } from "uiohook-napi";

uIOhook.on("keydown", (e) => {
  if (e.keycode === UiohookKey.Q) {
    console.log("Hello!");
  }

  if (e.keycode === UiohookKey.Escape) {
    process.exit(0);
  }
});

uIOhook.start();

API

interface UiohookNapi {
  on(
    event: "input",
    listener: (
      e: UiohookKeyboardEvent | UiohookMouseEvent | UiohookWheelEvent,
    ) => void,
  ): this;

  on(event: "keydown", listener: (e: UiohookKeyboardEvent) => void): this;
  on(event: "keyup", listener: (e: UiohookKeyboardEvent) => void): this;

  on(event: "wheel", listener: (e: UiohookWheelEvent) => void): this;

  keyToggle(key: keycode, toggle: "down" | "up");
}

export interface UiohookKeyboardEvent {
  altKey: boolean;
  ctrlKey: boolean;
  metaKey: boolean;
  shiftKey: boolean;
  keycode: number;
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C 73.3%
  • TypeScript 17.1%
  • Python 9.6%