From 3218c39b860ae4fdc69d4fae0de61080394fdac9 Mon Sep 17 00:00:00 2001 From: muwoo <2424880409@qq.com> Date: Tue, 26 Sep 2023 16:10:37 +0800 Subject: [PATCH] =?UTF-8?q?:tada:=20=E5=BC=80=E5=A7=8B=E5=8E=9F=E7=94=9F?= =?UTF-8?q?=20addon=20=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .build/pre-release.ps1 | 10 + .build/pre-release.sh | 12 + .github/CONTRIBUTING.md | 0 .github/FUNDING.yml | 4 + .github/ISSUE_TEMPLATE/bug.md | 15 + .github/ISSUE_TEMPLATE/enhancement.md | 13 + .github/ISSUE_TEMPLATE/feature.md | 13 + .github/ISSUE_TEMPLATE/question.md | 8 + .github/PULL_REQUEST_TEMPLATE/bugfix.md | 15 + .github/PULL_REQUEST_TEMPLATE/enhancement.md | 15 + .github/PULL_REQUEST_TEMPLATE/feature.md | 15 + .github/workflows/ci.yaml | 39 ++ .github/workflows/snapshot_release.yaml | 87 ++++ .github/workflows/tagged_release.yaml | 61 +++ .gitignore | 8 + .npmignore | 21 + 3rdparty/win32/api-ms-win-crt-heap-l1-1-0.dll | Bin 0 -> 19768 bytes .../win32/api-ms-win-crt-runtime-l1-1-0.dll | Bin 0 -> 22464 bytes .../win32/api-ms-win-crt-string-l1-1-0.dll | Bin 0 -> 24888 bytes 3rdparty/win32/msvcp140.dll | Bin 0 -> 633152 bytes 3rdparty/win32/vcruntime140.dll | Bin 0 -> 87888 bytes 3rdparty/win32/vcruntime140_1.dll | Bin 0 -> 38304 bytes CHANGELOG.md | 106 ++++ CMakeLists.txt | 87 ++++ LICENSE.md | 201 ++++++++ README.md | 28 + index.d.ts | 61 +++ index.js | 9 + package.json | 47 ++ permissionCheck.js | 58 +++ src/clipboard.h | 9 + src/deadbeef_rand.c | 27 + src/deadbeef_rand.h | 35 ++ src/inline_keywords.h | 15 + src/keycode.h | 336 ++++++++++++ src/keypress.h | 86 ++++ src/linux/keycode.c | 76 +++ src/linux/keypress.c | 144 ++++++ src/macos/clipboard.mm | 19 + src/macos/keycode.c | 82 +++ src/macos/keypress.c | 190 +++++++ src/main.cc | 369 +++++++++++++ src/microsleep.h | 40 ++ src/os.h | 42 ++ src/types.h | 72 +++ src/win32/clipboard.cc | 62 +++ src/win32/keycode.c | 6 + src/win32/keypress.c | 192 +++++++ test/clipboard.js | 3 + test/keyboard.js | 40 ++ test/package.json | 25 + yarn.lock | 486 ++++++++++++++++++ 52 files changed, 3289 insertions(+) create mode 100644 .build/pre-release.ps1 create mode 100755 .build/pre-release.sh create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE/bug.md create mode 100644 .github/ISSUE_TEMPLATE/enhancement.md create mode 100644 .github/ISSUE_TEMPLATE/feature.md create mode 100644 .github/ISSUE_TEMPLATE/question.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/bugfix.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/enhancement.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/feature.md create mode 100644 .github/workflows/ci.yaml create mode 100644 .github/workflows/snapshot_release.yaml create mode 100644 .github/workflows/tagged_release.yaml create mode 100644 .gitignore create mode 100644 .npmignore create mode 100644 3rdparty/win32/api-ms-win-crt-heap-l1-1-0.dll create mode 100644 3rdparty/win32/api-ms-win-crt-runtime-l1-1-0.dll create mode 100644 3rdparty/win32/api-ms-win-crt-string-l1-1-0.dll create mode 100644 3rdparty/win32/msvcp140.dll create mode 100644 3rdparty/win32/vcruntime140.dll create mode 100644 3rdparty/win32/vcruntime140_1.dll create mode 100644 CHANGELOG.md create mode 100644 CMakeLists.txt create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 index.d.ts create mode 100644 index.js create mode 100644 package.json create mode 100644 permissionCheck.js create mode 100644 src/clipboard.h create mode 100644 src/deadbeef_rand.c create mode 100644 src/deadbeef_rand.h create mode 100644 src/inline_keywords.h create mode 100644 src/keycode.h create mode 100644 src/keypress.h create mode 100644 src/linux/keycode.c create mode 100644 src/linux/keypress.c create mode 100644 src/macos/clipboard.mm create mode 100644 src/macos/keycode.c create mode 100644 src/macos/keypress.c create mode 100644 src/main.cc create mode 100644 src/microsleep.h create mode 100644 src/os.h create mode 100644 src/types.h create mode 100644 src/win32/clipboard.cc create mode 100644 src/win32/keycode.c create mode 100644 src/win32/keypress.c create mode 100644 test/clipboard.js create mode 100644 test/keyboard.js create mode 100644 test/package.json create mode 100644 yarn.lock diff --git a/.build/pre-release.ps1 b/.build/pre-release.ps1 new file mode 100644 index 0000000..5b10f29 --- /dev/null +++ b/.build/pre-release.ps1 @@ -0,0 +1,10 @@ +"//registry.npmjs.org/:_authToken=$env:NPM_TOKEN`n" | out-file "$env:userprofile\.npmrc" -Encoding ASCII +npm whoami + +$timestamp = Get-Date -Format yyyyMMddhhmmss +$patchVersion = (npm --no-git-tag version patch) +$nextVersion = "${patchVersion}-next.${timestamp}".Substring(1) +echo $nextVersion + +npm version --no-git-tag -f $nextVersion +npm run publish:next \ No newline at end of file diff --git a/.build/pre-release.sh b/.build/pre-release.sh new file mode 100755 index 0000000..d399960 --- /dev/null +++ b/.build/pre-release.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -ex + +echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc +npm whoami + +patchVersion=$(npm --no-git-tag version patch) +nextVersion=${patchVersion}-next."$(date +%Y%m%d%H%M%S)" +echo "${nextVersion:1}" + +npm version --no-git-tag -f "${nextVersion:1}" +npm run publish:next diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..e69de29 diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..48b89e3 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,4 @@ +# These are supported funding model platforms + +github: s1hofmann +patreon: s1hofmann diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md new file mode 100644 index 0000000..2d42bb1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -0,0 +1,15 @@ +--- +name: Bug report +about: Create a bug report to help us enhance our images +--- + +**Version** + +**Short overview** + +**Detailed error description** + +**Steps to reproduce error** + +**Additional content** +> Please provide any (mandatory) additional data to reproduce the error (Dockerfiles etc.) \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/enhancement.md b/.github/ISSUE_TEMPLATE/enhancement.md new file mode 100644 index 0000000..7fc1723 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement.md @@ -0,0 +1,13 @@ +--- +name: Enhancement +about: Suggest a possible enhancement to the project +--- + +**Short overview** + +**Use case** + +**Detailed description** + +**Additional content** +> Please provide any (mandatory) additional data for your enhancement diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md new file mode 100644 index 0000000..5c64de4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -0,0 +1,13 @@ +--- +name: Feature request +about: Open a feature request +--- + +**Short overview** + +**Use case** + +**Detailed feature description** + +**Additional content** +> Please provide any (mandatory) additional data for your desired feature \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 0000000..d567ccd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,8 @@ +--- +name: Question +about: File a request to resolve open questions +--- + +**Short summary** + +**Detailed question** \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/bugfix.md b/.github/PULL_REQUEST_TEMPLATE/bugfix.md new file mode 100644 index 0000000..bef0d18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/bugfix.md @@ -0,0 +1,15 @@ +--- +name: Bugfix +about: Request to merge a bugfix +--- + +**Short summary** + +**Detailed description (motivation, use-case etc.)** + +**Screenshots (if appropriate)** + +**Checklist** + +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/enhancement.md b/.github/PULL_REQUEST_TEMPLATE/enhancement.md new file mode 100644 index 0000000..9f4128a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/enhancement.md @@ -0,0 +1,15 @@ +--- +name: Enhancement +about: Request to merge an enhancement +--- + +**Short summary** + +**Detailed description (motivation, use-case etc.)** + +**Screenshots (if appropriate)** + +**Checklist** + +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/feature.md b/.github/PULL_REQUEST_TEMPLATE/feature.md new file mode 100644 index 0000000..f30068c --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/feature.md @@ -0,0 +1,15 @@ +--- +name: Feature +about: Request to merge a new feature +--- + +**Short summary** + +**Detailed description (motivation, use-case etc.)** + +**Screenshots (if appropriate)** + +**Checklist** + +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. \ No newline at end of file diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..aae6971 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,39 @@ +name: Run CI +on: + push: + branches-ignore: + - develop + - release/** + pull_request: + +jobs: + test: + strategy: + matrix: + os: [ ubuntu-20.04, macos-11, windows-2019 ] + node: [ 16 ] + runs-on: ${{matrix.os}} + steps: + - name: Set up Git repository + uses: actions/checkout@v2 + - name: Set up node + uses: actions/setup-node@v2 + with: + node-version: ${{matrix.node}} + - name: Configure Linux environment + if: ${{matrix.os == 'ubuntu-20.04'}} + run: sudo apt-get install -y cmake libx11-dev zlib1g-dev libpng-dev libxtst-dev build-essential + - name: Install + run: npm run patch && npm i + - name: Build + run: npm run build:release + - name: Run tests + uses: GabrielBB/xvfb-action@v1 + with: + working-directory: ./test/ + run: npm cit + - name: Run window tests + uses: GabrielBB/xvfb-action@v1 + with: + working-directory: ./test/window-integration-tests + run: npm cit diff --git a/.github/workflows/snapshot_release.yaml b/.github/workflows/snapshot_release.yaml new file mode 100644 index 0000000..38c502f --- /dev/null +++ b/.github/workflows/snapshot_release.yaml @@ -0,0 +1,87 @@ +name: Create snapshot release +on: + push: + branches: + - develop + workflow_dispatch: + inputs: + reason: + description: 'Reason for the snapshot release' + required: true + default: 'Snapshot release' + +jobs: + test: + strategy: + matrix: + os: [ ubuntu-20.04, macos-11, windows-2019 ] + runs-on: ${{matrix.os}} + steps: + - name: Set up Git repository + uses: actions/checkout@v2 + - name: Set up node + uses: actions/setup-node@v2 + with: + node-version: ${{matrix.node}} + - name: Configure Linux environment + if: ${{matrix.os == 'ubuntu-20.04'}} + run: sudo apt-get install -y cmake libx11-dev zlib1g-dev libpng-dev libxtst-dev build-essential + - name: Install + run: npm run patch && npm i + - name: Build + run: npm run build:release + - name: Run tests + uses: GabrielBB/xvfb-action@v1 + with: + working-directory: ./test/ + run: npm cit + - name: Run window tests + if: ${{matrix.os == 'windows-2019'}} + uses: GabrielBB/xvfb-action@v1 + with: + working-directory: ./test/window-integration-tests + run: npm cit + + deploy: + needs: + - test + strategy: + matrix: + os: [ ubuntu-20.04, macos-11, windows-2019 ] + runs-on: ${{matrix.os}} + steps: + - name: Set up Git repository + uses: actions/checkout@v2 + - name: Set up node + uses: actions/setup-node@v2 + with: + node-version: 14 + - name: Configure Linux environment + if: ${{matrix.os == 'ubuntu-20.04'}} + run: sudo apt-get install -y cmake libx11-dev zlib1g-dev libpng-dev libxtst-dev build-essential + - name: Install + run: npm run patch && npm i + - name: Publish snapshot release + if: ${{matrix.os == 'ubuntu-20.04' || matrix.os == 'macos-11'}} + run: ./.build/pre-release.sh + shell: bash + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Publish Windows snapshot release + if: ${{matrix.os == 'windows-2019'}} + run: ./.build/pre-release.ps1 + shell: powershell + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + + dispatch: + needs: + - deploy + runs-on: ubuntu-20.04 + steps: + - name: Dispatch snapshot release + uses: peter-evans/repository-dispatch@v1 + with: + token: ${{ secrets.SNAPSHOT_DISPATCH_TOKEN }} + repository: nut-tree/libnut-install + event-type: snapshot-release diff --git a/.github/workflows/tagged_release.yaml b/.github/workflows/tagged_release.yaml new file mode 100644 index 0000000..a1ebfdf --- /dev/null +++ b/.github/workflows/tagged_release.yaml @@ -0,0 +1,61 @@ +name: Create tagged release +on: + push: + tags: + - v*.*.* + +jobs: + test: + strategy: + matrix: + os: [ ubuntu-20.04, macos-11, windows-2019 ] + runs-on: ${{matrix.os}} + steps: + - name: Set up Git repository + uses: actions/checkout@v2 + - name: Set up node + uses: actions/setup-node@v2 + with: + node-version: ${{matrix.node}} + - name: Configure Linux environment + if: ${{matrix.os == 'ubuntu-20.04'}} + run: sudo apt-get install -y cmake libx11-dev zlib1g-dev libpng-dev libxtst-dev build-essential + - name: Install + run: npm run patch && npm i + - name: Build + run: npm run build:release + - name: Run tests + uses: GabrielBB/xvfb-action@v1 + with: + working-directory: ./test/ + run: npm cit + - name: Run window tests + if: ${{matrix.os == 'windows-2019'}} + uses: GabrielBB/xvfb-action@v1 + with: + working-directory: ./test/window-integration-tests + run: npm cit + + deploy: + needs: + - test + strategy: + matrix: + os: [ ubuntu-20.04, macos-11, windows-2019 ] + runs-on: ${{matrix.os}} + steps: + - name: Set up Git repository + uses: actions/checkout@v2 + - name: Set up node + uses: actions/setup-node@v2 + with: + node-version: 14 + - name: Configure Linux environment + if: ${{matrix.os == 'ubuntu-20.04'}} + run: sudo apt-get install -y cmake libx11-dev zlib1g-dev libpng-dev libxtst-dev build-essential + - name: Install + run: npm run patch && npm i + - name: Publish tagged release + uses: JS-DevTools/npm-publish@v1 + with: + token: ${{ secrets.NPM_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7dffdeb --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +build/ +node_modules/ +prebuilds/ +.idea +.vscode +.cache +cmake-build-debug +.DS_Store \ No newline at end of file diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..6f77a7e --- /dev/null +++ b/.npmignore @@ -0,0 +1,21 @@ +.idea +.vscode +.build +.github +3rdparty +build/CMakeFiles +build/cmake_install.cmake +build/CMakeCache.txt +build/Makefile +build/*.vcxproj* +build/*.sln +build/x64/ +build/libnut.dir/ +CMakeFiles +src +test +.travis.yml +CMakeLists.txt +GPATH +GRTAGS +GTAGS diff --git a/3rdparty/win32/api-ms-win-crt-heap-l1-1-0.dll b/3rdparty/win32/api-ms-win-crt-heap-l1-1-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..618d989d38bb550631eed55f57e7a57722a9a8ff GIT binary patch literal 19768 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 literal 0 HcmV?d00001 diff --git a/3rdparty/win32/api-ms-win-crt-runtime-l1-1-0.dll b/3rdparty/win32/api-ms-win-crt-runtime-l1-1-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..18aed84672b5b4a9ebfe0c873d117291c9c67c00 GIT binary patch literal 22464 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⪚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 B<(B{e literal 0 HcmV?d00001 diff --git a/3rdparty/win32/vcruntime140.dll b/3rdparty/win32/vcruntime140.dll new file mode 100644 index 0000000000000000000000000000000000000000..52fe06bd612e47835444a68b4863ca254519cc8b GIT binary patch literal 87888 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.15.3" + }, + "os": [ + "darwin", + "linux", + "win32" + ], + "cpu": [ + "x64", + "arm64" + ] +} diff --git a/permissionCheck.js b/permissionCheck.js new file mode 100644 index 0000000..4815f4a --- /dev/null +++ b/permissionCheck.js @@ -0,0 +1,58 @@ +let rubickAddon = require("bindings")("rubick-addon"); + +let hasScreenRecordingPermission = false; +let hasAccessibilityPermission = false; + +try { + const permissions = require("@nut-tree/node-mac-permissions"); + + const wrapWithWarning = (message, nativeFunction) => (...args) => { + console.warn(message); + return nativeFunction(...args); + }; + + const askForAccessibility = (nativeFunction, functionName) => { + if (process.platform !== 'darwin' || hasAccessibilityPermission) { + return nativeFunction; + } + const accessibilityStatus = permissions.getAuthStatus("accessibility"); + + if (accessibilityStatus === 'authorized') { + hasAccessibilityPermission = true; + return nativeFunction; + } else if (accessibilityStatus === 'not determined' || accessibilityStatus === 'denied') { + permissions.askForAccessibilityAccess(); + return wrapWithWarning(`##### WARNING! The application running this script tries to access accessibility features to execute ${functionName}! Please grant requested access and visit https://github.com/nut-tree/nut.js#macos for further information. #####`, nativeFunction); + } + } + const askForScreenRecording = (nativeFunction, functionName) => { + if (process.platform !== 'darwin' || hasScreenRecordingPermission) { + return nativeFunction; + } + const screenCaptureStatus = permissions.getAuthStatus("screen"); + + if (screenCaptureStatus === 'authorized') { + hasScreenRecordingPermission = true; + return nativeFunction; + } else if (screenCaptureStatus === 'not determined' || screenCaptureStatus === 'denied') { + permissions.askForScreenCaptureAccess(); + return wrapWithWarning(`##### WARNING! The application running this script tries to screen recording features to execute ${functionName}! Please grant the requested access and visit https://github.com/nut-tree/nut.js#macos for further information. #####`, nativeFunction); + } + } + + const accessibilityAccess = [ + "keyTap", + "keyToggle", + "typeString", + ]; + for (const functionName of accessibilityAccess) { + const originalFunction = rubickAddon[functionName]; + rubickAddon[functionName] = (...args) => askForAccessibility(originalFunction, functionName)(...args); + } +} catch (e) { + console.warn(`Encountered error establishing macOS permission checks:`, e.message); + console.warn(`Returning original module.`); + rubickAddon = require("bindings")("rubick-addon"); +} finally { + module.exports = rubickAddon; +} diff --git a/src/clipboard.h b/src/clipboard.h new file mode 100644 index 0000000..8d2abe5 --- /dev/null +++ b/src/clipboard.h @@ -0,0 +1,9 @@ +#ifndef CLIPBOARD_H +#define CLIPBOARD_H + +#include +#include + +std::vector ReadFilePaths(); + +#endif diff --git a/src/deadbeef_rand.c b/src/deadbeef_rand.c new file mode 100644 index 0000000..c894b05 --- /dev/null +++ b/src/deadbeef_rand.c @@ -0,0 +1,27 @@ +#include "deadbeef_rand.h" +#include + +static uint32_t deadbeef_seed; +static uint32_t deadbeef_beef = 0xdeadbeef; + +uint32_t deadbeef_rand(void) +{ + deadbeef_seed = (deadbeef_seed << 7) ^ ((deadbeef_seed >> 25) + deadbeef_beef); + deadbeef_beef = (deadbeef_beef << 7) ^ ((deadbeef_beef >> 25) + 0xdeadbeef); + return deadbeef_seed; +} + +void deadbeef_srand(uint32_t x) +{ + deadbeef_seed = x; + deadbeef_beef = 0xdeadbeef; +} + +/* Taken directly from the documentation: + * http://inglorion.net/software/cstuff/deadbeef_rand/ */ +uint32_t deadbeef_generate_seed(void) +{ + uint32_t t = (uint32_t)time(NULL); + uint32_t c = (uint32_t)clock(); + return (uint32_t)((t << 24) ^ (c << 11) ^ t ^ (size_t) &c); +} diff --git a/src/deadbeef_rand.h b/src/deadbeef_rand.h new file mode 100644 index 0000000..24318af --- /dev/null +++ b/src/deadbeef_rand.h @@ -0,0 +1,35 @@ +#ifndef DEADBEEF_RAND_H +#define DEADBEEF_RAND_H + +#include + +#define DEADBEEF_MAX UINT32_MAX + +/* Dead Beef Random Number Generator + * From: http://inglorion.net/software/deadbeef_rand + * A fast, portable psuedo-random number generator by BJ Amsterdam Zuidoost. + * Stated in license terms: "Feel free to use the code in your own software." */ + +/* Generates a random number between 0 and DEADBEEF_MAX. */ +uint32_t deadbeef_rand(void); + +/* Seeds with the given integer. */ +void deadbeef_srand(uint32_t x); + +/* Generates seed from the current time. */ +uint32_t deadbeef_generate_seed(void); + +/* Seeds with the above function. */ +#define deadbeef_srand_time() deadbeef_srand(deadbeef_generate_seed()) + +/* Returns random double in the range [a, b). + * Taken directly from the rand() man page. */ +#define DEADBEEF_UNIFORM(a, b) \ + ((a) + (deadbeef_rand() / (((double)DEADBEEF_MAX / (b - a) + 1)))) + +/* Returns random integer in the range [a, b). + * Also taken from the rand() man page. */ +#define DEADBEEF_RANDRANGE(a, b) \ + (uint32_t)DEADBEEF_UNIFORM(a, b) + +#endif /* DEADBEEF_RAND_H */ \ No newline at end of file diff --git a/src/inline_keywords.h b/src/inline_keywords.h new file mode 100644 index 0000000..cf6b91f --- /dev/null +++ b/src/inline_keywords.h @@ -0,0 +1,15 @@ +#pragma once + +/* A complicated, portable model for declaring inline functions in + * header files. */ +#if !defined(H_INLINE) + #if defined(__GNUC__) + #define H_INLINE static __inline__ __attribute__((always_inline)) + #elif defined(__MWERKS__) || defined(__cplusplus) + #define H_INLINE static inline + #elif defined(_MSC_VER) + #define H_INLINE static __inline + #elif TARGET_OS_WIN32 + #define H_INLINE static __inline__ + #endif +#endif /* H_INLINE */ \ No newline at end of file diff --git a/src/keycode.h b/src/keycode.h new file mode 100644 index 0000000..8275598 --- /dev/null +++ b/src/keycode.h @@ -0,0 +1,336 @@ +#pragma once +#ifndef KEYCODE_H +#define KEYCODE_H + +#include "os.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +#if defined(IS_MACOSX) + +#include /* Really only need */ +#include +#import + +enum _MMKeyCode { + K_NOT_A_KEY = 9999, + K_BACKSPACE = kVK_Delete, + K_DELETE = kVK_ForwardDelete, + K_RETURN = kVK_Return, + K_TAB = kVK_Tab, + K_ESCAPE = kVK_Escape, + K_UP = kVK_UpArrow, + K_DOWN = kVK_DownArrow, + K_RIGHT = kVK_RightArrow, + K_LEFT = kVK_LeftArrow, + K_HOME = kVK_Home, + K_END = kVK_End, + K_PAGEUP = kVK_PageUp, + K_PAGEDOWN = kVK_PageDown, + K_F1 = kVK_F1, + K_F2 = kVK_F2, + K_F3 = kVK_F3, + K_F4 = kVK_F4, + K_F5 = kVK_F5, + K_F6 = kVK_F6, + K_F7 = kVK_F7, + K_F8 = kVK_F8, + K_F9 = kVK_F9, + K_F10 = kVK_F10, + K_F11 = kVK_F11, + K_F12 = kVK_F12, + K_F13 = kVK_F13, + K_F14 = kVK_F14, + K_F15 = kVK_F15, + K_F16 = kVK_F16, + K_F17 = kVK_F17, + K_F18 = kVK_F18, + K_F19 = kVK_F19, + K_F20 = kVK_F20, + K_F21 = K_NOT_A_KEY, + K_F22 = K_NOT_A_KEY, + K_F23 = K_NOT_A_KEY, + K_F24 = K_NOT_A_KEY, + K_META = kVK_Command, + K_RIGHTMETA = kVK_RightCommand, + K_CMD = kVK_Command, + K_RIGHTCMD = kVK_RightCommand, + K_WIN = K_NOT_A_KEY, + K_RIGHTWIN = K_NOT_A_KEY, + K_FUNCTION = kVK_Function, + K_ALT = kVK_Option, + K_RIGHTALT = kVK_RightOption, + K_CONTROL = kVK_Control, + K_RIGHTCONTROL = kVK_RightControl, + K_SHIFT = kVK_Shift, + K_RIGHTSHIFT = kVK_RightShift, + K_CAPSLOCK = kVK_CapsLock, + K_NUMLOCK = K_NOT_A_KEY, + K_SCROLL_LOCK = K_NOT_A_KEY, + K_SPACE = kVK_Space, + K_INSERT = K_NOT_A_KEY, + K_PRINTSCREEN = K_NOT_A_KEY, + K_MENU = K_NOT_A_KEY, + + K_ADD = kVK_ANSI_KeypadPlus, + K_SUBTRACT = kVK_ANSI_KeypadMinus, + K_DIVIDE = kVK_ANSI_KeypadDivide, + K_MULTIPLY = kVK_ANSI_KeypadMultiply, + K_CLEAR = kVK_ANSI_KeypadClear, + + K_NUMPAD_0 = kVK_ANSI_Keypad0, + K_NUMPAD_1 = kVK_ANSI_Keypad1, + K_NUMPAD_2 = kVK_ANSI_Keypad2, + K_NUMPAD_3 = kVK_ANSI_Keypad3, + K_NUMPAD_4 = kVK_ANSI_Keypad4, + K_NUMPAD_5 = kVK_ANSI_Keypad5, + K_NUMPAD_6 = kVK_ANSI_Keypad6, + K_NUMPAD_7 = kVK_ANSI_Keypad7, + K_NUMPAD_8 = kVK_ANSI_Keypad8, + K_NUMPAD_9 = kVK_ANSI_Keypad9, + K_NUMPAD_DECIMAL = kVK_ANSI_KeypadDecimal, + + K_AUDIO_VOLUME_MUTE = 1007, + K_AUDIO_VOLUME_DOWN = 1001, + K_AUDIO_VOLUME_UP = 1000, + K_AUDIO_PLAY = 1016, + K_AUDIO_STOP = K_NOT_A_KEY, + K_AUDIO_PAUSE = 1016, + K_AUDIO_PREV = 1018, + K_AUDIO_NEXT = 1017, + K_AUDIO_REWIND = K_NOT_A_KEY, + K_AUDIO_FORWARD = K_NOT_A_KEY, + K_AUDIO_REPEAT = K_NOT_A_KEY, + K_AUDIO_RANDOM = K_NOT_A_KEY, + + K_LIGHTS_MON_UP = 1002, + K_LIGHTS_MON_DOWN = 1003, + K_LIGHTS_KBD_TOGGLE = 1023, + K_LIGHTS_KBD_UP = 1021, + K_LIGHTS_KBD_DOWN = 1022 +}; + +typedef CGKeyCode MMKeyCode; + +#elif defined(USE_X11) + +#include +#include + +enum _MMKeyCode { + K_NOT_A_KEY = 9999, + K_BACKSPACE = XK_BackSpace, + K_DELETE = XK_Delete, + K_RETURN = XK_Return, + K_TAB = XK_Tab, + K_ESCAPE = XK_Escape, + K_UP = XK_Up, + K_DOWN = XK_Down, + K_RIGHT = XK_Right, + K_LEFT = XK_Left, + K_HOME = XK_Home, + K_END = XK_End, + K_PAGEUP = XK_Page_Up, + K_PAGEDOWN = XK_Page_Down, + K_F1 = XK_F1, + K_F2 = XK_F2, + K_F3 = XK_F3, + K_F4 = XK_F4, + K_F5 = XK_F5, + K_F6 = XK_F6, + K_F7 = XK_F7, + K_F8 = XK_F8, + K_F9 = XK_F9, + K_F10 = XK_F10, + K_F11 = XK_F11, + K_F12 = XK_F12, + K_F13 = XK_F13, + K_F14 = XK_F14, + K_F15 = XK_F15, + K_F16 = XK_F16, + K_F17 = XK_F17, + K_F18 = XK_F18, + K_F19 = XK_F19, + K_F20 = XK_F20, + K_F21 = XK_F21, + K_F22 = XK_F22, + K_F23 = XK_F23, + K_F24 = XK_F24, + K_META = XK_Super_L, + K_RIGHTMETA = XK_Super_R, + K_CMD = K_NOT_A_KEY, + K_RIGHTCMD = K_NOT_A_KEY, + K_WIN = XK_Super_L, + K_RIGHTWIN = XK_Super_R, + K_FUNCTION = K_NOT_A_KEY, + K_ALT = XK_Alt_L, + K_RIGHTALT = XK_Alt_R, + K_CONTROL = XK_Control_L, + K_RIGHTCONTROL = XK_Control_R, + K_SHIFT = XK_Shift_L, + K_RIGHTSHIFT = XK_Shift_R, + K_CAPSLOCK = XK_Caps_Lock, + K_NUMLOCK = XK_Num_Lock, + K_SCROLL_LOCK = XK_Scroll_Lock, + K_SPACE = XK_space, + K_INSERT = XK_Insert, + K_PRINTSCREEN = XK_Print, + K_MENU = K_NOT_A_KEY, + + K_ADD = XK_KP_Add, + K_SUBTRACT = XK_KP_Subtract, + K_DIVIDE = XK_KP_Divide, + K_MULTIPLY = XK_KP_Multiply, + K_CLEAR = XK_Clear, + + K_NUMPAD_0 = XK_KP_0, + K_NUMPAD_1 = XK_KP_1, + K_NUMPAD_2 = XK_KP_2, + K_NUMPAD_3 = XK_KP_3, + K_NUMPAD_4 = XK_KP_4, + K_NUMPAD_5 = XK_KP_5, + K_NUMPAD_6 = XK_KP_6, + K_NUMPAD_7 = XK_KP_7, + K_NUMPAD_8 = XK_KP_8, + K_NUMPAD_9 = XK_KP_9, + K_NUMPAD_DECIMAL = XK_KP_Decimal, + + K_AUDIO_VOLUME_MUTE = XF86XK_AudioMute, + K_AUDIO_VOLUME_DOWN = XF86XK_AudioLowerVolume, + K_AUDIO_VOLUME_UP = XF86XK_AudioRaiseVolume, + K_AUDIO_PLAY = XF86XK_AudioPlay, + K_AUDIO_STOP = XF86XK_AudioStop, + K_AUDIO_PAUSE = XF86XK_AudioPause, + K_AUDIO_PREV = XF86XK_AudioPrev, + K_AUDIO_NEXT = XF86XK_AudioNext, + K_AUDIO_REWIND = XF86XK_AudioRewind, + K_AUDIO_FORWARD = XF86XK_AudioForward, + K_AUDIO_REPEAT = XF86XK_AudioRepeat, + K_AUDIO_RANDOM = XF86XK_AudioRandomPlay, + + K_LIGHTS_MON_UP = XF86XK_MonBrightnessUp, + K_LIGHTS_MON_DOWN = XF86XK_MonBrightnessDown, + K_LIGHTS_KBD_TOGGLE = XF86XK_KbdLightOnOff, + K_LIGHTS_KBD_UP = XF86XK_KbdBrightnessUp, + K_LIGHTS_KBD_DOWN = XF86XK_KbdBrightnessDown +}; + +typedef KeySym MMKeyCode; + +#elif defined(IS_WINDOWS) + +enum _MMKeyCode { + K_NOT_A_KEY = 9999, + K_BACKSPACE = VK_BACK, + K_DELETE = VK_DELETE, + K_RETURN = VK_RETURN, + K_TAB = VK_TAB, + K_ESCAPE = VK_ESCAPE, + K_UP = VK_UP, + K_DOWN = VK_DOWN, + K_RIGHT = VK_RIGHT, + K_LEFT = VK_LEFT, + K_HOME = VK_HOME, + K_END = VK_END, + K_PAGEUP = VK_PRIOR, + K_PAGEDOWN = VK_NEXT, + K_F1 = VK_F1, + K_F2 = VK_F2, + K_F3 = VK_F3, + K_F4 = VK_F4, + K_F5 = VK_F5, + K_F6 = VK_F6, + K_F7 = VK_F7, + K_F8 = VK_F8, + K_F9 = VK_F9, + K_F10 = VK_F10, + K_F11 = VK_F11, + K_F12 = VK_F12, + K_F13 = VK_F13, + K_F14 = VK_F14, + K_F15 = VK_F15, + K_F16 = VK_F16, + K_F17 = VK_F17, + K_F18 = VK_F18, + K_F19 = VK_F19, + K_F20 = VK_F20, + K_F21 = VK_F21, + K_F22 = VK_F22, + K_F23 = VK_F23, + K_F24 = VK_F24, + K_META = VK_LWIN, + K_RIGHTMETA = VK_RWIN, + K_CMD = K_NOT_A_KEY, + K_RIGHTCMD = K_NOT_A_KEY, + K_WIN = VK_LWIN, + K_RIGHTWIN = VK_RWIN, + K_FUNCTION = K_NOT_A_KEY, + K_ALT = VK_LMENU, + K_RIGHTALT = VK_RMENU, + K_CONTROL = VK_LCONTROL, + K_RIGHTCONTROL = VK_RCONTROL, + K_SHIFT = VK_SHIFT, + K_RIGHTSHIFT = VK_RSHIFT, + K_CAPSLOCK = VK_CAPITAL, + K_NUMLOCK = VK_NUMLOCK, + K_SCROLL_LOCK = VK_SCROLL, + K_SPACE = VK_SPACE, + K_PRINTSCREEN = VK_SNAPSHOT, + K_INSERT = VK_INSERT, + K_MENU = VK_APPS, + + K_ADD = VK_ADD, + K_SUBTRACT = VK_SUBTRACT, + K_DIVIDE = VK_DIVIDE, + K_MULTIPLY = VK_MULTIPLY, + K_CLEAR = VK_CLEAR, + + K_NUMPAD_0 = VK_NUMPAD0, + K_NUMPAD_1 = VK_NUMPAD1, + K_NUMPAD_2 = VK_NUMPAD2, + K_NUMPAD_3 = VK_NUMPAD3, + K_NUMPAD_4 = VK_NUMPAD4, + K_NUMPAD_5 = VK_NUMPAD5, + K_NUMPAD_6 = VK_NUMPAD6, + K_NUMPAD_7 = VK_NUMPAD7, + K_NUMPAD_8 = VK_NUMPAD8, + K_NUMPAD_9 = VK_NUMPAD9, + K_NUMPAD_DECIMAL = VK_DECIMAL, + + K_AUDIO_VOLUME_MUTE = VK_VOLUME_MUTE, + K_AUDIO_VOLUME_DOWN = VK_VOLUME_DOWN, + K_AUDIO_VOLUME_UP = VK_VOLUME_UP, + K_AUDIO_PLAY = VK_MEDIA_PLAY_PAUSE, + K_AUDIO_STOP = VK_MEDIA_STOP, + K_AUDIO_PAUSE = VK_MEDIA_PLAY_PAUSE, + K_AUDIO_PREV = VK_MEDIA_PREV_TRACK, + K_AUDIO_NEXT = VK_MEDIA_NEXT_TRACK, + K_AUDIO_REWIND = K_NOT_A_KEY, + K_AUDIO_FORWARD = K_NOT_A_KEY, + K_AUDIO_REPEAT = K_NOT_A_KEY, + K_AUDIO_RANDOM = K_NOT_A_KEY, + + K_LIGHTS_MON_UP = K_NOT_A_KEY, + K_LIGHTS_MON_DOWN = K_NOT_A_KEY, + K_LIGHTS_KBD_TOGGLE = K_NOT_A_KEY, + K_LIGHTS_KBD_UP = K_NOT_A_KEY, + K_LIGHTS_KBD_DOWN = K_NOT_A_KEY +}; + +typedef int MMKeyCode; + +#endif + +/* Returns the keyCode corresponding to the current keyboard layout for the + * given ASCII character. */ +MMKeyCode keyCodeForChar(const char c); + +#ifdef __cplusplus +} +#endif + +#endif /* KEYCODE_H */ + diff --git a/src/keypress.h b/src/keypress.h new file mode 100644 index 0000000..12b743f --- /dev/null +++ b/src/keypress.h @@ -0,0 +1,86 @@ +#pragma once +#ifndef KEYPRESS_H +#define KEYPRESS_H + +#include "os.h" +#include "keycode.h" +#if defined(USE_X11) +#include "xdisplay.h" +#endif + +#include +#ifdef __cplusplus +extern "C" +{ +#endif +#if defined(IS_MACOSX) + + typedef enum { + MOD_NONE = 0, + MOD_META = kCGEventFlagMaskCommand, + MOD_ALT = kCGEventFlagMaskAlternate, + MOD_CONTROL = kCGEventFlagMaskControl, + MOD_SHIFT = kCGEventFlagMaskShift + } MMKeyFlags; + + extern MMKeyFlags flagBuffer; + +#elif defined(USE_X11) + + enum _MMKeyFlags { + MOD_NONE = 0, + MOD_META = Mod4Mask, + MOD_ALT = Mod1Mask, + MOD_CONTROL = ControlMask, + MOD_SHIFT = ShiftMask + }; + + typedef unsigned int MMKeyFlags; + +#elif defined(IS_WINDOWS) + + enum _MMKeyFlags { + MOD_NONE = 0, + /* These are already defined by the Win32 API */ + /* MOD_ALT = 0, + MOD_CONTROL = 0, + MOD_SHIFT = 0, */ + MOD_META = MOD_WIN + }; + + typedef unsigned int MMKeyFlags; + +#endif + +#if defined(IS_WINDOWS) +/* Send win32 key event for given key. */ +void win32KeyEvent(int key, MMKeyFlags flags); +#endif + +/* Toggles the given key down or up. */ +void toggleKeyCode(MMKeyCode code, const bool down, MMKeyFlags flags); + +/* Toggles the key down and then up. */ +void tapKeyCode(MMKeyCode code, MMKeyFlags flags); + +/* Toggles the key corresponding to the given UTF character up or down. */ +void toggleKey(char c, const bool down, MMKeyFlags flags); +void tapKey(char c, MMKeyFlags flags); + +/* Sends a UTF-8 string without modifiers. */ +void typeString(const char *str); + +/* Macro to convert WPM to CPM integers. + * (the average English word length is 5.1 characters.) */ +#define WPM_TO_CPM(WPM) (unsigned)(5.1 * WPM) + +/* Sends a string with partially random delays between each letter. Note that + * deadbeef_srand() must be called before this function if you actually want + * randomness. */ +void typeStringDelayed(const char *str, const unsigned cpm); + +#ifdef __cplusplus +} +#endif + +#endif /* KEYPRESS_H */ diff --git a/src/linux/keycode.c b/src/linux/keycode.c new file mode 100644 index 0000000..bdd662a --- /dev/null +++ b/src/linux/keycode.c @@ -0,0 +1,76 @@ +#include "../keycode.h" + +/* + * Structs to store key mappings not handled by XStringToKeysym() on some + * Linux systems. + */ + +struct XSpecialCharacterMapping { + char name; + MMKeyCode code; +}; + +struct XSpecialCharacterMapping XSpecialCharacterTable[] = { + {'~', XK_asciitilde}, + {'_', XK_underscore}, + {'[', XK_bracketleft}, + {']', XK_bracketright}, + {'!', XK_exclam}, + {'\'', XK_quotedbl}, + {'#', XK_numbersign}, + {'$', XK_dollar}, + {'%', XK_percent}, + {'&', XK_ampersand}, + {'\'', XK_quoteright}, + {'*', XK_asterisk}, + {'+', XK_plus}, + {',', XK_comma}, + {'-', XK_minus}, + {'.', XK_period}, + {'?', XK_question}, + {'<', XK_less}, + {'>', XK_greater}, + {'=', XK_equal}, + {'@', XK_at}, + {':', XK_colon}, + {';', XK_semicolon}, + {'\\', XK_backslash}, + {'`', XK_grave}, + {'{', XK_braceleft}, + {'}', XK_braceright}, + {'|', XK_bar}, + {'^', XK_asciicircum}, + {'(', XK_parenleft}, + {')', XK_parenright}, + {' ', XK_space}, + {'/', XK_slash}, + {'\t', XK_Tab}, + {'\n', XK_Return} +}; + +MMKeyCode keyCodeForChar(const char c) +{ + MMKeyCode code; + + char buf[2]; + buf[0] = c; + buf[1] = '\0'; + + code = XStringToKeysym(buf); + if (code == NoSymbol) { + /* Some special keys are apparently not handled properly by + * XStringToKeysym() on some systems, so search for them instead in our + * mapping table. */ + size_t i; + const size_t specialCharacterCount = + sizeof(XSpecialCharacterTable) / sizeof(XSpecialCharacterTable[0]); + for (i = 0; i < specialCharacterCount; ++i) { + if (c == XSpecialCharacterTable[i].name) { + code = XSpecialCharacterTable[i].code; + break; + } + } + } + + return code; +} diff --git a/src/linux/keypress.c b/src/linux/keypress.c new file mode 100644 index 0000000..8460e37 --- /dev/null +++ b/src/linux/keypress.c @@ -0,0 +1,144 @@ +#include "../keypress.h" +#include "../deadbeef_rand.h" +#include "../microsleep.h" + +#include /* For isupper() */ + +#include +#include "../xdisplay.h" + +#define X_KEY_EVENT(display, key, is_press) \ + (XTestFakeKeyEvent(display, \ + XKeysymToKeycode(display, key), \ + is_press, CurrentTime), \ + XSync(display, false)) + +void toggleKeyCode(MMKeyCode code, const bool down, MMKeyFlags flags) +{ + Display *display = XGetMainDisplay(); + const Bool is_press = down ? True : False; /* Just to be safe. */ + + if (down) + { + /* Parse modifier keys. */ + if (flags & MOD_META) + X_KEY_EVENT(display, K_META, is_press); + if (flags & MOD_ALT) + X_KEY_EVENT(display, K_ALT, is_press); + if (flags & MOD_CONTROL) + X_KEY_EVENT(display, K_CONTROL, is_press); + if (flags & MOD_SHIFT) + X_KEY_EVENT(display, K_SHIFT, is_press); + + X_KEY_EVENT(display, code, is_press); + } + else + { + X_KEY_EVENT(display, code, is_press); + + /* Parse modifier keys. */ + if (flags & MOD_META) + X_KEY_EVENT(display, K_META, is_press); + if (flags & MOD_ALT) + X_KEY_EVENT(display, K_ALT, is_press); + if (flags & MOD_CONTROL) + X_KEY_EVENT(display, K_CONTROL, is_press); + if (flags & MOD_SHIFT) + X_KEY_EVENT(display, K_SHIFT, is_press); + } +} + +void tapKeyCode(MMKeyCode code, MMKeyFlags flags) +{ + toggleKeyCode(code, true, flags); + toggleKeyCode(code, false, flags); +} + +void toggleKey(char c, const bool down, MMKeyFlags flags) +{ + MMKeyCode keyCode = keyCodeForChar(c); + + //Prevent unused variable warning for Mac and Linux. + + if (isupper(c) && !(flags & MOD_SHIFT)) + { + flags |= MOD_SHIFT; /* Not sure if this is safe for all layouts. */ + } + + toggleKeyCode(keyCode, down, flags); +} + +void tapKey(char c, MMKeyFlags flags) +{ + toggleKey(c, true, flags); + toggleKey(c, false, flags); +} + +#define toggleUniKey(c, down) toggleKey(c, down, MOD_NONE) + +static void tapUniKey(char c) +{ + toggleUniKey(c, true); + toggleUniKey(c, false); +} + +void typeString(const char *str) +{ + unsigned short c; + unsigned short c1; + unsigned short c2; + unsigned short c3; + unsigned long n; + + while (*str != '\0') + { + c = *str++; + + // warning, the following utf8 decoder + // doesn't perform validation + if (c <= 0x7F) + { + // 0xxxxxxx one byte + n = c; + } + else if ((c & 0xE0) == 0xC0) + { + // 110xxxxx two bytes + c1 = (*str++) & 0x3F; + n = ((c & 0x1F) << 6) | c1; + } + else if ((c & 0xF0) == 0xE0) + { + // 1110xxxx three bytes + c1 = (*str++) & 0x3F; + c2 = (*str++) & 0x3F; + n = ((c & 0x0F) << 12) | (c1 << 6) | c2; + } + else if ((c & 0xF8) == 0xF0) + { + // 11110xxx four bytes + c1 = (*str++) & 0x3F; + c2 = (*str++) & 0x3F; + c3 = (*str++) & 0x3F; + n = ((c & 0x07) << 18) | (c1 << 12) | (c2 << 6) | c3; + } + + toggleUniKey(n, true); + toggleUniKey(n, false); + } +} + +void typeStringDelayed(const char *str, const unsigned cpm) +{ + /* Characters per second */ + const double cps = (double)cpm / 60.0; + + /* Average milli-seconds per character */ + const double mspc = (cps == 0.0) ? 0.0 : 1000.0 / cps; + + while (*str != '\0') + { + tapUniKey(*str++); + microsleep(mspc + (DEADBEEF_UNIFORM(0.0, 62.5))); + } +} diff --git a/src/macos/clipboard.mm b/src/macos/clipboard.mm new file mode 100644 index 0000000..731c5fd --- /dev/null +++ b/src/macos/clipboard.mm @@ -0,0 +1,19 @@ +#import +#import +#include "../clipboard.h" + +std::vector ReadFilePaths() { + NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; + NSArray *urls = [pasteboard readObjectsForClasses:@[NSURL.class] options:@{ + NSPasteboardURLReadingFileURLsOnlyKey: @YES, + }]; + if (!urls) { + return {}; + } + auto result = std::vector(); + result.reserve(urls.count); + for (NSURL *url in urls) { + result.emplace_back([url.path UTF8String]); + } + return result; +} \ No newline at end of file diff --git a/src/macos/keycode.c b/src/macos/keycode.c new file mode 100644 index 0000000..91eca7c --- /dev/null +++ b/src/macos/keycode.c @@ -0,0 +1,82 @@ +#include "../keycode.h" + +#include +#include /* For kVK_ constants, and TIS functions. */ + +/* Returns string representation of key, if it is printable. + * Ownership follows the Create Rule; that is, it is the caller's + * responsibility to release the returned object. */ +CFStringRef createStringForKey(CGKeyCode keyCode); + +MMKeyCode keyCodeForChar(const char c) +{ + /* OS X does not appear to have a built-in function for this, so instead we + * have to write our own. */ + static CFMutableDictionaryRef charToCodeDict = NULL; + CGKeyCode code; + UniChar character = c; + CFStringRef charStr = NULL; + + /* Generate table of keycodes and characters. */ + if (charToCodeDict == NULL) + { + size_t i; + charToCodeDict = CFDictionaryCreateMutable(kCFAllocatorDefault, + 128, + &kCFCopyStringDictionaryKeyCallBacks, + NULL); + if (charToCodeDict == NULL) + return UINT16_MAX; + + /* Loop through every keycode (0 - 127) to find its current mapping. */ + for (i = 0; i < 128; ++i) + { + CFStringRef string = createStringForKey((CGKeyCode)i); + if (string != NULL) + { + CFDictionaryAddValue(charToCodeDict, string, (const void *)i); + CFRelease(string); + } + } + } + + charStr = CFStringCreateWithCharacters(kCFAllocatorDefault, &character, 1); + + /* Our values may be NULL (0), so we need to use this function. */ + if (!CFDictionaryGetValueIfPresent(charToCodeDict, charStr, + (const void **)&code)) + { + code = UINT16_MAX; /* Error */ + } + + CFRelease(charStr); + return (MMKeyCode)code; +} + +CFStringRef createStringForKey(CGKeyCode keyCode) +{ + TISInputSourceRef currentKeyboard = TISCopyCurrentASCIICapableKeyboardInputSource(); + CFDataRef layoutData = + TISGetInputSourceProperty(currentKeyboard, + kTISPropertyUnicodeKeyLayoutData); + const UCKeyboardLayout *keyboardLayout = + (const UCKeyboardLayout *)CFDataGetBytePtr(layoutData); + + UInt32 keysDown = 0; + UniChar chars[4]; + UniCharCount realLength; + + UCKeyTranslate(keyboardLayout, + keyCode, + kUCKeyActionDisplay, + 0, + LMGetKbdType(), + kUCKeyTranslateNoDeadKeysBit, + &keysDown, + sizeof(chars) / sizeof(chars[0]), + &realLength, + chars); + CFRelease(currentKeyboard); + + return CFStringCreateWithCharacters(kCFAllocatorDefault, chars, 1); +} diff --git a/src/macos/keypress.c b/src/macos/keypress.c new file mode 100644 index 0000000..81e5321 --- /dev/null +++ b/src/macos/keypress.c @@ -0,0 +1,190 @@ +#include "../keypress.h" +#include "../deadbeef_rand.h" +#include "../microsleep.h" + +#include /* For isupper() */ + +#include +#import +#import + +MMKeyFlags flagBuffer; + +static io_connect_t _getAuxiliaryKeyDriver(void) { + static mach_port_t sEventDrvrRef = 0; + mach_port_t masterPort, service, iter; + kern_return_t kr; + + if (!sEventDrvrRef) { + kr = IOMasterPort(bootstrap_port, &masterPort); + assert(KERN_SUCCESS == kr); + kr = IOServiceGetMatchingServices( + masterPort, IOServiceMatching(kIOHIDSystemClass), &iter); + assert(KERN_SUCCESS == kr); + service = IOIteratorNext(iter); + assert(service); + kr = IOServiceOpen(service, mach_task_self(), kIOHIDParamConnectType, + &sEventDrvrRef); + assert(KERN_SUCCESS == kr); + IOObjectRelease(service); + IOObjectRelease(iter); + } + return sEventDrvrRef; +} + +void toggleKeyCode(MMKeyCode code, const bool down, MMKeyFlags flags) { + /* The media keys all have 1000 added to them to help us detect them. */ + if (code >= 1000) { + code = code - 1000; /* Get the real keycode. */ + NXEventData event; + kern_return_t kr; + IOGPoint loc = {0, 0}; + UInt32 evtInfo = code << 16 | (down ? NX_KEYDOWN : NX_KEYUP) << 8; + bzero(&event, sizeof(NXEventData)); + event.compound.subType = NX_SUBTYPE_AUX_CONTROL_BUTTONS; + event.compound.misc.L[0] = evtInfo; + kr = IOHIDPostEvent(_getAuxiliaryKeyDriver(), NX_SYSDEFINED, loc, &event, + kNXEventDataVersion, 0, FALSE); + assert(KERN_SUCCESS == kr); + } else { + CGEventSourceRef src = + CGEventSourceCreate(kCGEventSourceStateHIDSystemState); + CGEventRef keyEvent = + CGEventCreateKeyboardEvent(src, (CGKeyCode)code, down); + assert(keyEvent != NULL); + + // Check if keycode is one of the available modifier keys and set keyflags + // accordingly + if (code == K_META || code == K_RIGHTMETA) { + flags |= MOD_META; + } + if (code == K_ALT || code == K_RIGHTALT) { + flags |= MOD_ALT; + } + if (code == K_CONTROL || code == K_RIGHTCONTROL) { + flags |= MOD_CONTROL; + } + if (code == K_SHIFT || code == K_RIGHTSHIFT) { + flags |= MOD_SHIFT; + } + + MMKeyFlags activeKeyFlags; + if (down) { + activeKeyFlags = flags | flagBuffer; + flagBuffer |= activeKeyFlags; + } else { + activeKeyFlags = flags ^ flagBuffer; + flagBuffer ^= flags; + } + + CGEventSetFlags(keyEvent, activeKeyFlags); + CGEventPost(kCGHIDEventTap, keyEvent); + CFRelease(keyEvent); + CFRelease(src); + } +} + +void tapKeyCode(MMKeyCode code, MMKeyFlags flags) { + toggleKeyCode(code, true, flags); + toggleKeyCode(code, false, flags); +} + +void toggleKey(char c, const bool down, MMKeyFlags flags) { + MMKeyCode keyCode = keyCodeForChar(c); + + if (isupper(c) && !(flags & MOD_SHIFT)) { + flags |= MOD_SHIFT; /* Not sure if this is safe for all layouts. */ + } + + toggleKeyCode(keyCode, down, flags); +} + +void tapKey(char c, MMKeyFlags flags) { + toggleKey(c, true, flags); + toggleKey(c, false, flags); +} + +void toggleUnicodeKey(unsigned long ch, const bool down) { + /* This function relies on the convenient + * CGEventKeyboardSetUnicodeString(), which allows us to not have to + * convert characters to a keycode, but does not support adding modifier + * flags. It is therefore only used in typeString() and typeStringDelayed() + * -- if you need modifier keys, use the above functions instead. */ + CGEventSourceRef src = CGEventSourceCreate(kCGEventSourceStateHIDSystemState); + CGEventRef keyEvent = CGEventCreateKeyboardEvent(src, 0, down); + if (keyEvent == NULL) { + fputs("Could not create keyboard event.\n", stderr); + return; + } + + if (ch > 0xFFFF) { + // encode to utf-16 if necessary + unsigned short surrogates[] = {0xD800 + ((ch - 0x10000) >> 10), + 0xDC00 + (ch & 0x3FF)}; + + CGEventKeyboardSetUnicodeString(keyEvent, 2, &surrogates); + } else { + CGEventKeyboardSetUnicodeString(keyEvent, 1, &ch); + } + + CGEventPost(kCGHIDEventTap, keyEvent); + CFRelease(keyEvent); + CFRelease(src); +} + +void toggleUniKey(char c, const bool down) { toggleUnicodeKey(c, down); } + +static void tapUniKey(char c) { + toggleUniKey(c, true); + toggleUniKey(c, false); +} + +void typeString(const char *str) { + unsigned short c; + unsigned short c1; + unsigned short c2; + unsigned short c3; + unsigned long n; + + while (*str != '\0') { + c = *str++; + + // warning, the following utf8 decoder + // doesn't perform validation + if (c <= 0x7F) { + // 0xxxxxxx one byte + n = c; + } else if ((c & 0xE0) == 0xC0) { + // 110xxxxx two bytes + c1 = (*str++) & 0x3F; + n = ((c & 0x1F) << 6) | c1; + } else if ((c & 0xF0) == 0xE0) { + // 1110xxxx three bytes + c1 = (*str++) & 0x3F; + c2 = (*str++) & 0x3F; + n = ((c & 0x0F) << 12) | (c1 << 6) | c2; + } else if ((c & 0xF8) == 0xF0) { + // 11110xxx four bytes + c1 = (*str++) & 0x3F; + c2 = (*str++) & 0x3F; + c3 = (*str++) & 0x3F; + n = ((c & 0x07) << 18) | (c1 << 12) | (c2 << 6) | c3; + } + + toggleUnicodeKey(n, true); + toggleUnicodeKey(n, false); + } +} + +void typeStringDelayed(const char *str, const unsigned cpm) { + /* Characters per second */ + const double cps = (double)cpm / 60.0; + + /* Average milli-seconds per character */ + const double mspc = (cps == 0.0) ? 0.0 : 1000.0 / cps; + + while (*str != '\0') { + tapUniKey(*str++); + microsleep(mspc + (DEADBEEF_UNIFORM(0.0, 62.5))); + } +} diff --git a/src/main.cc b/src/main.cc new file mode 100644 index 0000000..6bf1718 --- /dev/null +++ b/src/main.cc @@ -0,0 +1,369 @@ +#include + +#include "keypress.h" +#include "clipboard.h" + +int keyboardDelay = 10; + +/* + _ __ _ _ +| |/ /___ _ _| |__ ___ __ _ _ __ __| | +| ' // _ \ | | | '_ \ / _ \ / _` | '__/ _` | +| . \ __/ |_| | |_) | (_) | (_| | | | (_| | +|_|\_\___|\__, |_.__/ \___/ \__,_|_| \__,_| + |___/ +*/ +struct KeyNames { + const char *name; + MMKeyCode key; +}; + +static KeyNames key_names[] = + { + {"backspace", K_BACKSPACE}, + {"delete", K_DELETE}, + {"enter", K_RETURN}, + {"tab", K_TAB}, + {"escape", K_ESCAPE}, + {"up", K_UP}, + {"down", K_DOWN}, + {"right", K_RIGHT}, + {"left", K_LEFT}, + {"home", K_HOME}, + {"end", K_END}, + {"pageup", K_PAGEUP}, + {"pagedown", K_PAGEDOWN}, + {"f1", K_F1}, + {"f2", K_F2}, + {"f3", K_F3}, + {"f4", K_F4}, + {"f5", K_F5}, + {"f6", K_F6}, + {"f7", K_F7}, + {"f8", K_F8}, + {"f9", K_F9}, + {"f10", K_F10}, + {"f11", K_F11}, + {"f12", K_F12}, + {"f13", K_F13}, + {"f14", K_F14}, + {"f15", K_F15}, + {"f16", K_F16}, + {"f17", K_F17}, + {"f18", K_F18}, + {"f19", K_F19}, + {"f20", K_F20}, + {"f21", K_F21}, + {"f22", K_F22}, + {"f23", K_F23}, + {"f24", K_F24}, + {"command", K_META}, + {"cmd", K_CMD}, + {"right_cmd", K_RIGHTCMD}, + {"win", K_WIN}, + {"right_win", K_RIGHTWIN}, + {"alt", K_ALT}, + {"right_alt", K_RIGHTALT}, + {"control", K_CONTROL}, + {"right_control", K_RIGHTCONTROL}, + {"shift", K_SHIFT}, + {"right_shift", K_RIGHTSHIFT}, + {"space", K_SPACE}, + {"printscreen", K_PRINTSCREEN}, + {"insert", K_INSERT}, + {"menu", K_MENU}, + {"fn", K_FUNCTION}, + + {"caps_lock", K_CAPSLOCK}, + {"num_lock", K_NUMLOCK}, + {"scroll_lock", K_SCROLL_LOCK}, + + {"audio_mute", K_AUDIO_VOLUME_MUTE}, + {"audio_vol_down", K_AUDIO_VOLUME_DOWN}, + {"audio_vol_up", K_AUDIO_VOLUME_UP}, + {"audio_play", K_AUDIO_PLAY}, + {"audio_stop", K_AUDIO_STOP}, + {"audio_pause", K_AUDIO_PAUSE}, + {"audio_prev", K_AUDIO_PREV}, + {"audio_next", K_AUDIO_NEXT}, + {"audio_rewind", K_AUDIO_REWIND}, + {"audio_forward", K_AUDIO_FORWARD}, + {"audio_repeat", K_AUDIO_REPEAT}, + {"audio_random", K_AUDIO_RANDOM}, + + {"numpad_0", K_NUMPAD_0}, + {"numpad_1", K_NUMPAD_1}, + {"numpad_2", K_NUMPAD_2}, + {"numpad_3", K_NUMPAD_3}, + {"numpad_4", K_NUMPAD_4}, + {"numpad_5", K_NUMPAD_5}, + {"numpad_6", K_NUMPAD_6}, + {"numpad_7", K_NUMPAD_7}, + {"numpad_8", K_NUMPAD_8}, + {"numpad_9", K_NUMPAD_9}, + {"numpad_decimal", K_NUMPAD_DECIMAL}, + + {"add", K_ADD}, + {"subtract", K_SUBTRACT}, + {"multiply", K_MULTIPLY}, + {"divide", K_DIVIDE}, + {"clear", K_CLEAR}, + + {"add", K_ADD}, + {"subtract", K_SUBTRACT}, + {"multiply", K_MULTIPLY}, + {"divide", K_DIVIDE}, + {"clear", K_CLEAR}, + + {"lights_mon_up", K_LIGHTS_MON_UP}, + {"lights_mon_down", K_LIGHTS_MON_DOWN}, + {"lights_kbd_toggle", K_LIGHTS_KBD_TOGGLE}, + {"lights_kbd_up", K_LIGHTS_KBD_UP}, + {"lights_kbd_down", K_LIGHTS_KBD_DOWN}, + + {NULL, K_NOT_A_KEY} /* end marker */ + }; + +int CheckKeyCodes(std::string &keyName, MMKeyCode *key) { + if (!key) + return -1; + + if (keyName.length() == 1) { + *key = keyCodeForChar(*keyName.c_str()); + return 0; + } + + *key = K_NOT_A_KEY; + + KeyNames *kn = key_names; + while (kn->name) { + if (keyName.compare(kn->name) == 0) { + *key = kn->key; + break; + } + kn++; + } + + if (*key == K_NOT_A_KEY) { + return -2; + } + + return 0; +} + +int CheckKeyFlags(std::string &flagString, MMKeyFlags *flags) { + if (!flags) + return -1; + + if (flagString == "alt" || flagString == "right_alt") { + *flags = MOD_ALT; +#if defined(IS_MACOSX) + } else if (flagString == "command" || flagString == "cmd" || flagString == "right_cmd") { + *flags = MOD_META; +#else + } else if (flagString == "command" || flagString == "win" || flagString == "right_win") { + *flags = MOD_META; +#endif + } else if (flagString == "control" || flagString == "right_control") { + *flags = MOD_CONTROL; + } else if (flagString == "shift" || flagString == "right_shift") { + *flags = MOD_SHIFT; + } else if (flagString == "none") { + *flags = MOD_NONE; + } else { + return -2; + } + + return 0; +} + +int GetFlagsFromString(Napi::Value value, MMKeyFlags *flags) { + std::string fstr = value.As(); + return CheckKeyFlags(fstr, flags); +} + +int GetFlagsFromValue(Napi::Value value, MMKeyFlags *flags) { + if (!flags) + return -1; + + //Optionally allow an array of flag strings to be passed. + if (value.IsArray()) { + Napi::Array a = value.As(); + for (uint32_t i = 0; i < a.Length(); ++i) { + Napi::Value v = a.Get(i); + if (!v.IsString()) + return -2; + + MMKeyFlags f = MOD_NONE; + const int rv = GetFlagsFromString(v, &f); + if (rv) + return rv; + + *flags = (MMKeyFlags) (*flags | f); + } + return 0; + } + + //If it's not an array, it should be a single string value. + return GetFlagsFromString(value, flags); +} + +Napi::Number _keyTap(const Napi::CallbackInfo &info) { + Napi::Env env = info.Env(); + + MMKeyFlags flags = MOD_NONE; + MMKeyCode key; + + std::string keyName = info[0].As(); + + switch (info.Length()) { + case 2: + switch (GetFlagsFromValue(info[1], &flags)) { + case -1: + throw Napi::Error::New(env, "Null pointer in key flag."); + break; + case -2: + throw Napi::Error::New(env, "Invalid key flag specified."); + break; + } + break; + case 1: + break; + default: + throw Napi::Error::New(env, "Invalid number of arguments."); + } + + switch (CheckKeyCodes(keyName, &key)) { + case -1: + throw Napi::Error::New(env, "Null pointer in key code."); + break; + case -2: + throw Napi::Error::New(env, "Invalid key code specified."); + break; + default: + tapKeyCode(key, flags); + } + + return Napi::Number::New(env, 1); +} + +Napi::Number _keyToggle(const Napi::CallbackInfo &info) { + Napi::Env env = info.Env(); + + MMKeyFlags flags = MOD_NONE; + MMKeyCode key; + + bool down = false; + + //Get arguments from JavaScript. + std::string keyName = info[0].As(); + + //Check and confirm number of arguments. + switch (info.Length()) { + case 3: + //Get key modifier. + switch (GetFlagsFromValue(info[2], &flags)) { + case -1: + throw Napi::Error::New(env, "Null pointer in key flag."); + break; + case -2: + throw Napi::Error::New(env, "Invalid key flag specified."); + break; + } + break; + case 2: + break; + default: + throw Napi::Error::New(env, "Invalid number of arguments."); + } + + //Get down value if provided. + if (info.Length() > 1) { + std::string directionString = info[1].As(); + + if (directionString.compare("down") == 0) { + down = true; + } else if (directionString.compare("up") == 0) { + down = false; + } else { + throw Napi::Error::New(env, "Invalid key state specified."); + } + } + + //Get the acutal key. + switch (CheckKeyCodes(keyName, &key)) { + case -1: + throw Napi::Error::New(env, "Null pointer in key code."); + break; + case -2: + throw Napi::Error::New(env, "Invalid key code specified."); + break; + default: + toggleKeyCode(key, down, flags); + } + + return Napi::Number::New(env, 1); +} + +Napi::Number _typeString(const Napi::CallbackInfo &info) { + Napi::Env env = info.Env(); + + std::string stringToType = info[0].As(); + + typeString(stringToType.c_str()); + + return Napi::Number::New(env, 1); +} + +Napi::Number _typeStringDelayed(const Napi::CallbackInfo &info) { + Napi::Env env = info.Env(); + + std::string stringToType = info[0].As(); + size_t cpm = info[1].As().Int32Value(); + + typeStringDelayed(stringToType.c_str(), (unsigned int) cpm); + + return Napi::Number::New(env, 1); +} + +Napi::Number _setKeyboardDelay(const Napi::CallbackInfo &info) { + Napi::Env env = info.Env(); + + if (info.Length() != 1) { + throw Napi::Error::New(env, "Invalid number of arguments."); + } + + keyboardDelay = info[0].As().Int32Value(); + + return Napi::Number::New(env, 1); +} + +/* +Clipboard +*/ + +Napi::Array _readFilePathsJs(const Napi::CallbackInfo &info) +{ + auto env = info.Env(); + const auto file_paths = ReadFilePaths(); + auto result = Napi::Array::New(env, file_paths.size()); + for (size_t i = 0; i != file_paths.size(); ++i) + { + result.Set(i, file_paths[i]); + } + return result; +} + +Napi::Object Init(Napi::Env env, Napi::Object exports) { + exports.Set(Napi::String::New(env, "keyTap"), Napi::Function::New(env, _keyTap)); + exports.Set(Napi::String::New(env, "keyToggle"), Napi::Function::New(env, _keyToggle)); + exports.Set(Napi::String::New(env, "typeString"), Napi::Function::New(env, _typeString)); + exports.Set(Napi::String::New(env, "typeStringDelayed"), Napi::Function::New(env, _typeStringDelayed)); + exports.Set(Napi::String::New(env, "setKeyboardDelay"), Napi::Function::New(env, _setKeyboardDelay)); + + exports.Set(Napi::String::New(env, "readFilePaths"), Napi::Function::New(env, _readFilePathsJs)); + + return exports; +} + +NODE_API_MODULE(rubick-addon, Init) diff --git a/src/microsleep.h b/src/microsleep.h new file mode 100644 index 0000000..bbb8a4f --- /dev/null +++ b/src/microsleep.h @@ -0,0 +1,40 @@ +#pragma once +#ifndef MICROSLEEP_H +#define MICROSLEEP_H + +#include "os.h" +#include "inline_keywords.h" + +#if !defined(IS_WINDOWS) + /* Make sure nanosleep gets defined even when using C89. */ + #if !defined(__USE_POSIX199309) || !__USE_POSIX199309 + #define __USE_POSIX199309 1 + #endif + + #include /* For nanosleep() */ +#endif + +/* + * A more widely supported alternative to usleep(), based on Sleep() in Windows + * and nanosleep() everywhere else. + * + * Pauses execution for the given amount of milliseconds. + */ +H_INLINE void microsleep(double milliseconds) +{ +#if defined(IS_WINDOWS) + Sleep((DWORD)milliseconds); /* (Unfortunately truncated to a 32-bit integer.) */ +#else + /* Technically, nanosleep() is not an ANSI function, but it is the most + * supported precise sleeping function I can find. + * + * If it is really necessary, it may be possible to emulate this with some + * hack using select() in the future if we really have to. */ + struct timespec sleepytime; + sleepytime.tv_sec = milliseconds / 1000; + sleepytime.tv_nsec = (milliseconds - (sleepytime.tv_sec * 1000)) * 1000000; + nanosleep(&sleepytime, NULL); +#endif +} + +#endif /* MICROSLEEP_H */ diff --git a/src/os.h b/src/os.h new file mode 100644 index 0000000..ac5f42f --- /dev/null +++ b/src/os.h @@ -0,0 +1,42 @@ +#pragma once +#ifndef OS_H +#define OS_H + +#if !defined(IS_MACOSX) && defined(__APPLE__) && defined(__MACH__) + #define IS_MACOSX +#endif /* IS_MACOSX */ + +#if !defined(IS_WINDOWS) && (defined(WIN32) || defined(_WIN32) || \ + defined(__WIN32__) || defined(__WINDOWS__)) + #define IS_WINDOWS +#endif /* IS_WINDOWS */ + +#if !defined(USE_X11) && !defined(NUSE_X11) && !defined(IS_MACOSX) && !defined(IS_WINDOWS) + #define USE_X11 +#endif /* USE_X11 */ + +#if defined(IS_WINDOWS) + #define STRICT /* Require use of exact types. */ + #define WIN32_LEAN_AND_MEAN 1 /* Speed up compilation. */ + #include +#elif !defined(IS_MACOSX) && !defined(USE_X11) + #error "Sorry, this platform isn't supported yet!" +#endif + +/* Interval to align by for large buffers (e.g. bitmaps). */ +/* Must be a power of 2. */ +#ifndef BYTE_ALIGN + #define BYTE_ALIGN 4 /* Bytes to align pixel buffers to. */ + /* #include */ + /* #define BYTE_ALIGN (sizeof(size_t)) */ +#endif /* BYTE_ALIGN */ + +#if BYTE_ALIGN == 0 + /* No alignment needed. */ + #define ADD_PADDING(width) (width) +#else + /* Aligns given width to padding. */ + #define ADD_PADDING(width) (BYTE_ALIGN + (((width) - 1) & ~(BYTE_ALIGN - 1))) +#endif + +#endif /* OS_H */ diff --git a/src/types.h b/src/types.h new file mode 100644 index 0000000..107eb95 --- /dev/null +++ b/src/types.h @@ -0,0 +1,72 @@ +#pragma once +#ifndef TYPES_H +#define TYPES_H + +#include "os.h" +#include "inline_keywords.h" /* For H_INLINE */ +#include +#include + +/* Some generic, cross-platform types. */ + +struct _MMPoint { + int64_t x; + int64_t y; +}; + +typedef struct _MMPoint MMPoint; + +struct _MMSize { + int64_t width; + int64_t height; +}; + +typedef struct _MMSize MMSize; + +struct _MMRect { + MMPoint origin; + MMSize size; +}; + +typedef struct _MMRect MMRect; + +H_INLINE MMPoint MMPointMake(int64_t x, int64_t y) +{ + MMPoint point; + point.x = x; + point.y = y; + return point; +} + +H_INLINE MMSize MMSizeMake(int64_t width, int64_t height) +{ + MMSize size; + size.width = width; + size.height = height; + return size; +} + +H_INLINE MMRect MMRectMake(int64_t x, int64_t y, int64_t width, int64_t height) +{ + MMRect rect; + rect.origin = MMPointMake(x, y); + rect.size = MMSizeMake(width, height); + return rect; +} + +#define MMPointZero MMPointMake(0, 0) + +#if defined(IS_MACOSX) + +#define CGPointFromMMPoint(p) CGPointMake((CGFloat)(p).x, (CGFloat)(p).y) +#define MMPointFromCGPoint(p) MMPointMake((int64_t)(p).x, (int64_t)(p).y) + +#elif defined(IS_WINDOWS) + +#define MMPointFromPOINT(p) MMPointMake((int64_t)p.x, (int64_t)p.y) + +#endif + +typedef int64_t WindowHandle; + +#endif /* TYPES_H */ diff --git a/src/win32/clipboard.cc b/src/win32/clipboard.cc new file mode 100644 index 0000000..6e7d5d5 --- /dev/null +++ b/src/win32/clipboard.cc @@ -0,0 +1,62 @@ +#include +#include +#include +#include "clipboard.h" + +// 宽字符串转UTF8字符串 +std::string Utf16CStringToUtf8String(LPCWSTR input, UINT len) +{ + int target_len = WideCharToMultiByte(CP_UTF8, 0, input, len, NULL, 0, NULL, NULL); + std::string result(target_len, '\0'); + WideCharToMultiByte(CP_UTF8, 0, input, len, result.data(), target_len, NULL, NULL); + return result; +} + +// RAII(Resource Acquisition Is Initialization)类 +class ClipboardScope +{ + + bool valid; + +public: + ClipboardScope() + { + valid = static_cast(OpenClipboard(NULL)); + } + ~ClipboardScope() + { + CloseClipboard(); + } + + bool IsValid() + { + return valid; + } +}; + +//读取剪切板内的文件路径 +std::vector ReadFilePaths() +{ + auto result = std::vector(); + ClipboardScope clipboard_scope; + if (!clipboard_scope.IsValid()) + { + return result; + } + HDROP drop_files_handle = (HDROP)GetClipboardData(CF_HDROP); + if (!drop_files_handle) + { + return result; + } + UINT file_count = DragQueryFileW(drop_files_handle, 0xFFFFFFFF, NULL, 0); + result.reserve(file_count); + for (UINT i = 0; i < file_count; ++i) + { + UINT path_len = DragQueryFileW(drop_files_handle, i, NULL, 0); + UINT buffer_len = path_len + 1; + std::unique_ptr buffer(new WCHAR[buffer_len]); + path_len = DragQueryFileW(drop_files_handle, i, buffer.get(), buffer_len); + result.emplace_back(Utf16CStringToUtf8String(buffer.get(), path_len)); + } + return result; +} \ No newline at end of file diff --git a/src/win32/keycode.c b/src/win32/keycode.c new file mode 100644 index 0000000..7a01dc9 --- /dev/null +++ b/src/win32/keycode.c @@ -0,0 +1,6 @@ +#include "../keycode.h" + +MMKeyCode keyCodeForChar(const char c) +{ + return VkKeyScan(c); +} diff --git a/src/win32/keypress.c b/src/win32/keypress.c new file mode 100644 index 0000000..2f2ba56 --- /dev/null +++ b/src/win32/keypress.c @@ -0,0 +1,192 @@ +#include "../keypress.h" +#include "../deadbeef_rand.h" +#include "../microsleep.h" + +#include /* For isupper() */ + +void win32KeyEvent(int key, MMKeyFlags flags) +{ + UINT scan = MapVirtualKey(key & 0xff, MAPVK_VK_TO_VSC); + + /* Set the scan code for extended keys */ + switch (key) + { + case VK_RCONTROL: + case VK_SNAPSHOT: /* Print Screen */ + case VK_RMENU: /* Right Alt / Alt Gr */ + case VK_PAUSE: /* Pause / Break */ + case VK_HOME: + case VK_UP: + case VK_PRIOR: /* Page up */ + case VK_LEFT: + case VK_RIGHT: + case VK_END: + case VK_DOWN: + case VK_NEXT: /* 'Page Down' */ + case VK_INSERT: + case VK_DELETE: + case VK_LWIN: + case VK_RWIN: + case VK_APPS: /* Application */ + case VK_VOLUME_MUTE: + case VK_VOLUME_DOWN: + case VK_VOLUME_UP: + case VK_MEDIA_NEXT_TRACK: + case VK_MEDIA_PREV_TRACK: + case VK_MEDIA_STOP: + case VK_MEDIA_PLAY_PAUSE: + case VK_BROWSER_BACK: + case VK_BROWSER_FORWARD: + case VK_BROWSER_REFRESH: + case VK_BROWSER_STOP: + case VK_BROWSER_SEARCH: + case VK_BROWSER_FAVORITES: + case VK_BROWSER_HOME: + case VK_LAUNCH_MAIL: + { + flags |= KEYEVENTF_EXTENDEDKEY; + break; + } + } + + INPUT keyboardInput; + keyboardInput.type = INPUT_KEYBOARD; + keyboardInput.ki.wScan = (WORD)scan; + keyboardInput.ki.wVk = (WORD)key; + keyboardInput.ki.dwFlags = KEYEVENTF_SCANCODE | flags; + keyboardInput.ki.time = 0; + SendInput(1, &keyboardInput, sizeof(keyboardInput)); +} + +void toggleKeyCode(MMKeyCode code, const bool down, MMKeyFlags flags) +{ + const DWORD dwFlags = down ? 0 : KEYEVENTF_KEYUP; + + if (down) + { + /* Parse modifier keys. */ + if (flags & MOD_META) + win32KeyEvent(K_META, dwFlags); + if (flags & MOD_ALT) + win32KeyEvent(K_ALT, dwFlags); + if (flags & MOD_CONTROL) + win32KeyEvent(K_CONTROL, dwFlags); + if (flags & MOD_SHIFT) + win32KeyEvent(K_SHIFT, dwFlags); + + win32KeyEvent(code, dwFlags); + } + else + { + win32KeyEvent(code, dwFlags); + + /* Parse modifier keys. */ + if (flags & MOD_META) + win32KeyEvent(K_META, dwFlags); + if (flags & MOD_ALT) + win32KeyEvent(K_ALT, dwFlags); + if (flags & MOD_CONTROL) + win32KeyEvent(K_CONTROL, dwFlags); + if (flags & MOD_SHIFT) + win32KeyEvent(K_SHIFT, dwFlags); + + } +} + +void tapKeyCode(MMKeyCode code, MMKeyFlags flags) +{ + toggleKeyCode(code, true, flags); + toggleKeyCode(code, false, flags); +} + +void toggleKey(char c, const bool down, MMKeyFlags flags) +{ + MMKeyCode keyCode = keyCodeForChar(c); + + int modifiers = keyCode >> 8; // Pull out modifers. + if ((modifiers & 1) != 0) + flags |= MOD_SHIFT; // Update flags from keycode modifiers. + if ((modifiers & 2) != 0) + flags |= MOD_CONTROL; + if ((modifiers & 4) != 0) + flags |= MOD_ALT; + keyCode = keyCode & 0xff; // Mask out modifiers. + toggleKeyCode(keyCode, down, flags); +} + +void tapKey(char c, MMKeyFlags flags) +{ + toggleKey(c, true, flags); + toggleKey(c, false, flags); +} + +#define toggleUniKey(c, down) toggleKey(c, down, MOD_NONE) + +static void tapUniKey(char c) +{ + toggleUniKey(c, true); + toggleUniKey(c, false); +} + +void typeString(const char *str) +{ + unsigned short c; + unsigned short c1; + unsigned short c2; + unsigned short c3; + unsigned long n; + + while (*str != '\0') + { + c = *str++; + + // warning, the following utf8 decoder + // doesn't perform validation + if (c <= 0x7F) + { + // 0xxxxxxx one byte + n = c; + } + else if ((c & 0xE0) == 0xC0) + { + // 110xxxxx two bytes + c1 = (*str++) & 0x3F; + n = ((c & 0x1F) << 6) | c1; + } + else if ((c & 0xF0) == 0xE0) + { + // 1110xxxx three bytes + c1 = (*str++) & 0x3F; + c2 = (*str++) & 0x3F; + n = ((c & 0x0F) << 12) | (c1 << 6) | c2; + } + else if ((c & 0xF8) == 0xF0) + { + // 11110xxx four bytes + c1 = (*str++) & 0x3F; + c2 = (*str++) & 0x3F; + c3 = (*str++) & 0x3F; + n = ((c & 0x07) << 18) | (c1 << 12) | (c2 << 6) | c3; + } + else + continue; /* ignore invalid UTF-8 */ + + toggleUniKey((char)n, true); + toggleUniKey((char)n, false); + } +} + +void typeStringDelayed(const char *str, const unsigned cpm) +{ + /* Characters per second */ + const double cps = (double)cpm / 60.0; + + /* Average milli-seconds per character */ + const double mspc = (cps == 0.0) ? 0.0 : 1000.0 / cps; + + while (*str != '\0') + { + tapUniKey(*str++); + microsleep(mspc + (DEADBEEF_UNIFORM(0.0, 62.5))); + } +} diff --git a/test/clipboard.js b/test/clipboard.js new file mode 100644 index 0000000..61187d5 --- /dev/null +++ b/test/clipboard.js @@ -0,0 +1,3 @@ +const libnut = require(".."); + +console.log(libnut.readFilePaths()); \ No newline at end of file diff --git a/test/keyboard.js b/test/keyboard.js new file mode 100644 index 0000000..a65f302 --- /dev/null +++ b/test/keyboard.js @@ -0,0 +1,40 @@ +const libnut = require(".."); +const os = require("os"); + +// TODO: Need tests for keyToggle, typeString, typeStringDelayed, and setKeyboardDelay. +console.log(libnut); +describe("Keyboard", () => { + it("Tap a key.", function() { + expect(() => libnut.keyTap("a")).not.toThrow(); + expect(() => libnut.keyTap("a", "control")).not.toThrow(); + expect(() => libnut.keyTap()).toThrowError(/A string was expected/); + }); + + it("Tap a key with modifier array.", function() { + expect(() => libnut.keyTap("a", ["alt", "control"])).not.toThrow(); + }); + + // This it won't fail if there's an issue, but it will help you identify an issue if ran locally. + it("Tap all keys.", function() { + const chars = "abcdefghijklmnopqrstuvwxyz1234567890,./;'[]\\".split(""); + + for (const x in chars) { + expect(() => libnut.keyTap(chars[x])).not.toThrow(); + } + }); + + // This it won't fail if there's an issue, but it will help you identify an issue if ran locally. + it("Tap all numpad keys.", function() { + const nums = "0123456789".split(""); + + for (const x in nums) { + if (os.platform() === "linux") { + expect(() => libnut.keyTap("numpad_" + nums[x])).toThrowError( + /Invalid key code/ + ); + } else { + expect(() => libnut.keyTap("numpad_" + nums[x])).not.toThrow(); + } + } + }); +}); diff --git a/test/package.json b/test/package.json new file mode 100644 index 0000000..ed508b6 --- /dev/null +++ b/test/package.json @@ -0,0 +1,25 @@ +{ + "name": "libnut-test", + "version": "2.0.0", + "description": "libnut test package", + "main": "index.js", + "typings": "index.d.ts", + "scripts": { + "test": "run-script-os", + "test:it": "run-script-os", + "test:darwin:linux": "jasmine *.js", + "test:win32": "jasmine *.js", + "test:it:darwin:linux": "jasmine integration/*.js", + "test:it:win32": "jasmine integration/*.js" + }, + "author": "Simon Hofmann ", + "license": "Apache-2.0", + "devDependencies": { + "jasmine": "3.5.0", + "run-script-os": "^1.1.1", + "targetpractice": "0.0.7" + }, + "engines": { + "node": ">=10.15.3" + } +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..5aea415 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,486 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@nut-tree/node-mac-permissions@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@nut-tree/node-mac-permissions/-/node-mac-permissions-2.2.1.tgz#925597509cb4492d2567dd04607f58c531b3584e" + integrity sha512-yoijwCqt2yS9UFTv7THGUwZgy2D2TorN703QpYNOergbTJ6vEmeG379pIZDfBuvf56n24RMzKJVoSqr9WIq/Yw== + dependencies: + bindings "1.5.0" + node-addon-api "5.0.0" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@^0.27.2: + version "0.27.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" + integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== + dependencies: + follow-redirects "^1.14.9" + form-data "^4.0.0" + +bindings@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +cmake-js@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/cmake-js/-/cmake-js-7.1.1.tgz#7935210efe0d562bbb02a7fde445d147e9eb4523" + integrity sha512-2NK9diAsNC0eIeKUUi+eN8uxCJukZ0TlMNZ8f1Z2PEW3Oeh0Tmn0VizPayFVnhrvZQcBK8tPqzrL4oHeaQBymw== + dependencies: + axios "^0.27.2" + debug "^4" + fs-extra "^10.1.0" + lodash.isplainobject "^4.0.6" + memory-stream "^1.0.0" + node-api-headers "^0.0.1" + npmlog "^6.0.2" + rc "^1.2.7" + semver "^7.3.8" + tar "^6.1.11" + url-join "^4.0.1" + which "^2.0.2" + yargs "^17.6.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +debug@^4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +follow-redirects@^1.14.9: + version "1.15.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fs-extra@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +inherits@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +memory-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/memory-stream/-/memory-stream-1.0.0.tgz#481dfd259ccdf57b03ec2c9632960044180e73c2" + integrity sha512-Wm13VcsPIMdG96dzILfij09PvuS3APtcKNh7M28FsCA/w6+1mjR7hhPmfFNoilX9xU7wTdhsH5lJAm6XNzdtww== + dependencies: + readable-stream "^3.4.0" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +minimist@^1.2.0: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +node-addon-api@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.0.0.tgz#7d7e6f9ef89043befdb20c1989c905ebde18c501" + integrity sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA== + +node-addon-api@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + +node-api-headers@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/node-api-headers/-/node-api-headers-0.0.1.tgz#e49821048943e50d5b93bc12ada0dd072d2b0769" + integrity sha512-eRxckUSXMRQRV69h+ksfleQzR3BdRwkJuc/Y65KFFwhibC5G1y6wgytYW2WWTB/oG1bt+pf2RwjZDYC0xKqgqQ== + +npmlog@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +semver@^7.3.8: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +tar@^6.1.11: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +url-join@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.6.0: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1"