keyspy 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +18 -29
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -4,15 +4,31 @@
4
4
 
5
5
  keyspy is a modern, lightweight library that provides global keyboard and mouse event monitoring across Windows, macOS, and Linux. Unlike other solutions, keyspy uses pre-compiled native binaries and a multi-process architecture for maximum stability and compatibility.
6
6
 
7
- ## 🚀 Improvements over Original
7
+ ## 🤔 Why keyspy?
8
+
9
+ Choosing the right keyboard listener for your Node.js project can be challenging. Here's how keyspy compares to other popular solutions:
10
+
11
+ | Feature | Electron globalShortcut | IOHook | **keyspy** |
12
+ |---------|-------------------------|---------|------------|
13
+ | **Zero compilation** | ❌ Electron required | ❌ node-gyp required | ✅ Pre-compiled binaries |
14
+ | **Package size** | 🟡 Large (Electron) | 🟡 Medium | ✅ Small (on-demand download) |
15
+ | **System shortcuts** | ✅ Yes | ✅ Yes | ✅ Yes |
16
+ | **Event blocking** | ✅ Yes | ✅ Yes | ✅ Yes |
17
+ | **Cross-platform** | ✅ Yes | ✅ Yes | ✅ Yes |
18
+ | **TypeScript** | ✅ Built-in | 🟡 Community types | ✅ Built-in |
19
+ | **Stability** | ✅ Very stable | 🟡 Can crash Node.js | ✅ Multi-process isolation |
8
20
 
9
- This project is a modernized version of [node-global-key-listener](https://github.com/LaunchMenu/node-global-key-listener) with significant enhancements:
21
+ ### 🎯 **keyspy Advantages**
10
22
 
11
23
  - **🚀 Zero Setup**: Pre-compiled binaries downloaded automatically, no compilation required
12
24
  - **📦 Smaller Package**: Binaries downloaded on-demand (not bundled), reducing package size by ~90%
13
25
  - **📱 Universal macOS**: ARM64 + x86_64 universal binaries for all Apple Silicon and Intel Macs
14
26
  - **🔄 Modern Stack**: TypeScript, automated testing, and modern development tools
15
27
  - **🏗️ Automated Releases**: GitHub Actions handle cross-platform compilation and publishing
28
+ - **🛡️ Stable Architecture**: Multi-process design prevents Node.js crashes
29
+ - **⚡ High Performance**: Optimized native implementations for each platform
30
+
31
+ > **📚 Project Origin**: keyspy is a modernized version of [node-global-key-listener](https://github.com/LaunchMenu/node-global-key-listener), rebuilt with modern tooling and enhanced features.
16
32
 
17
33
  ## ✨ Features
18
34
 
@@ -119,34 +135,7 @@ yarn add keyspy
119
135
 
120
136
  The package automatically detects your platform and downloads the appropriate pre-compiled binary during installation. No compilation required!
121
137
 
122
- ## 🤔 Why keyspy?
123
-
124
- Choosing the right keyboard listener for your Node.js project can be challenging. Here's how keyspy compares to other popular solutions:
125
-
126
- | Feature | Electron globalShortcut | IOHook | **keyspy** |
127
- |---------|------------------------|--------|------------|
128
- | **Setup Complexity** | Simple | Complex (node-gyp) | **Simple** |
129
- | **System Shortcuts** | ❌ Limited | ✅ Full | **✅ Full** |
130
- | **Event Blocking** | ❌ No | ✅ Yes | **✅ Yes** |
131
- | **Node.js Compatibility** | ❌ Electron only | ⚠️ Version dependent | **✅ All versions** |
132
- | **Compilation Required** | ❌ No | ❌ Yes | **✅ No** |
133
- | **Arbitrary Key Support** | ❌ Limited | ⚠️ Limited | **✅ Full** |
134
- | **Process Architecture** | In-process | In-process | **Multi-process** |
135
-
136
- ### 🎯 **keyspy Advantages**
137
-
138
- - **🔧 Zero Setup**: Pre-compiled binaries work out of the box
139
- - **🌐 Universal**: Compatible with all Node.js versions (14+)
140
- - **🔒 System-Level**: Capture any key combination, including OS shortcuts
141
- - **🛡️ Stable**: Multi-process architecture prevents crashes
142
- - **📝 TypeScript**: Full type definitions included
143
- - **🎮 Flexible**: Listen to individual keys or complex combinations
144
-
145
- ### ⚠️ **Considerations**
146
138
 
147
- - **Permissions**: macOS requires Accessibility permissions
148
- - **Antivirus**: Some antivirus software may flag the native binaries
149
- - **Performance**: Small overhead due to inter-process communication
150
139
 
151
140
  ## 🛠️ Development
152
141
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keyspy",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "A cross-platform global keyboard and mouse listener for Node.js",
5
5
  "types": "build/index.d.ts",
6
6
  "main": "build/index.js",