From 2e0f4f32c70c1b39fc2f75508a5d6ebf7f738469 Mon Sep 17 00:00:00 2001 From: 8128-33550336 <66201155+8128-33550336@users.noreply.github.com> Date: Fri, 7 Jul 2023 05:49:42 +0900 Subject: [PATCH 1/3] add attention --- README-ja.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README-ja.md b/README-ja.md index 803b6ee..4ad36c8 100644 --- a/README-ja.md +++ b/README-ja.md @@ -42,6 +42,10 @@ capture.keyEventEmitter.on("Control.C", () => { }); ``` +## 注意 + +`process.stdin.on('data', listener)`をしているためstopしても止まりません. + # 参考 http://www.setgetweb.com/p/i5/rzaiwspecial.htm From b3653d3447cbcd58f8ee695757c715187bd99bbd Mon Sep 17 00:00:00 2001 From: 8128-33550336 <66201155+8128-33550336@users.noreply.github.com> Date: Fri, 7 Jul 2023 05:53:29 +0900 Subject: [PATCH 2/3] =?UTF-8?q?node.js=E3=81=A7=E3=83=87=E3=83=95=E3=82=A9?= =?UTF-8?q?=E3=83=AB=E3=83=88=E3=81=A7=E3=81=A7=E3=81=8D=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 17 +---------------- package.json | 3 +-- src/term.ts | 22 ++-------------------- 3 files changed, 4 insertions(+), 38 deletions(-) diff --git a/package-lock.json b/package-lock.json index 292f07c..b7888a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,7 @@ "name": "@8128-33550336/key-capture", "version": "0.7.6", "dependencies": { - "@8128-33550336/typedeventemitter": "^1.1.2", - "node-termios": "^0.1.3" + "@8128-33550336/typedeventemitter": "^1.1.2" }, "devDependencies": { "@types/node": "^20.2.5", @@ -38,20 +37,6 @@ "node": ">=0.8.x" } }, - "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" - }, - "node_modules/node-termios": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/node-termios/-/node-termios-0.1.3.tgz", - "integrity": "sha512-LgZBmDBpyTVi0LFeZPVaT9ikufixHXNPW9AdGrHOF+tBQ3n45vEKw9rrrejS6qs6iEAcJbSPVa4NwIPcnWzRxw==", - "hasInstallScript": true, - "dependencies": { - "nan": "^2.14.1" - } - }, "node_modules/typescript": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", diff --git a/package.json b/package.json index b7f42eb..9fe08bf 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,7 @@ "start": "node dist/main.js" }, "dependencies": { - "@8128-33550336/typedeventemitter": "^1.1.2", - "node-termios": "^0.1.3" + "@8128-33550336/typedeventemitter": "^1.1.2" }, "devDependencies": { "@types/node": "^20.2.5", diff --git a/src/term.ts b/src/term.ts index f658b0f..9a69954 100644 --- a/src/term.ts +++ b/src/term.ts @@ -1,12 +1,4 @@ -import { Termios, native } from "node-termios"; -const { LFLAGS, IFLAGS } = native; - const captureSingleton = (() => { - const fd = 0; - const term = new Termios(fd); - let oldLFlags = term.c_lflag; - let oldIFlags = term.c_iflag; - let isCapturing = false; const start = () => { @@ -14,24 +6,14 @@ const captureSingleton = (() => { return; } isCapturing = true; - oldLFlags = term.c_lflag; - oldIFlags = term.c_iflag; - term.c_lflag &= ~LFLAGS.ECHO; - term.c_lflag &= ~LFLAGS.ICANON; - term.c_lflag &= ~LFLAGS.ISIG; - term.c_lflag &= ~LFLAGS.IEXTEN; - term.c_iflag &= ~IFLAGS.ICRNL; - term.c_iflag &= ~IFLAGS.IXON; - term.writeTo(fd); + process.stdin.setRawMode(true); }; const stop = () => { if (!isCapturing) { return; } isCapturing = false; - term.c_lflag = oldLFlags; - term.c_iflag = oldIFlags; - term.writeTo(fd); + process.stdin.setRawMode(false); }; const getIsCapturing = () => isCapturing; From 747dae2f9c45d3a9d0d1be745aec783c5fbedfba Mon Sep 17 00:00:00 2001 From: 8128-33550336 <66201155+8128-33550336@users.noreply.github.com> Date: Fri, 7 Jul 2023 05:53:42 +0900 Subject: [PATCH 3/3] 0.8.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b7888a0..65e9fca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@8128-33550336/key-capture", - "version": "0.7.6", + "version": "0.8.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@8128-33550336/key-capture", - "version": "0.7.6", + "version": "0.8.0", "dependencies": { "@8128-33550336/typedeventemitter": "^1.1.2" }, diff --git a/package.json b/package.json index 9fe08bf..57118b9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@8128-33550336/key-capture", - "version": "0.7.6", + "version": "0.8.0", "description": "keyboard capture", "main": "dist/index.js", "types": "dist/index.d.ts",