node-native-win-utils 1.3.4 → 2.1.0
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 +30 -83
- package/binding.gyp +3 -0
- package/dist/dirnameLocal.cjs +4 -0
- package/dist/dirnameLocal.d.cts +1 -0
- package/dist/dirnameLocal.d.mts +1 -0
- package/dist/dirnameLocal.mjs +2 -0
- package/dist/{index.js → index.cjs} +49 -17
- package/dist/{index.d.ts → index.d.cts} +25 -12
- package/dist/index.d.mts +191 -0
- package/dist/index.mjs +177 -0
- package/dist/keyCodes.d.mts +101 -0
- package/dist/keyCodes.mjs +201 -0
- package/node22.json +16 -0
- package/package.json +22 -9
- package/prebuilds/win32-x64/node-native-win-utils.node +0 -0
- package/prebuilds/win32-x64/tesseract.dll +0 -0
- package/prebuilds/win32-x64/tiff.dll +0 -0
- package/src/cpp/keyboard.cpp +141 -140
- package/src/cpp/main.cpp +11 -3
- package/src/cpp/{capturewindow.cpp → screenshot.cpp} +174 -2
- package/src/cpp/tesseract.cpp +49 -0
- package/src/dirnameLocal.mts +3 -0
- package/src/index.mts +454 -0
- package/src/keyCodes.mts +203 -0
- package/include/opencv2/core/affine.hpp +0 -678
- package/include/opencv2/core/async.hpp +0 -105
- package/include/opencv2/core/base.hpp +0 -664
- package/include/opencv2/core/bindings_utils.hpp +0 -325
- package/include/opencv2/core/bufferpool.hpp +0 -40
- package/include/opencv2/core/check.hpp +0 -170
- package/include/opencv2/core/core.hpp +0 -48
- package/include/opencv2/core/core_c.h +0 -3128
- package/include/opencv2/core/cuda/block.hpp +0 -211
- package/include/opencv2/core/cuda/border_interpolate.hpp +0 -722
- package/include/opencv2/core/cuda/color.hpp +0 -309
- package/include/opencv2/core/cuda/common.hpp +0 -131
- package/include/opencv2/core/cuda/datamov_utils.hpp +0 -113
- package/include/opencv2/core/cuda/detail/color_detail.hpp +0 -2018
- package/include/opencv2/core/cuda/detail/reduce.hpp +0 -365
- package/include/opencv2/core/cuda/detail/reduce_key_val.hpp +0 -502
- package/include/opencv2/core/cuda/detail/transform_detail.hpp +0 -392
- package/include/opencv2/core/cuda/detail/type_traits_detail.hpp +0 -191
- package/include/opencv2/core/cuda/detail/vec_distance_detail.hpp +0 -121
- package/include/opencv2/core/cuda/dynamic_smem.hpp +0 -88
- package/include/opencv2/core/cuda/emulation.hpp +0 -269
- package/include/opencv2/core/cuda/filters.hpp +0 -293
- package/include/opencv2/core/cuda/funcattrib.hpp +0 -79
- package/include/opencv2/core/cuda/functional.hpp +0 -805
- package/include/opencv2/core/cuda/limits.hpp +0 -128
- package/include/opencv2/core/cuda/reduce.hpp +0 -209
- package/include/opencv2/core/cuda/saturate_cast.hpp +0 -292
- package/include/opencv2/core/cuda/scan.hpp +0 -258
- package/include/opencv2/core/cuda/simd_functions.hpp +0 -869
- package/include/opencv2/core/cuda/transform.hpp +0 -75
- package/include/opencv2/core/cuda/type_traits.hpp +0 -90
- package/include/opencv2/core/cuda/utility.hpp +0 -230
- package/include/opencv2/core/cuda/vec_distance.hpp +0 -232
- package/include/opencv2/core/cuda/vec_math.hpp +0 -923
- package/include/opencv2/core/cuda/vec_traits.hpp +0 -288
- package/include/opencv2/core/cuda/warp.hpp +0 -139
- package/include/opencv2/core/cuda/warp_reduce.hpp +0 -76
- package/include/opencv2/core/cuda/warp_shuffle.hpp +0 -162
- package/include/opencv2/core/cuda.hpp +0 -1279
- package/include/opencv2/core/cuda.inl.hpp +0 -763
- package/include/opencv2/core/cuda_stream_accessor.hpp +0 -86
- package/include/opencv2/core/cuda_types.hpp +0 -144
- package/include/opencv2/core/cv_cpu_dispatch.h +0 -381
- package/include/opencv2/core/cv_cpu_helper.h +0 -550
- package/include/opencv2/core/cvdef.h +0 -973
- package/include/opencv2/core/cvstd.hpp +0 -190
- package/include/opencv2/core/cvstd.inl.hpp +0 -197
- package/include/opencv2/core/cvstd_wrapper.hpp +0 -154
- package/include/opencv2/core/detail/async_promise.hpp +0 -71
- package/include/opencv2/core/detail/dispatch_helper.impl.hpp +0 -49
- package/include/opencv2/core/detail/exception_ptr.hpp +0 -27
- package/include/opencv2/core/directx.hpp +0 -184
- package/include/opencv2/core/dualquaternion.hpp +0 -979
- package/include/opencv2/core/dualquaternion.inl.hpp +0 -487
- package/include/opencv2/core/eigen.hpp +0 -402
- package/include/opencv2/core/fast_math.hpp +0 -433
- package/include/opencv2/core/hal/hal.hpp +0 -256
- package/include/opencv2/core/hal/interface.h +0 -190
- package/include/opencv2/core/hal/intrin.hpp +0 -939
- package/include/opencv2/core/hal/intrin_avx.hpp +0 -3177
- package/include/opencv2/core/hal/intrin_avx512.hpp +0 -3090
- package/include/opencv2/core/hal/intrin_cpp.hpp +0 -3321
- package/include/opencv2/core/hal/intrin_forward.hpp +0 -191
- package/include/opencv2/core/hal/intrin_lasx.hpp +0 -3236
- package/include/opencv2/core/hal/intrin_msa.hpp +0 -1887
- package/include/opencv2/core/hal/intrin_neon.hpp +0 -2610
- package/include/opencv2/core/hal/intrin_rvv.hpp +0 -3320
- package/include/opencv2/core/hal/intrin_rvv071.hpp +0 -2545
- package/include/opencv2/core/hal/intrin_rvv_scalable.hpp +0 -2080
- package/include/opencv2/core/hal/intrin_sse.hpp +0 -3467
- package/include/opencv2/core/hal/intrin_sse_em.hpp +0 -180
- package/include/opencv2/core/hal/intrin_vsx.hpp +0 -1608
- package/include/opencv2/core/hal/intrin_wasm.hpp +0 -2782
- package/include/opencv2/core/hal/msa_macros.h +0 -1558
- package/include/opencv2/core/hal/simd_utils.impl.hpp +0 -186
- package/include/opencv2/core/llapi/llapi.h +0 -102
- package/include/opencv2/core/mat.hpp +0 -3775
- package/include/opencv2/core/mat.inl.hpp +0 -3422
- package/include/opencv2/core/matx.hpp +0 -1536
- package/include/opencv2/core/neon_utils.hpp +0 -128
- package/include/opencv2/core/ocl.hpp +0 -917
- package/include/opencv2/core/ocl_genbase.hpp +0 -69
- package/include/opencv2/core/opencl/ocl_defs.hpp +0 -82
- package/include/opencv2/core/opencl/opencl_info.hpp +0 -212
- package/include/opencv2/core/opencl/opencl_svm.hpp +0 -81
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_clblas.hpp +0 -602
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_clfft.hpp +0 -146
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp +0 -371
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp +0 -272
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp +0 -62
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp +0 -42
- package/include/opencv2/core/opencl/runtime/opencl_clblas.hpp +0 -53
- package/include/opencv2/core/opencl/runtime/opencl_clfft.hpp +0 -53
- package/include/opencv2/core/opencl/runtime/opencl_core.hpp +0 -84
- package/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp +0 -47
- package/include/opencv2/core/opencl/runtime/opencl_gl.hpp +0 -53
- package/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp +0 -47
- package/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp +0 -48
- package/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp +0 -42
- package/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp +0 -166
- package/include/opencv2/core/opengl.hpp +0 -733
- package/include/opencv2/core/openvx/ovx_defs.hpp +0 -48
- package/include/opencv2/core/operations.hpp +0 -610
- package/include/opencv2/core/optim.hpp +0 -302
- package/include/opencv2/core/ovx.hpp +0 -28
- package/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp +0 -72
- package/include/opencv2/core/parallel/backend/parallel_for.tbb.hpp +0 -153
- package/include/opencv2/core/parallel/parallel_backend.hpp +0 -90
- package/include/opencv2/core/persistence.hpp +0 -1350
- package/include/opencv2/core/private/cv_cpu_include_simd_declarations.hpp +0 -30
- package/include/opencv2/core/private.cuda.hpp +0 -169
- package/include/opencv2/core/private.hpp +0 -896
- package/include/opencv2/core/quaternion.hpp +0 -1696
- package/include/opencv2/core/quaternion.inl.hpp +0 -1063
- package/include/opencv2/core/saturate.hpp +0 -180
- package/include/opencv2/core/simd_intrinsics.hpp +0 -87
- package/include/opencv2/core/softfloat.hpp +0 -514
- package/include/opencv2/core/sse_utils.hpp +0 -652
- package/include/opencv2/core/traits.hpp +0 -417
- package/include/opencv2/core/types.hpp +0 -2457
- package/include/opencv2/core/types_c.h +0 -2126
- package/include/opencv2/core/utility.hpp +0 -1229
- package/include/opencv2/core/utils/allocator_stats.hpp +0 -29
- package/include/opencv2/core/utils/allocator_stats.impl.hpp +0 -158
- package/include/opencv2/core/utils/buffer_area.private.hpp +0 -136
- package/include/opencv2/core/utils/configuration.private.hpp +0 -22
- package/include/opencv2/core/utils/filesystem.hpp +0 -82
- package/include/opencv2/core/utils/filesystem.private.hpp +0 -66
- package/include/opencv2/core/utils/fp_control.private.hpp +0 -29
- package/include/opencv2/core/utils/fp_control_utils.hpp +0 -69
- package/include/opencv2/core/utils/instrumentation.hpp +0 -125
- package/include/opencv2/core/utils/lock.private.hpp +0 -119
- package/include/opencv2/core/utils/logger.defines.hpp +0 -42
- package/include/opencv2/core/utils/logger.hpp +0 -218
- package/include/opencv2/core/utils/logtag.hpp +0 -28
- package/include/opencv2/core/utils/plugin_loader.private.hpp +0 -165
- package/include/opencv2/core/utils/tls.hpp +0 -235
- package/include/opencv2/core/utils/trace.hpp +0 -252
- package/include/opencv2/core/utils/trace.private.hpp +0 -421
- package/include/opencv2/core/va_intel.hpp +0 -75
- package/include/opencv2/core/version.hpp +0 -26
- package/include/opencv2/core/vsx_utils.hpp +0 -1047
- package/include/opencv2/core.hpp +0 -3365
- package/include/opencv2/imgcodecs/imgcodecs.hpp +0 -48
- package/include/opencv2/imgcodecs/imgcodecs_c.h +0 -1
- package/include/opencv2/imgcodecs/ios.h +0 -59
- package/include/opencv2/imgcodecs/legacy/constants_c.h +0 -54
- package/include/opencv2/imgcodecs/macosx.h +0 -20
- package/include/opencv2/imgcodecs.hpp +0 -407
- package/include/opencv2/imgproc/bindings.hpp +0 -34
- package/include/opencv2/imgproc/detail/gcgraph.hpp +0 -395
- package/include/opencv2/imgproc/hal/hal.hpp +0 -246
- package/include/opencv2/imgproc/hal/interface.h +0 -46
- package/include/opencv2/imgproc/imgproc.hpp +0 -48
- package/include/opencv2/imgproc/imgproc_c.h +0 -1177
- package/include/opencv2/imgproc/segmentation.hpp +0 -141
- package/include/opencv2/imgproc/types_c.h +0 -659
- package/include/opencv2/imgproc.hpp +0 -5035
- package/include/opencv2/opencv_modules.hpp +0 -17
- package/libs/libjpeg-turbo.lib +0 -0
- package/libs/libpng.lib +0 -0
- package/libs/opencv_core470.lib +0 -0
- package/libs/opencv_imgcodecs470.lib +0 -0
- package/libs/opencv_imgproc470.lib +0 -0
- package/libs/zlib.lib +0 -0
- /package/dist/{keyCodes.js → keyCodes.cjs} +0 -0
- /package/dist/{keyCodes.d.ts → keyCodes.d.cts} +0 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from "module";
|
|
2
|
+
const __require = _createRequire(import.meta.url);
|
|
3
|
+
import EventEmitter from 'events';
|
|
4
|
+
import path from "path";
|
|
5
|
+
import fs from "fs";
|
|
6
|
+
// @ts-ignore
|
|
7
|
+
const nodeGypBuild = __require("node-gyp-build");
|
|
8
|
+
import { keyCodes, KeyCodeHelper } from "./keyCodes.mjs";
|
|
9
|
+
import { __dirnameLocal } from "./dirnameLocal.mjs";
|
|
10
|
+
const bindings = nodeGypBuild(path.resolve(__dirnameLocal, ".."));
|
|
11
|
+
const { setKeyDownCallback, setKeyUpCallback, unsetKeyDownCallback, unsetKeyUpCallback, getWindowData, captureWindowN, captureScreenAsync, mouseMove, mouseClick, mouseDrag, typeString, pressKey, imread, imwrite, matchTemplate, blur, bgrToGray, drawRectangle, getRegion, textRecognition } = bindings;
|
|
12
|
+
const rawPressKey = pressKey;
|
|
13
|
+
/**
|
|
14
|
+
* Captures a window and saves it to a file.
|
|
15
|
+
* @param windowName - The name of the window to capture.
|
|
16
|
+
* @param path - The file path to save the captured image.
|
|
17
|
+
* @returns True if the capture and save operation is successful, otherwise false.
|
|
18
|
+
*/
|
|
19
|
+
function captureWindow(windowName, path) {
|
|
20
|
+
const buffer = captureWindowN(windowName);
|
|
21
|
+
if (!buffer)
|
|
22
|
+
return false;
|
|
23
|
+
fs.writeFileSync(path, new Uint8Array(buffer));
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Captures a screen and saves it to a file.
|
|
28
|
+
* @param path - The file path to save the captured image.
|
|
29
|
+
* @returns True if the capture and save operation is successful, otherwise false.
|
|
30
|
+
*/
|
|
31
|
+
function captureScreenToFile(path) {
|
|
32
|
+
return new Promise((resolve, reject) => {
|
|
33
|
+
captureScreenAsync().then((buffer) => {
|
|
34
|
+
fs.writeFileSync(path, new Uint8Array(buffer));
|
|
35
|
+
resolve(true);
|
|
36
|
+
}).catch((err => {
|
|
37
|
+
reject(err);
|
|
38
|
+
}));
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Represents a class to listen to keyboard events.
|
|
43
|
+
* @extends EventEmitter
|
|
44
|
+
*/
|
|
45
|
+
class KeyboardListenerPrivate extends EventEmitter {
|
|
46
|
+
constructor() {
|
|
47
|
+
super();
|
|
48
|
+
setKeyDownCallback((keyCode) => {
|
|
49
|
+
const keyName = keyCodes.get(keyCode.toString());
|
|
50
|
+
this.emit("keyDown", {
|
|
51
|
+
keyCode,
|
|
52
|
+
keyName,
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
setKeyUpCallback((keyCode) => {
|
|
56
|
+
const keyName = keyCodes.get(keyCode.toString());
|
|
57
|
+
this.emit("keyUp", {
|
|
58
|
+
keyCode,
|
|
59
|
+
keyName,
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
class KeyboardListener {
|
|
65
|
+
static listenerInstance = null;
|
|
66
|
+
static listener() {
|
|
67
|
+
if (!this.listenerInstance)
|
|
68
|
+
this.listenerInstance = new KeyboardListenerPrivate();
|
|
69
|
+
return this.listenerInstance;
|
|
70
|
+
}
|
|
71
|
+
static destroy() {
|
|
72
|
+
this.listenerInstance = null;
|
|
73
|
+
unsetKeyDownCallback();
|
|
74
|
+
unsetKeyUpCallback();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Represents the OpenCV class that provides image processing functionality.
|
|
79
|
+
*/
|
|
80
|
+
class OpenCV {
|
|
81
|
+
imageData;
|
|
82
|
+
/**
|
|
83
|
+
* Represents the OpenCV class that provides image processing functionality.
|
|
84
|
+
*/
|
|
85
|
+
constructor(image) {
|
|
86
|
+
if (typeof image === "string") {
|
|
87
|
+
this.imageData = imread(image);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this.imageData = image;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The width of the image.
|
|
95
|
+
*/
|
|
96
|
+
get width() {
|
|
97
|
+
return this.imageData.width;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The height of the image.
|
|
101
|
+
*/
|
|
102
|
+
get height() {
|
|
103
|
+
return this.imageData.height;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Matches a template image within the current image.
|
|
107
|
+
* @param template - The template image data to search for.
|
|
108
|
+
* @param method - The template matching method (optional).
|
|
109
|
+
* @param mask - The optional mask image data to apply the operation (optional).
|
|
110
|
+
* @returns The result of the template matching operation.
|
|
111
|
+
*/
|
|
112
|
+
matchTemplate(template, method, mask) {
|
|
113
|
+
return matchTemplate(this.imageData, template, method, mask);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Applies a blur filter to the image.
|
|
117
|
+
* @param sizeX - The horizontal size of the blur filter.
|
|
118
|
+
* @param sizeY - The vertical size of the blur filter.
|
|
119
|
+
* @returns A new OpenCV instance with the blurred image data.
|
|
120
|
+
*/
|
|
121
|
+
blur(sizeX, sizeY) {
|
|
122
|
+
return new OpenCV(blur(this.imageData, sizeX, sizeY));
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Converts the image from BGR to grayscale.
|
|
126
|
+
* @returns A new OpenCV instance with the grayscale image data.
|
|
127
|
+
*/
|
|
128
|
+
bgrToGray() {
|
|
129
|
+
return new OpenCV(bgrToGray(this.imageData));
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Draws a rectangle on the image.
|
|
133
|
+
* @param start - The starting point of the rectangle.
|
|
134
|
+
* @param end - The ending point of the rectangle.
|
|
135
|
+
* @param rgb - The color (RGB) of the rectangle.
|
|
136
|
+
* @param thickness - The thickness of the rectangle's border.
|
|
137
|
+
* @returns A new OpenCV instance with the image containing the drawn rectangle.
|
|
138
|
+
*/
|
|
139
|
+
drawRectangle(start, end, rgb, thickness) {
|
|
140
|
+
return new OpenCV(drawRectangle(this.imageData, start, end, rgb, thickness));
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Extracts a region of interest (ROI) from the image.
|
|
144
|
+
* @param region - The region of interest defined as [x, y, width, height].
|
|
145
|
+
* @returns A new OpenCV instance with the extracted region of interest.
|
|
146
|
+
*/
|
|
147
|
+
getRegion(region) {
|
|
148
|
+
return new OpenCV(getRegion(this.imageData, region));
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Writes the image data to a file.
|
|
152
|
+
* @param path - The file path to save the image.
|
|
153
|
+
*/
|
|
154
|
+
imwrite(path) {
|
|
155
|
+
const buffer = imwrite(this.imageData);
|
|
156
|
+
if (!buffer)
|
|
157
|
+
return;
|
|
158
|
+
fs.writeFileSync(path, new Uint8Array(buffer));
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
function keyPress(keyCode, repeat) {
|
|
162
|
+
return new Promise((resolve, reject) => {
|
|
163
|
+
if (!repeat) {
|
|
164
|
+
let result = rawPressKey(keyCode);
|
|
165
|
+
if (!result)
|
|
166
|
+
reject('Something went wrong');
|
|
167
|
+
return resolve(true);
|
|
168
|
+
}
|
|
169
|
+
for (let i = 0; i <= repeat; i++) {
|
|
170
|
+
let result = rawPressKey(keyCode);
|
|
171
|
+
if (!result)
|
|
172
|
+
reject('Something went wrong');
|
|
173
|
+
}
|
|
174
|
+
return resolve(true);
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
export { getWindowData, captureWindow, captureWindowN, mouseMove, mouseClick, mouseDrag, typeString, keyPress, rawPressKey, KeyCodeHelper, textRecognition, captureScreenToFile, KeyboardListener, OpenCV };
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export declare const keyCodes: Map<string, string>;
|
|
2
|
+
export declare enum KeyCodeHelper {
|
|
3
|
+
"Backspace" = 8,
|
|
4
|
+
"Tab" = 9,
|
|
5
|
+
"Enter" = 13,
|
|
6
|
+
"Shift" = 16,
|
|
7
|
+
"Ctrl" = 17,
|
|
8
|
+
"Alt" = 18,
|
|
9
|
+
"CapsLock" = 20,
|
|
10
|
+
"Escape" = 27,
|
|
11
|
+
"Space" = 32,
|
|
12
|
+
"PageUp" = 33,
|
|
13
|
+
"PageDown" = 34,
|
|
14
|
+
"End" = 35,
|
|
15
|
+
"Home" = 36,
|
|
16
|
+
"ArrowLeft" = 37,
|
|
17
|
+
"ArrowUp" = 38,
|
|
18
|
+
"ArrowRight" = 39,
|
|
19
|
+
"ArrowDown" = 40,
|
|
20
|
+
"Insert" = 45,
|
|
21
|
+
"Delete" = 46,
|
|
22
|
+
"Zero" = 48,
|
|
23
|
+
"One" = 49,
|
|
24
|
+
"Two" = 50,
|
|
25
|
+
"Three" = 51,
|
|
26
|
+
"Four" = 52,
|
|
27
|
+
"Five" = 53,
|
|
28
|
+
"Six" = 54,
|
|
29
|
+
"Seven" = 55,
|
|
30
|
+
"Eight" = 56,
|
|
31
|
+
"Nine" = 57,
|
|
32
|
+
"A" = 65,
|
|
33
|
+
"B" = 66,
|
|
34
|
+
"C" = 67,
|
|
35
|
+
"D" = 68,
|
|
36
|
+
"E" = 69,
|
|
37
|
+
"F" = 70,
|
|
38
|
+
"G" = 71,
|
|
39
|
+
"H" = 72,
|
|
40
|
+
"I" = 73,
|
|
41
|
+
"J" = 74,
|
|
42
|
+
"K" = 75,
|
|
43
|
+
"L" = 76,
|
|
44
|
+
"M" = 77,
|
|
45
|
+
"N" = 78,
|
|
46
|
+
"O" = 79,
|
|
47
|
+
"P" = 80,
|
|
48
|
+
"Q" = 81,
|
|
49
|
+
"R" = 82,
|
|
50
|
+
"S" = 83,
|
|
51
|
+
"T" = 84,
|
|
52
|
+
"U" = 85,
|
|
53
|
+
"V" = 86,
|
|
54
|
+
"W" = 87,
|
|
55
|
+
"X" = 88,
|
|
56
|
+
"Y" = 89,
|
|
57
|
+
"Z" = 90,
|
|
58
|
+
"MetaLeft" = 91,
|
|
59
|
+
"MetaRight" = 92,
|
|
60
|
+
"ContextMenu" = 93,
|
|
61
|
+
"Numpad0" = 96,
|
|
62
|
+
"Numpad1" = 97,
|
|
63
|
+
"Numpad2" = 98,
|
|
64
|
+
"Numpad3" = 99,
|
|
65
|
+
"Numpad4" = 100,
|
|
66
|
+
"Numpad5" = 101,
|
|
67
|
+
"Numpad6" = 102,
|
|
68
|
+
"Numpad7" = 103,
|
|
69
|
+
"Numpad8" = 104,
|
|
70
|
+
"Numpad9" = 105,
|
|
71
|
+
"NumpadMultiply" = 106,
|
|
72
|
+
"NumpadAdd" = 107,
|
|
73
|
+
"NumpadSubtract" = 109,
|
|
74
|
+
"NumpadDecimal" = 110,
|
|
75
|
+
"NumpadDivide" = 111,
|
|
76
|
+
"F1" = 112,
|
|
77
|
+
"F2" = 113,
|
|
78
|
+
"F3" = 114,
|
|
79
|
+
"F4" = 115,
|
|
80
|
+
"F5" = 116,
|
|
81
|
+
"F6" = 117,
|
|
82
|
+
"F7" = 118,
|
|
83
|
+
"F8" = 119,
|
|
84
|
+
"F9" = 120,
|
|
85
|
+
"F10" = 121,
|
|
86
|
+
"F11" = 122,
|
|
87
|
+
"F12" = 123,
|
|
88
|
+
"NumLock" = 144,
|
|
89
|
+
"ScrollLock" = 145,
|
|
90
|
+
"Semicolon" = 186,
|
|
91
|
+
"Equal" = 187,
|
|
92
|
+
"Comma" = 188,
|
|
93
|
+
"Minus" = 189,
|
|
94
|
+
"Period" = 190,
|
|
95
|
+
"Slash" = 191,
|
|
96
|
+
"Backquote" = 192,
|
|
97
|
+
"BracketLeft" = 219,
|
|
98
|
+
"Backslash" = 220,
|
|
99
|
+
"BracketRight" = 221,
|
|
100
|
+
"Quote" = 222
|
|
101
|
+
}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
export const keyCodes = new Map(Object.entries({
|
|
2
|
+
8: "Backspace",
|
|
3
|
+
9: "Tab",
|
|
4
|
+
13: "Enter",
|
|
5
|
+
16: "Shift",
|
|
6
|
+
17: "Ctrl",
|
|
7
|
+
18: "Alt",
|
|
8
|
+
20: "CapsLock",
|
|
9
|
+
27: "Escape",
|
|
10
|
+
32: "Space",
|
|
11
|
+
33: "PageUp",
|
|
12
|
+
34: "PageDown",
|
|
13
|
+
35: "End",
|
|
14
|
+
36: "Home",
|
|
15
|
+
37: "ArrowLeft",
|
|
16
|
+
38: "ArrowUp",
|
|
17
|
+
39: "ArrowRight",
|
|
18
|
+
40: "ArrowDown",
|
|
19
|
+
45: "Insert",
|
|
20
|
+
46: "Delete",
|
|
21
|
+
48: "0",
|
|
22
|
+
49: "1",
|
|
23
|
+
50: "2",
|
|
24
|
+
51: "3",
|
|
25
|
+
52: "4",
|
|
26
|
+
53: "5",
|
|
27
|
+
54: "6",
|
|
28
|
+
55: "7",
|
|
29
|
+
56: "8",
|
|
30
|
+
57: "9",
|
|
31
|
+
65: "A",
|
|
32
|
+
66: "B",
|
|
33
|
+
67: "C",
|
|
34
|
+
68: "D",
|
|
35
|
+
69: "E",
|
|
36
|
+
70: "F",
|
|
37
|
+
71: "G",
|
|
38
|
+
72: "H",
|
|
39
|
+
73: "I",
|
|
40
|
+
74: "J",
|
|
41
|
+
75: "K",
|
|
42
|
+
76: "L",
|
|
43
|
+
77: "M",
|
|
44
|
+
78: "N",
|
|
45
|
+
79: "O",
|
|
46
|
+
80: "P",
|
|
47
|
+
81: "Q",
|
|
48
|
+
82: "R",
|
|
49
|
+
83: "S",
|
|
50
|
+
84: "T",
|
|
51
|
+
85: "U",
|
|
52
|
+
86: "V",
|
|
53
|
+
87: "W",
|
|
54
|
+
88: "X",
|
|
55
|
+
89: "Y",
|
|
56
|
+
90: "Z",
|
|
57
|
+
91: "MetaLeft",
|
|
58
|
+
92: "MetaRight",
|
|
59
|
+
93: "ContextMenu",
|
|
60
|
+
96: "Numpad0",
|
|
61
|
+
97: "Numpad1",
|
|
62
|
+
98: "Numpad2",
|
|
63
|
+
99: "Numpad3",
|
|
64
|
+
100: "Numpad4",
|
|
65
|
+
101: "Numpad5",
|
|
66
|
+
102: "Numpad6",
|
|
67
|
+
103: "Numpad7",
|
|
68
|
+
104: "Numpad8",
|
|
69
|
+
105: "Numpad9",
|
|
70
|
+
106: "NumpadMultiply",
|
|
71
|
+
107: "NumpadAdd",
|
|
72
|
+
109: "NumpadSubtract",
|
|
73
|
+
110: "NumpadDecimal",
|
|
74
|
+
111: "NumpadDivide",
|
|
75
|
+
112: "F1",
|
|
76
|
+
113: "F2",
|
|
77
|
+
114: "F3",
|
|
78
|
+
115: "F4",
|
|
79
|
+
116: "F5",
|
|
80
|
+
117: "F6",
|
|
81
|
+
118: "F7",
|
|
82
|
+
119: "F8",
|
|
83
|
+
120: "F9",
|
|
84
|
+
121: "F10",
|
|
85
|
+
122: "F11",
|
|
86
|
+
123: "F12",
|
|
87
|
+
144: "NumLock",
|
|
88
|
+
145: "ScrollLock",
|
|
89
|
+
186: "Semicolon",
|
|
90
|
+
187: "Equal",
|
|
91
|
+
188: "Comma",
|
|
92
|
+
189: "Minus",
|
|
93
|
+
190: "Period",
|
|
94
|
+
191: "Slash",
|
|
95
|
+
192: "Backquote",
|
|
96
|
+
219: "BracketLeft",
|
|
97
|
+
220: "Backslash",
|
|
98
|
+
221: "BracketRight",
|
|
99
|
+
222: "Quote",
|
|
100
|
+
}));
|
|
101
|
+
export var KeyCodeHelper;
|
|
102
|
+
(function (KeyCodeHelper) {
|
|
103
|
+
KeyCodeHelper[KeyCodeHelper["Backspace"] = 8] = "Backspace";
|
|
104
|
+
KeyCodeHelper[KeyCodeHelper["Tab"] = 9] = "Tab";
|
|
105
|
+
KeyCodeHelper[KeyCodeHelper["Enter"] = 13] = "Enter";
|
|
106
|
+
KeyCodeHelper[KeyCodeHelper["Shift"] = 16] = "Shift";
|
|
107
|
+
KeyCodeHelper[KeyCodeHelper["Ctrl"] = 17] = "Ctrl";
|
|
108
|
+
KeyCodeHelper[KeyCodeHelper["Alt"] = 18] = "Alt";
|
|
109
|
+
KeyCodeHelper[KeyCodeHelper["CapsLock"] = 20] = "CapsLock";
|
|
110
|
+
KeyCodeHelper[KeyCodeHelper["Escape"] = 27] = "Escape";
|
|
111
|
+
KeyCodeHelper[KeyCodeHelper["Space"] = 32] = "Space";
|
|
112
|
+
KeyCodeHelper[KeyCodeHelper["PageUp"] = 33] = "PageUp";
|
|
113
|
+
KeyCodeHelper[KeyCodeHelper["PageDown"] = 34] = "PageDown";
|
|
114
|
+
KeyCodeHelper[KeyCodeHelper["End"] = 35] = "End";
|
|
115
|
+
KeyCodeHelper[KeyCodeHelper["Home"] = 36] = "Home";
|
|
116
|
+
KeyCodeHelper[KeyCodeHelper["ArrowLeft"] = 37] = "ArrowLeft";
|
|
117
|
+
KeyCodeHelper[KeyCodeHelper["ArrowUp"] = 38] = "ArrowUp";
|
|
118
|
+
KeyCodeHelper[KeyCodeHelper["ArrowRight"] = 39] = "ArrowRight";
|
|
119
|
+
KeyCodeHelper[KeyCodeHelper["ArrowDown"] = 40] = "ArrowDown";
|
|
120
|
+
KeyCodeHelper[KeyCodeHelper["Insert"] = 45] = "Insert";
|
|
121
|
+
KeyCodeHelper[KeyCodeHelper["Delete"] = 46] = "Delete";
|
|
122
|
+
KeyCodeHelper[KeyCodeHelper["Zero"] = 48] = "Zero";
|
|
123
|
+
KeyCodeHelper[KeyCodeHelper["One"] = 49] = "One";
|
|
124
|
+
KeyCodeHelper[KeyCodeHelper["Two"] = 50] = "Two";
|
|
125
|
+
KeyCodeHelper[KeyCodeHelper["Three"] = 51] = "Three";
|
|
126
|
+
KeyCodeHelper[KeyCodeHelper["Four"] = 52] = "Four";
|
|
127
|
+
KeyCodeHelper[KeyCodeHelper["Five"] = 53] = "Five";
|
|
128
|
+
KeyCodeHelper[KeyCodeHelper["Six"] = 54] = "Six";
|
|
129
|
+
KeyCodeHelper[KeyCodeHelper["Seven"] = 55] = "Seven";
|
|
130
|
+
KeyCodeHelper[KeyCodeHelper["Eight"] = 56] = "Eight";
|
|
131
|
+
KeyCodeHelper[KeyCodeHelper["Nine"] = 57] = "Nine";
|
|
132
|
+
KeyCodeHelper[KeyCodeHelper["A"] = 65] = "A";
|
|
133
|
+
KeyCodeHelper[KeyCodeHelper["B"] = 66] = "B";
|
|
134
|
+
KeyCodeHelper[KeyCodeHelper["C"] = 67] = "C";
|
|
135
|
+
KeyCodeHelper[KeyCodeHelper["D"] = 68] = "D";
|
|
136
|
+
KeyCodeHelper[KeyCodeHelper["E"] = 69] = "E";
|
|
137
|
+
KeyCodeHelper[KeyCodeHelper["F"] = 70] = "F";
|
|
138
|
+
KeyCodeHelper[KeyCodeHelper["G"] = 71] = "G";
|
|
139
|
+
KeyCodeHelper[KeyCodeHelper["H"] = 72] = "H";
|
|
140
|
+
KeyCodeHelper[KeyCodeHelper["I"] = 73] = "I";
|
|
141
|
+
KeyCodeHelper[KeyCodeHelper["J"] = 74] = "J";
|
|
142
|
+
KeyCodeHelper[KeyCodeHelper["K"] = 75] = "K";
|
|
143
|
+
KeyCodeHelper[KeyCodeHelper["L"] = 76] = "L";
|
|
144
|
+
KeyCodeHelper[KeyCodeHelper["M"] = 77] = "M";
|
|
145
|
+
KeyCodeHelper[KeyCodeHelper["N"] = 78] = "N";
|
|
146
|
+
KeyCodeHelper[KeyCodeHelper["O"] = 79] = "O";
|
|
147
|
+
KeyCodeHelper[KeyCodeHelper["P"] = 80] = "P";
|
|
148
|
+
KeyCodeHelper[KeyCodeHelper["Q"] = 81] = "Q";
|
|
149
|
+
KeyCodeHelper[KeyCodeHelper["R"] = 82] = "R";
|
|
150
|
+
KeyCodeHelper[KeyCodeHelper["S"] = 83] = "S";
|
|
151
|
+
KeyCodeHelper[KeyCodeHelper["T"] = 84] = "T";
|
|
152
|
+
KeyCodeHelper[KeyCodeHelper["U"] = 85] = "U";
|
|
153
|
+
KeyCodeHelper[KeyCodeHelper["V"] = 86] = "V";
|
|
154
|
+
KeyCodeHelper[KeyCodeHelper["W"] = 87] = "W";
|
|
155
|
+
KeyCodeHelper[KeyCodeHelper["X"] = 88] = "X";
|
|
156
|
+
KeyCodeHelper[KeyCodeHelper["Y"] = 89] = "Y";
|
|
157
|
+
KeyCodeHelper[KeyCodeHelper["Z"] = 90] = "Z";
|
|
158
|
+
KeyCodeHelper[KeyCodeHelper["MetaLeft"] = 91] = "MetaLeft";
|
|
159
|
+
KeyCodeHelper[KeyCodeHelper["MetaRight"] = 92] = "MetaRight";
|
|
160
|
+
KeyCodeHelper[KeyCodeHelper["ContextMenu"] = 93] = "ContextMenu";
|
|
161
|
+
KeyCodeHelper[KeyCodeHelper["Numpad0"] = 96] = "Numpad0";
|
|
162
|
+
KeyCodeHelper[KeyCodeHelper["Numpad1"] = 97] = "Numpad1";
|
|
163
|
+
KeyCodeHelper[KeyCodeHelper["Numpad2"] = 98] = "Numpad2";
|
|
164
|
+
KeyCodeHelper[KeyCodeHelper["Numpad3"] = 99] = "Numpad3";
|
|
165
|
+
KeyCodeHelper[KeyCodeHelper["Numpad4"] = 100] = "Numpad4";
|
|
166
|
+
KeyCodeHelper[KeyCodeHelper["Numpad5"] = 101] = "Numpad5";
|
|
167
|
+
KeyCodeHelper[KeyCodeHelper["Numpad6"] = 102] = "Numpad6";
|
|
168
|
+
KeyCodeHelper[KeyCodeHelper["Numpad7"] = 103] = "Numpad7";
|
|
169
|
+
KeyCodeHelper[KeyCodeHelper["Numpad8"] = 104] = "Numpad8";
|
|
170
|
+
KeyCodeHelper[KeyCodeHelper["Numpad9"] = 105] = "Numpad9";
|
|
171
|
+
KeyCodeHelper[KeyCodeHelper["NumpadMultiply"] = 106] = "NumpadMultiply";
|
|
172
|
+
KeyCodeHelper[KeyCodeHelper["NumpadAdd"] = 107] = "NumpadAdd";
|
|
173
|
+
KeyCodeHelper[KeyCodeHelper["NumpadSubtract"] = 109] = "NumpadSubtract";
|
|
174
|
+
KeyCodeHelper[KeyCodeHelper["NumpadDecimal"] = 110] = "NumpadDecimal";
|
|
175
|
+
KeyCodeHelper[KeyCodeHelper["NumpadDivide"] = 111] = "NumpadDivide";
|
|
176
|
+
KeyCodeHelper[KeyCodeHelper["F1"] = 112] = "F1";
|
|
177
|
+
KeyCodeHelper[KeyCodeHelper["F2"] = 113] = "F2";
|
|
178
|
+
KeyCodeHelper[KeyCodeHelper["F3"] = 114] = "F3";
|
|
179
|
+
KeyCodeHelper[KeyCodeHelper["F4"] = 115] = "F4";
|
|
180
|
+
KeyCodeHelper[KeyCodeHelper["F5"] = 116] = "F5";
|
|
181
|
+
KeyCodeHelper[KeyCodeHelper["F6"] = 117] = "F6";
|
|
182
|
+
KeyCodeHelper[KeyCodeHelper["F7"] = 118] = "F7";
|
|
183
|
+
KeyCodeHelper[KeyCodeHelper["F8"] = 119] = "F8";
|
|
184
|
+
KeyCodeHelper[KeyCodeHelper["F9"] = 120] = "F9";
|
|
185
|
+
KeyCodeHelper[KeyCodeHelper["F10"] = 121] = "F10";
|
|
186
|
+
KeyCodeHelper[KeyCodeHelper["F11"] = 122] = "F11";
|
|
187
|
+
KeyCodeHelper[KeyCodeHelper["F12"] = 123] = "F12";
|
|
188
|
+
KeyCodeHelper[KeyCodeHelper["NumLock"] = 144] = "NumLock";
|
|
189
|
+
KeyCodeHelper[KeyCodeHelper["ScrollLock"] = 145] = "ScrollLock";
|
|
190
|
+
KeyCodeHelper[KeyCodeHelper["Semicolon"] = 186] = "Semicolon";
|
|
191
|
+
KeyCodeHelper[KeyCodeHelper["Equal"] = 187] = "Equal";
|
|
192
|
+
KeyCodeHelper[KeyCodeHelper["Comma"] = 188] = "Comma";
|
|
193
|
+
KeyCodeHelper[KeyCodeHelper["Minus"] = 189] = "Minus";
|
|
194
|
+
KeyCodeHelper[KeyCodeHelper["Period"] = 190] = "Period";
|
|
195
|
+
KeyCodeHelper[KeyCodeHelper["Slash"] = 191] = "Slash";
|
|
196
|
+
KeyCodeHelper[KeyCodeHelper["Backquote"] = 192] = "Backquote";
|
|
197
|
+
KeyCodeHelper[KeyCodeHelper["BracketLeft"] = 219] = "BracketLeft";
|
|
198
|
+
KeyCodeHelper[KeyCodeHelper["Backslash"] = 220] = "Backslash";
|
|
199
|
+
KeyCodeHelper[KeyCodeHelper["BracketRight"] = 221] = "BracketRight";
|
|
200
|
+
KeyCodeHelper[KeyCodeHelper["Quote"] = 222] = "Quote";
|
|
201
|
+
})(KeyCodeHelper || (KeyCodeHelper = {}));
|
package/node22.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/tsconfig",
|
|
3
|
+
"display": "Node 22",
|
|
4
|
+
"_version": "22.0.0",
|
|
5
|
+
|
|
6
|
+
"compilerOptions": {
|
|
7
|
+
"lib": ["es2023"],
|
|
8
|
+
"module": "node16",
|
|
9
|
+
"target": "es2022",
|
|
10
|
+
|
|
11
|
+
"strict": true,
|
|
12
|
+
"esModuleInterop": true,
|
|
13
|
+
"skipLibCheck": true,
|
|
14
|
+
"moduleResolution": "node16"
|
|
15
|
+
}
|
|
16
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-native-win-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"author": "Andrew K.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "https://github.com/T-Rumibul/node-native-win-utils.git",
|
|
@@ -25,23 +25,36 @@
|
|
|
25
25
|
"template matching",
|
|
26
26
|
"image",
|
|
27
27
|
"blur",
|
|
28
|
-
"grayscale"
|
|
28
|
+
"grayscale",
|
|
29
|
+
"text recognition",
|
|
30
|
+
"OCR"
|
|
29
31
|
],
|
|
30
|
-
"
|
|
32
|
+
"exports": {
|
|
33
|
+
"require": "./dist/index.cjs",
|
|
34
|
+
"import": "./dist/index.mjs"
|
|
35
|
+
},
|
|
36
|
+
"main": "dist/index.cjs",
|
|
31
37
|
"types": "dist/index.d.ts",
|
|
32
38
|
"gypfile": true,
|
|
33
39
|
"scripts": {
|
|
34
40
|
"install": "node-gyp-build",
|
|
35
|
-
"build": "node-gyp clean && prebuildify --napi &&
|
|
36
|
-
"
|
|
41
|
+
"build": "node-gyp clean && npx prebuildify --napi && node ./buildHelpers/dllCopy.js && npm run buildts",
|
|
42
|
+
"buildts": "node ./buildHelpers/cjsCompatBuild.js",
|
|
43
|
+
"test": "tap run "
|
|
37
44
|
},
|
|
38
45
|
"dependencies": {
|
|
39
|
-
"node-addon-api": "^
|
|
40
|
-
"node-gyp": "^
|
|
41
|
-
"node-gyp-build": "4.8.
|
|
46
|
+
"node-addon-api": "^8.3.1",
|
|
47
|
+
"node-gyp": "^11.1.0",
|
|
48
|
+
"node-gyp-build": "^4.8.4"
|
|
42
49
|
},
|
|
43
50
|
"devDependencies": {
|
|
44
51
|
"@types/node": "^20.2.5",
|
|
45
|
-
"
|
|
52
|
+
"node-api-headers": "^1.5.0",
|
|
53
|
+
"tap": "^21.1.0"
|
|
54
|
+
},
|
|
55
|
+
"tap": {
|
|
56
|
+
"plugin": [
|
|
57
|
+
"@tapjs/sinon"
|
|
58
|
+
]
|
|
46
59
|
}
|
|
47
60
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|