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.
- package/README.md +18 -29
- 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
|
-
##
|
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
|
-
|
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
|
|