0.0.12 • Published 9 months ago

@energypatrikhu/node-hardware v0.0.12

Weekly downloads
-
License
-
Repository
github
Last release
9 months ago

node-hardware

A TypeScript library for simulating keyboard and mouse input on Windows using the node-interception library. This package provides a high-level API to send keystrokes, mouse movements, clicks, and text input programmatically.

Features

  • Simulate keyboard input (single keys, key sequences, text)
  • Simulate mouse movement (absolute/relative), clicks, and scroll
  • Built with TypeScript for type safety

Installation

npm install @energypatrikhu/node-hardware

Note: Requires node-interception and its native driver. See node-interception setup instructions for details.

Usage

import { hardware } from '@energypatrikhu/node-hardware';

// Send a single key
await hardware.sendKey('a');

// Send a sequence of keys
await hardware.sendKeys(['h', 'e', 'l', 'l', 'o']);

// Send text
await hardware.sendText('Hello, world!');

// Move mouse to (100, 200) absolute
await hardware.moveMouse(100, 200);

// Click left mouse button
await hardware.clickMouse('BUTTON_1');

// Scroll mouse wheel
await hardware.scrollMouse(120);

API

Hardware class

Keyboard methods

  • sendKey(input: Key) — Simulate a single key press and release
  • sendKeys(inputs: Key[]) — Simulate a sequence of key presses
  • toggleKey(key: Key, pressed: boolean) — Press or release a key
  • sendText(text: string) — Type a string as keyboard input

Mouse methods

  • moveMouse(x: number, y: number, relative = false) — Move mouse to coordinates (absolute or relative)
  • clickMouse(button: 'BUTTON_1' | 'BUTTON_2' | 'BUTTON_3' | 'BUTTON_4' | 'BUTTON_5') — Simulate mouse button click
  • scrollMouse(amount: number) — Scroll mouse wheel

Key Mapping

Key names and mappings are defined in src/keycode.ts. Supports standard, shifted, and AltGr keys, including international layouts.

Development

0.0.12

9 months ago

0.0.11

9 months ago

0.0.10

9 months ago

0.0.9

9 months ago

0.0.8

9 months ago

0.0.7

9 months ago

0.0.6

9 months ago

0.0.5

9 months ago

0.0.4

9 months ago

0.0.3

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago