@bettergi/types 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/index.d.ts +3 -0
- package/objects/keyMouseHook.d.ts +70 -0
- package/package.json +5 -2
- package/types/BetterGenshinImpact/GameTask/AutoDomain/AutoDomainTask.d.ts +3 -2
- package/types/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.d.ts +3 -2
- package/types/BetterGenshinImpact/GameTask/Model/Area/Converter/INodeConverter.d.ts +8 -1
- package/types/BetterGenshinImpact/GameTask/Model/Area/Region.d.ts +3 -2
- package/types/BetterGenshinImpact/Helpers/User32Helper.d.ts +178 -178
- package/types/System/Collections/IEqualityComparer.d.ts +11 -0
- package/types/System/Collections/IStructuralComparable.d.ts +11 -0
- package/types/System/Collections/IStructuralEquatable.d.ts +13 -0
- package/types/System/DateTime.d.ts +1 -0
- package/types/System/DateTimeOffset.d.ts +1 -0
- package/types/System/Exception.d.ts +1 -0
- package/types/System/IAsyncDisposable.d.ts +1 -0
- package/types/System/IComparable.d.ts +9 -0
- package/types/System/IEquatable.d.ts +1 -0
- package/types/System/Runtime/CompilerServices/ITuple.d.ts +11 -0
- package/types/System/Threading/CancellationToken.d.ts +1 -0
- package/types/System/Threading/CancellationTokenRegistration.d.ts +1 -0
- package/types/System/Threading/CancellationTokenSource.d.ts +1 -0
- package/types/System/Threading/ITimer.d.ts +1 -0
- package/types/System/Threading/Tasks/ValueTask.d.ts +1 -0
- package/types/System/Threading/WaitHandle.d.ts +1 -0
- package/types/System/TimeProvider.d.ts +1 -0
- package/types/System/TimeSpan.d.ts +1 -0
- package/types/System/Tuple.d.ts +184 -0
- package/types/System/Windows/Forms/Keys.d.ts +200 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Bread Grocery
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/index.d.ts
CHANGED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { type KeyCodeString, type KeyDataString } from "../types/System/Windows/Forms/Keys";
|
|
2
|
+
|
|
3
|
+
type MouseButton = "Left" | "Right" | "Middle" | "XButton1" | "XButton2";
|
|
4
|
+
|
|
5
|
+
declare global {
|
|
6
|
+
/** @since 0.55.0 */
|
|
7
|
+
namespace keyMouseHook {
|
|
8
|
+
/**
|
|
9
|
+
* 注册键盘按下事件回调
|
|
10
|
+
* @param callback 回调函数
|
|
11
|
+
* @param useCodeOnly 是否仅返回 KeyCode,否则返回 KeyData(默认为 true)
|
|
12
|
+
* @since 0.55.0
|
|
13
|
+
*/
|
|
14
|
+
function onKeyDown(callback: (keyCode: KeyCodeString) => void, useCodeOnly?: true): void;
|
|
15
|
+
// overload
|
|
16
|
+
function onKeyDown(callback: (keyData: KeyDataString) => void, useCodeOnly: false): void;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 注册键盘释放事件回调
|
|
20
|
+
* @param callback 回调函数
|
|
21
|
+
* @param useCodeOnly 是否仅返回 KeyCode,否则返回 KeyData(默认为 true)
|
|
22
|
+
* @since 0.55.0
|
|
23
|
+
*/
|
|
24
|
+
function onKeyUp(callback: (keyCode: KeyCodeString) => void, useCodeOnly?: true): void;
|
|
25
|
+
// overload
|
|
26
|
+
function onKeyUp(callback: (keyData: KeyDataString) => void, useCodeOnly: false): void;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* 注册鼠标移动事件回调
|
|
30
|
+
* @param callback 回调函数
|
|
31
|
+
* @since 0.55.0
|
|
32
|
+
*/
|
|
33
|
+
function onMouseDown(callback: (button: MouseButton) => void): void;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* 注册鼠标释放事件回调
|
|
37
|
+
* @param callback 回调函数
|
|
38
|
+
* @since 0.55.0
|
|
39
|
+
*/
|
|
40
|
+
function onMouseUp(callback: (keyCode: MouseButton) => void): void;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 注册鼠标移动事件回调
|
|
44
|
+
* @param callback 回调函数
|
|
45
|
+
* @param interval 回调节流间隔(单位:毫秒,默认值:200)
|
|
46
|
+
*/
|
|
47
|
+
function onMouseMove(callback: (x: number, y: number) => void, interval: number = 200): void;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* 注册鼠标滚轮事件回调
|
|
51
|
+
* @param callback 回调函数
|
|
52
|
+
* @since 0.55.0
|
|
53
|
+
*/
|
|
54
|
+
function onMouseWheel(callback: (delta: number, x: number, y: number) => void): void;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 清空回调列表
|
|
58
|
+
* @since 0.55.0
|
|
59
|
+
*/
|
|
60
|
+
function removeAllListeners(): void;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* 取消所有注册键鼠事件回调
|
|
64
|
+
* @since 0.55.0
|
|
65
|
+
*/
|
|
66
|
+
function dispose(): void;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bettergi/types",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "BetterGI TypeScript 类型定义",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Bread Grocery<https://github.com/breadgrocery>",
|
|
@@ -21,5 +21,8 @@
|
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"mirada": "^0.0.15"
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"release": "pnpm publish --access public"
|
|
24
27
|
}
|
|
25
|
-
}
|
|
28
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "../../../System/Collections/Generic/List";
|
|
2
2
|
import "../../../System/Threading/CancellationToken";
|
|
3
|
+
import "../../../System/Tuple";
|
|
3
4
|
import "../../GameTask/Model/Area/ImageRegion";
|
|
4
5
|
import "../../GameTask/Model/Area/Region";
|
|
5
6
|
import "../ISoloTask";
|
|
@@ -20,7 +21,7 @@ declare global {
|
|
|
20
21
|
static pressUseResin(
|
|
21
22
|
ra: BetterGenshinImpact.GameTask.Model.Area.ImageRegion,
|
|
22
23
|
resinName: string
|
|
23
|
-
):
|
|
24
|
+
): System.Tuple2<boolean, number>;
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
27
|
* 点击使用树脂
|
|
@@ -30,7 +31,7 @@ declare global {
|
|
|
30
31
|
static pressUseResin(
|
|
31
32
|
regionList: System.Collections.Generic.List<BetterGenshinImpact.GameTask.Model.Area.Region>,
|
|
32
33
|
resinName: string
|
|
33
|
-
):
|
|
34
|
+
): System.Tuple2<boolean, number>;
|
|
34
35
|
|
|
35
36
|
constructor(taskParam: BetterGenshinImpact.GameTask.AutoDomain.AutoDomainParam);
|
|
36
37
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "../../../System/Collections/Generic/List";
|
|
2
2
|
import "../../../System/Threading/CancellationToken";
|
|
3
|
+
import "../../../System/Tuple";
|
|
3
4
|
import "../../GameTask/Model/Area/ImageRegion";
|
|
4
5
|
import "../../GameTask/Model/Area/Region";
|
|
5
6
|
import "../ISoloTask";
|
|
@@ -20,7 +21,7 @@ declare global {
|
|
|
20
21
|
static pressUseResin(
|
|
21
22
|
ra: BetterGenshinImpact.GameTask.Model.Area.ImageRegion,
|
|
22
23
|
resinName: string
|
|
23
|
-
):
|
|
24
|
+
): System.Tuple2<boolean, number>;
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
27
|
* 点击使用树脂
|
|
@@ -30,7 +31,7 @@ declare global {
|
|
|
30
31
|
static pressUseResin(
|
|
31
32
|
regionList: System.Collections.Generic.List<BetterGenshinImpact.GameTask.Model.Area.Region>,
|
|
32
33
|
resinName: string
|
|
33
|
-
):
|
|
34
|
+
): System.Tuple2<boolean, number>;
|
|
34
35
|
|
|
35
36
|
constructor(taskParam: BetterGenshinImpact.GameTask.AutoFight.AutoFightParam);
|
|
36
37
|
}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
import "../../../../../System/Tuple";
|
|
2
|
+
|
|
1
3
|
declare global {
|
|
2
4
|
namespace BetterGenshinImpact.GameTask.Model.Area.Converter {
|
|
3
5
|
interface INodeConverter {
|
|
4
|
-
toPrev(
|
|
6
|
+
toPrev(
|
|
7
|
+
x: number,
|
|
8
|
+
y: number,
|
|
9
|
+
w: number,
|
|
10
|
+
h: number
|
|
11
|
+
): System.Tuple4<number, number, number, number>;
|
|
5
12
|
}
|
|
6
13
|
}
|
|
7
14
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Rect } from "mirada/dist/src/types/opencv";
|
|
2
2
|
import "../../../../System/Drawing/Pen";
|
|
3
3
|
import "../../../../System/IDisposable";
|
|
4
|
+
import "../../../../System/Tuple";
|
|
4
5
|
import "../../../GameTask/Model/Area/Converter/INodeConverter";
|
|
5
6
|
import "../../../GameTask/Model/Area/ImageRegion";
|
|
6
7
|
import "../../../View/Drawable/LineDrawable";
|
|
@@ -165,10 +166,10 @@ declare global {
|
|
|
165
166
|
convertPositionToGameCaptureRegion(x: number, y: number, w: number, h: number): Rect;
|
|
166
167
|
|
|
167
168
|
/** 将指定区域的截图转换成位置元组 */
|
|
168
|
-
convertPositionToGameCaptureRegion(x: number, y: number):
|
|
169
|
+
convertPositionToGameCaptureRegion(x: number, y: number): System.Tuple2<number, number>;
|
|
169
170
|
|
|
170
171
|
/** 将指定桌面区域的截图转换成位置元组 */
|
|
171
|
-
convertPositionToDesktopRegion(x: number, y: number):
|
|
172
|
+
convertPositionToDesktopRegion(x: number, y: number): System.Tuple2<number, number>;
|
|
172
173
|
|
|
173
174
|
/** 生成一个新的矩形类型的区域 */
|
|
174
175
|
toRect(): Rect;
|
|
@@ -1,137 +1,137 @@
|
|
|
1
1
|
export type Key =
|
|
2
2
|
| "LBUTTON" // 鼠标左键
|
|
3
3
|
| "RBUTTON" // 鼠标右键
|
|
4
|
-
| "CANCEL" //
|
|
5
|
-
| "MBUTTON" //
|
|
6
|
-
| "XBUTTON1" //
|
|
7
|
-
| "XBUTTON2" //
|
|
8
|
-
| "BACK" //
|
|
9
|
-
| "TAB" //
|
|
10
|
-
| "CLEAR" //
|
|
11
|
-
| "RETURN" //
|
|
12
|
-
| "SHIFT" // Shift
|
|
13
|
-
| "LSHIFT" //
|
|
14
|
-
| "RSHIFT" //
|
|
15
|
-
| "CONTROL" // Ctrl
|
|
16
|
-
| "LCONTROL" //
|
|
17
|
-
| "RCONTROL" //
|
|
18
|
-
| "MENU" // Alt
|
|
19
|
-
| "LMENU" //
|
|
20
|
-
| "RMENU" //
|
|
21
|
-
| "PAUSE" //
|
|
22
|
-
| "CAPITAL" //
|
|
23
|
-
| "KANA" //
|
|
24
|
-
| "HANGUL" //
|
|
25
|
-
| "HANGUEL" //
|
|
4
|
+
| "CANCEL" // 取消/中断键
|
|
5
|
+
| "MBUTTON" // 鼠标中键
|
|
6
|
+
| "XBUTTON1" // 鼠标侧键1(前进键)
|
|
7
|
+
| "XBUTTON2" // 鼠标侧键2(后退键)
|
|
8
|
+
| "BACK" // 退格键
|
|
9
|
+
| "TAB" // 制表键
|
|
10
|
+
| "CLEAR" // 清除键
|
|
11
|
+
| "RETURN" // 回车键
|
|
12
|
+
| "SHIFT" // Shift键(不区分左右)
|
|
13
|
+
| "LSHIFT" // 左侧Shift键
|
|
14
|
+
| "RSHIFT" // 右侧Shift键
|
|
15
|
+
| "CONTROL" // Ctrl键(不区分左右)
|
|
16
|
+
| "LCONTROL" // 左侧Ctrl键
|
|
17
|
+
| "RCONTROL" // 右侧Ctrl键
|
|
18
|
+
| "MENU" // Alt键(不区分左右)
|
|
19
|
+
| "LMENU" // 左侧Alt键
|
|
20
|
+
| "RMENU" // 右侧Alt键
|
|
21
|
+
| "PAUSE" // 暂停键
|
|
22
|
+
| "CAPITAL" // 大写锁定键
|
|
23
|
+
| "KANA" // 日文假名输入模式
|
|
24
|
+
| "HANGUL" // 韩文Hangul输入模式
|
|
25
|
+
| "HANGUEL" // 韩文Hanguel输入模式(同Hangul)
|
|
26
26
|
| "IME_ON" // 输入法开启状态
|
|
27
|
-
| "JUNJA" //
|
|
28
|
-
| "FINAL" //
|
|
29
|
-
| "HANJA" //
|
|
30
|
-
| "KANJI" //
|
|
27
|
+
| "JUNJA" // 韩文Junja输入模式
|
|
28
|
+
| "FINAL" // 输入法最终模式
|
|
29
|
+
| "HANJA" // 韩文汉字输入模式
|
|
30
|
+
| "KANJI" // 日文汉字输入模式
|
|
31
31
|
| "IME_OFF" // 输入法关闭状态
|
|
32
|
-
| "ESCAPE" // Esc
|
|
33
|
-
| "CONVERT" //
|
|
34
|
-
| "NONCONVERT" //
|
|
35
|
-
| "ACCEPT" //
|
|
36
|
-
| "MODECHANGE" //
|
|
32
|
+
| "ESCAPE" // Esc键
|
|
33
|
+
| "CONVERT" // 输入法转换键
|
|
34
|
+
| "NONCONVERT" // 输入法非转换键
|
|
35
|
+
| "ACCEPT" // 输入法接受键
|
|
36
|
+
| "MODECHANGE" // 输入法模式切换键
|
|
37
37
|
| "SPACE" // 空格键
|
|
38
|
-
| "PRIOR" // Page Up
|
|
39
|
-
| "NEXT" // Page Down
|
|
40
|
-
| "END" // End
|
|
41
|
-
| "HOME" // Home
|
|
42
|
-
| "UP" //
|
|
43
|
-
| "DOWN" //
|
|
44
|
-
| "LEFT" //
|
|
45
|
-
| "RIGHT" //
|
|
46
|
-
| "SELECT" //
|
|
47
|
-
| "PRINT" //
|
|
48
|
-
| "EXECUTE" //
|
|
49
|
-
| "SNAPSHOT" //
|
|
50
|
-
| "INSERT" // Insert
|
|
51
|
-
| "DELETE" // Delete
|
|
52
|
-
| "HELP" //
|
|
53
|
-
| "0" //
|
|
54
|
-
| "1" //
|
|
55
|
-
| "2" //
|
|
56
|
-
| "3" //
|
|
57
|
-
| "4" //
|
|
58
|
-
| "5" //
|
|
59
|
-
| "6" //
|
|
60
|
-
| "7" //
|
|
61
|
-
| "8" //
|
|
62
|
-
| "9" //
|
|
63
|
-
| "A" //
|
|
64
|
-
| "B" //
|
|
65
|
-
| "C" //
|
|
66
|
-
| "D" //
|
|
67
|
-
| "E" //
|
|
68
|
-
| "F" //
|
|
69
|
-
| "G" //
|
|
70
|
-
| "H" //
|
|
71
|
-
| "I" //
|
|
72
|
-
| "J" //
|
|
73
|
-
| "K" //
|
|
74
|
-
| "L" //
|
|
75
|
-
| "M" //
|
|
76
|
-
| "N" //
|
|
77
|
-
| "O" //
|
|
78
|
-
| "P" //
|
|
79
|
-
| "Q" //
|
|
80
|
-
| "R" //
|
|
81
|
-
| "S" //
|
|
82
|
-
| "T" //
|
|
83
|
-
| "U" //
|
|
84
|
-
| "V" //
|
|
85
|
-
| "W" //
|
|
86
|
-
| "X" //
|
|
87
|
-
| "Y" //
|
|
88
|
-
| "Z" //
|
|
89
|
-
| "LWIN" //
|
|
90
|
-
| "RWIN" //
|
|
38
|
+
| "PRIOR" // Page Up键
|
|
39
|
+
| "NEXT" // Page Down键
|
|
40
|
+
| "END" // End键
|
|
41
|
+
| "HOME" // Home键
|
|
42
|
+
| "UP" // 向上方向键
|
|
43
|
+
| "DOWN" // 向下方向键
|
|
44
|
+
| "LEFT" // 向左方向键
|
|
45
|
+
| "RIGHT" // 向右方向键
|
|
46
|
+
| "SELECT" // 选择键
|
|
47
|
+
| "PRINT" // 打印键
|
|
48
|
+
| "EXECUTE" // 执行键
|
|
49
|
+
| "SNAPSHOT" // 截图键(同Print)
|
|
50
|
+
| "INSERT" // Insert键
|
|
51
|
+
| "DELETE" // Delete键
|
|
52
|
+
| "HELP" // 帮助键
|
|
53
|
+
| "0" // 主键盘数字0键
|
|
54
|
+
| "1" // 主键盘数字1键
|
|
55
|
+
| "2" // 主键盘数字2键
|
|
56
|
+
| "3" // 主键盘数字3键
|
|
57
|
+
| "4" // 主键盘数字4键
|
|
58
|
+
| "5" // 主键盘数字5键
|
|
59
|
+
| "6" // 主键盘数字6键
|
|
60
|
+
| "7" // 主键盘数字7键
|
|
61
|
+
| "8" // 主键盘数字8键
|
|
62
|
+
| "9" // 主键盘数字9键
|
|
63
|
+
| "A" // A键
|
|
64
|
+
| "B" // B键
|
|
65
|
+
| "C" // C键
|
|
66
|
+
| "D" // D键
|
|
67
|
+
| "E" // E键
|
|
68
|
+
| "F" // F键
|
|
69
|
+
| "G" // G键
|
|
70
|
+
| "H" // H键
|
|
71
|
+
| "I" // I键
|
|
72
|
+
| "J" // J键
|
|
73
|
+
| "K" // K键
|
|
74
|
+
| "L" // L键
|
|
75
|
+
| "M" // M键
|
|
76
|
+
| "N" // N键
|
|
77
|
+
| "O" // O键
|
|
78
|
+
| "P" // P键
|
|
79
|
+
| "Q" // Q键
|
|
80
|
+
| "R" // R键
|
|
81
|
+
| "S" // S键
|
|
82
|
+
| "T" // T键
|
|
83
|
+
| "U" // U键
|
|
84
|
+
| "V" // V键
|
|
85
|
+
| "W" // W键
|
|
86
|
+
| "X" // X键
|
|
87
|
+
| "Y" // Y键
|
|
88
|
+
| "Z" // Z键
|
|
89
|
+
| "LWIN" // 左侧Windows徽标键
|
|
90
|
+
| "RWIN" // 右侧Windows徽标键
|
|
91
91
|
| "APPS" // 应用程序键(右键菜单键)
|
|
92
|
-
| "SLEEP" //
|
|
93
|
-
| "NUMPAD0" //
|
|
94
|
-
| "NUMPAD1" //
|
|
95
|
-
| "NUMPAD2" //
|
|
96
|
-
| "NUMPAD3" //
|
|
97
|
-
| "NUMPAD4" //
|
|
98
|
-
| "NUMPAD5" //
|
|
99
|
-
| "NUMPAD6" //
|
|
100
|
-
| "NUMPAD7" //
|
|
101
|
-
| "NUMPAD8" //
|
|
102
|
-
| "NUMPAD9" //
|
|
92
|
+
| "SLEEP" // 休眠键
|
|
93
|
+
| "NUMPAD0" // 小键盘数字0键
|
|
94
|
+
| "NUMPAD1" // 小键盘数字1键
|
|
95
|
+
| "NUMPAD2" // 小键盘数字2键
|
|
96
|
+
| "NUMPAD3" // 小键盘数字3键
|
|
97
|
+
| "NUMPAD4" // 小键盘数字4键
|
|
98
|
+
| "NUMPAD5" // 小键盘数字5键
|
|
99
|
+
| "NUMPAD6" // 小键盘数字6键
|
|
100
|
+
| "NUMPAD7" // 小键盘数字7键
|
|
101
|
+
| "NUMPAD8" // 小键盘数字8键
|
|
102
|
+
| "NUMPAD9" // 小键盘数字9键
|
|
103
103
|
| "MULTIPLY" // 小键盘乘号键(*)
|
|
104
104
|
| "ADD" // 小键盘加号键(+)
|
|
105
|
-
| "SEPARATOR" //
|
|
105
|
+
| "SEPARATOR" // 分隔符键
|
|
106
106
|
| "SUBTRACT" // 小键盘减号键(-)
|
|
107
107
|
| "DECIMAL" // 小键盘小数点键(.)
|
|
108
108
|
| "DIVIDE" // 小键盘除号键(/)
|
|
109
|
-
| "F1" // 功能键
|
|
110
|
-
| "F2" // 功能键
|
|
111
|
-
| "F3" // 功能键
|
|
112
|
-
| "F4" // 功能键
|
|
113
|
-
| "F5" // 功能键
|
|
114
|
-
| "F6" // 功能键
|
|
115
|
-
| "F7" // 功能键
|
|
116
|
-
| "F8" // 功能键
|
|
117
|
-
| "F9" // 功能键
|
|
118
|
-
| "F10" // 功能键
|
|
119
|
-
| "F11" // 功能键
|
|
120
|
-
| "F12" // 功能键
|
|
121
|
-
| "F13" // 功能键
|
|
122
|
-
| "F14" // 功能键
|
|
123
|
-
| "F15" // 功能键
|
|
124
|
-
| "F16" // 功能键
|
|
125
|
-
| "F17" // 功能键
|
|
126
|
-
| "F18" // 功能键
|
|
127
|
-
| "F19" // 功能键
|
|
128
|
-
| "F20" // 功能键
|
|
129
|
-
| "F21" // 功能键
|
|
130
|
-
| "F22" // 功能键
|
|
131
|
-
| "F23" // 功能键
|
|
132
|
-
| "F24" // 功能键
|
|
133
|
-
| "NUMLOCK" //
|
|
134
|
-
| "SCROLL" //
|
|
109
|
+
| "F1" // F1功能键
|
|
110
|
+
| "F2" // F2功能键
|
|
111
|
+
| "F3" // F3功能键
|
|
112
|
+
| "F4" // F4功能键
|
|
113
|
+
| "F5" // F5功能键
|
|
114
|
+
| "F6" // F6功能键
|
|
115
|
+
| "F7" // F7功能键
|
|
116
|
+
| "F8" // F8功能键
|
|
117
|
+
| "F9" // F9功能键
|
|
118
|
+
| "F10" // F10功能键
|
|
119
|
+
| "F11" // F11功能键
|
|
120
|
+
| "F12" // F12功能键
|
|
121
|
+
| "F13" // F13功能键
|
|
122
|
+
| "F14" // F14功能键
|
|
123
|
+
| "F15" // F15功能键
|
|
124
|
+
| "F16" // F16功能键
|
|
125
|
+
| "F17" // F17功能键
|
|
126
|
+
| "F18" // F18功能键
|
|
127
|
+
| "F19" // F19功能键
|
|
128
|
+
| "F20" // F20功能键
|
|
129
|
+
| "F21" // F21功能键
|
|
130
|
+
| "F22" // F22功能键
|
|
131
|
+
| "F23" // F23功能键
|
|
132
|
+
| "F24" // F24功能键
|
|
133
|
+
| "NUMLOCK" // 数字锁定键
|
|
134
|
+
| "SCROLL" // 滚动锁定键
|
|
135
135
|
| "BROWSER_BACK" // 浏览器后退键
|
|
136
136
|
| "BROWSER_FORWARD" // 浏览器前进键
|
|
137
137
|
| "BROWSER_REFRESH" // 浏览器刷新键
|
|
@@ -140,53 +140,53 @@ export type Key =
|
|
|
140
140
|
| "BROWSER_FAVORITES" // 浏览器收藏夹键
|
|
141
141
|
| "BROWSER_HOME" // 浏览器主页键
|
|
142
142
|
| "VOLUME_MUTE" // 音量静音键
|
|
143
|
-
| "VOLUME_DOWN" //
|
|
144
|
-
| "VOLUME_UP" //
|
|
145
|
-
| "MEDIA_NEXT_TRACK" //
|
|
146
|
-
| "MEDIA_PREV_TRACK" //
|
|
143
|
+
| "VOLUME_DOWN" // 音量降低键
|
|
144
|
+
| "VOLUME_UP" // 音量提高键
|
|
145
|
+
| "MEDIA_NEXT_TRACK" // 媒体下一曲键
|
|
146
|
+
| "MEDIA_PREV_TRACK" // 媒体上一曲键
|
|
147
147
|
| "MEDIA_STOP" // 媒体停止键
|
|
148
|
-
| "MEDIA_PLAY_PAUSE" //
|
|
149
|
-
| "LAUNCH_MAIL" //
|
|
150
|
-
| "LAUNCH_MEDIA_SELECT" //
|
|
148
|
+
| "MEDIA_PLAY_PAUSE" // 媒体播放/暂停键
|
|
149
|
+
| "LAUNCH_MAIL" // 启动邮件客户端键
|
|
150
|
+
| "LAUNCH_MEDIA_SELECT" // 选择媒体键
|
|
151
151
|
| "LAUNCH_APP1" // 启动应用程序1键
|
|
152
152
|
| "LAUNCH_APP2" // 启动应用程序2键
|
|
153
|
-
| "OEM_1" //
|
|
154
|
-
| "OEM_PLUS" //
|
|
155
|
-
| "OEM_COMMA" //
|
|
156
|
-
| "OEM_MINUS" //
|
|
157
|
-
| "OEM_PERIOD" //
|
|
158
|
-
| "OEM_2" //
|
|
159
|
-
| "OEM_3" //
|
|
160
|
-
| "OEM_4" // 左方括号键([
|
|
161
|
-
| "OEM_5" //
|
|
162
|
-
| "OEM_6" // 右方括号键(]
|
|
163
|
-
| "OEM_7" // 引号键('
|
|
164
|
-
| "OEM_8" //
|
|
165
|
-
| "OEM_NEC_EQUAL" // NEC
|
|
166
|
-
| "OEM_FJ_JISHO" //
|
|
167
|
-
| "OEM_FJ_MASSHOU" //
|
|
168
|
-
| "OEM_FJ_TOUROKU" //
|
|
169
|
-
| "OEM_FJ_LOYA" //
|
|
170
|
-
| "OEM_FJ_ROYA" //
|
|
171
|
-
| "OEM_AX" // AX
|
|
172
|
-
| "OEM_102" //
|
|
173
|
-
| "OEM_RESET" // OEM
|
|
174
|
-
| "OEM_JUMP" // OEM
|
|
175
|
-
| "OEM_PA1" // OEM PA1
|
|
176
|
-
| "OEM_PA2" // OEM PA2
|
|
177
|
-
| "OEM_PA3" // OEM PA3
|
|
178
|
-
| "OEM_WSCTRL" // OEM WSCTRL
|
|
179
|
-
| "OEM_CUSEL" // OEM CUSEL
|
|
180
|
-
| "OEM_ATTN" // OEM ATTN
|
|
181
|
-
| "OEM_FINISH" // OEM FINISH
|
|
182
|
-
| "OEM_COPY" // OEM COPY
|
|
183
|
-
| "OEM_AUTO" // OEM AUTO
|
|
184
|
-
| "OEM_ENLW" // OEM ENLW
|
|
185
|
-
| "OEM_BACKTAB" // OEM BackTab
|
|
186
|
-
| "GAMEPAD_A" // 游戏手柄
|
|
187
|
-
| "GAMEPAD_B" // 游戏手柄
|
|
188
|
-
| "GAMEPAD_X" // 游戏手柄
|
|
189
|
-
| "GAMEPAD_Y" // 游戏手柄
|
|
153
|
+
| "OEM_1" // OEM分号键(;)
|
|
154
|
+
| "OEM_PLUS" // OEM加号键(+)
|
|
155
|
+
| "OEM_COMMA" // OEM逗号键(,)
|
|
156
|
+
| "OEM_MINUS" // OEM减号键(-)
|
|
157
|
+
| "OEM_PERIOD" // OEM句号键(.)
|
|
158
|
+
| "OEM_2" // OEM问号键(?)
|
|
159
|
+
| "OEM_3" // OEM波浪线键(~)
|
|
160
|
+
| "OEM_4" // OEM左方括号键([)
|
|
161
|
+
| "OEM_5" // OEM竖线键(|)
|
|
162
|
+
| "OEM_6" // OEM右方括号键(])
|
|
163
|
+
| "OEM_7" // OEM引号键(')
|
|
164
|
+
| "OEM_8" // OEM键8
|
|
165
|
+
| "OEM_NEC_EQUAL" // NEC等号键(小键盘)
|
|
166
|
+
| "OEM_FJ_JISHO" // 富士通"辞书"键
|
|
167
|
+
| "OEM_FJ_MASSHOU" // 富士通"未登録"键
|
|
168
|
+
| "OEM_FJ_TOUROKU" // 富士通"登録"键
|
|
169
|
+
| "OEM_FJ_LOYA" // 富士通左Oyayubi键
|
|
170
|
+
| "OEM_FJ_ROYA" // 富士通右Oyayubi键
|
|
171
|
+
| "OEM_AX" // AX键(日语键盘)
|
|
172
|
+
| "OEM_102" // OEM102键(通常为\或|,根据键盘布局)
|
|
173
|
+
| "OEM_RESET" // OEM重置键(Nokia/Ericsson定义)
|
|
174
|
+
| "OEM_JUMP" // OEM跳转键(Nokia/Ericsson定义)
|
|
175
|
+
| "OEM_PA1" // OEM PA1键(Nokia/Ericsson定义)
|
|
176
|
+
| "OEM_PA2" // OEM PA2键(Nokia/Ericsson定义)
|
|
177
|
+
| "OEM_PA3" // OEM PA3键(Nokia/Ericsson定义)
|
|
178
|
+
| "OEM_WSCTRL" // OEM WSCTRL键(Nokia/Ericsson定义)
|
|
179
|
+
| "OEM_CUSEL" // OEM CUSEL键(Nokia/Ericsson定义)
|
|
180
|
+
| "OEM_ATTN" // OEM ATTN键(Nokia/Ericsson定义)
|
|
181
|
+
| "OEM_FINISH" // OEM FINISH键(Nokia/Ericsson定义)
|
|
182
|
+
| "OEM_COPY" // OEM COPY键(Nokia/Ericsson定义)
|
|
183
|
+
| "OEM_AUTO" // OEM AUTO键(Nokia/Ericsson定义)
|
|
184
|
+
| "OEM_ENLW" // OEM ENLW键(Nokia/Ericsson定义)
|
|
185
|
+
| "OEM_BACKTAB" // OEM BackTab键(Nokia/Ericsson定义)
|
|
186
|
+
| "GAMEPAD_A" // 游戏手柄A键
|
|
187
|
+
| "GAMEPAD_B" // 游戏手柄B键
|
|
188
|
+
| "GAMEPAD_X" // 游戏手柄X键
|
|
189
|
+
| "GAMEPAD_Y" // 游戏手柄Y键
|
|
190
190
|
| "GAMEPAD_LEFT_SHOULDER" // 游戏手柄左肩键
|
|
191
191
|
| "GAMEPAD_RIGHT_SHOULDER" // 游戏手柄右肩键
|
|
192
192
|
| "GAMEPAD_LEFT_TRIGGER" // 游戏手柄左扳机键
|
|
@@ -207,18 +207,18 @@ export type Key =
|
|
|
207
207
|
| "GAMEPAD_RIGHT_THUMBSTICK_DOWN" // 游戏手柄右摇杆下推
|
|
208
208
|
| "GAMEPAD_RIGHT_THUMBSTICK_LEFT" // 游戏手柄右摇杆左推
|
|
209
209
|
| "GAMEPAD_RIGHT_THUMBSTICK_RIGHT" // 游戏手柄右摇杆右推
|
|
210
|
-
| "PROCESSKEY" // IME
|
|
211
|
-
| "ICO_CLEAR" // ICO
|
|
212
|
-
| "PACKET" // Unicode
|
|
213
|
-
| "ATTN" //
|
|
214
|
-
| "CRSEL" //
|
|
215
|
-
| "EXSEL" //
|
|
216
|
-
| "EREOF" //
|
|
217
|
-
| "PLAY" //
|
|
218
|
-
| "ZOOM" //
|
|
219
|
-
| "NONAME" //
|
|
220
|
-
| "PA1" // PA1
|
|
221
|
-
| "OEM_CLEAR"; //
|
|
210
|
+
| "PROCESSKEY" // IME处理键
|
|
211
|
+
| "ICO_CLEAR" // ICO清除键
|
|
212
|
+
| "PACKET" // 数据包键(用于Unicode字符输入)
|
|
213
|
+
| "ATTN" // 注意键
|
|
214
|
+
| "CRSEL" // 光标选择键
|
|
215
|
+
| "EXSEL" // 扩展选择键
|
|
216
|
+
| "EREOF" // 删除至文件末尾键
|
|
217
|
+
| "PLAY" // 播放键
|
|
218
|
+
| "ZOOM" // 缩放键
|
|
219
|
+
| "NONAME" // 未命名键(保留供未来使用)
|
|
220
|
+
| "PA1" // PA1键
|
|
221
|
+
| "OEM_CLEAR"; // OEM清除键
|
|
222
222
|
|
|
223
223
|
export type KeyCode =
|
|
224
224
|
| Uppercase<Key>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "./IEqualityComparer";
|
|
2
|
+
|
|
3
|
+
declare global {
|
|
4
|
+
namespace System.Collections {
|
|
5
|
+
interface IStructuralEquatable {
|
|
6
|
+
equals(other: any, comparer: System.Collections.IEqualityComparer): boolean;
|
|
7
|
+
|
|
8
|
+
getHashCode(comparer: System.Collections.IEqualityComparer): number;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import "./Collections/IStructuralComparable";
|
|
2
|
+
import "./Collections/IStructuralEquatable";
|
|
3
|
+
import "./IComparable";
|
|
4
|
+
import "./Runtime/CompilerServices/ITuple";
|
|
5
|
+
|
|
6
|
+
declare global {
|
|
7
|
+
// TODO: 未实现ITupleInternal接口,待补充(如果有必要)
|
|
8
|
+
namespace System {
|
|
9
|
+
class Tuple1<T1>
|
|
10
|
+
implements
|
|
11
|
+
System.Collections.IStructuralEquatable,
|
|
12
|
+
System.Collections.IStructuralComparable,
|
|
13
|
+
System.IComparable
|
|
14
|
+
{
|
|
15
|
+
item1: T1;
|
|
16
|
+
|
|
17
|
+
constructor(item1: T1);
|
|
18
|
+
|
|
19
|
+
equals(other: any): boolean;
|
|
20
|
+
|
|
21
|
+
compareTo(other: any): number;
|
|
22
|
+
|
|
23
|
+
getHashCode(comparer: System.Collections.IEqualityComparer): number;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
class Tuple2<T1, T2>
|
|
27
|
+
implements
|
|
28
|
+
System.Collections.IStructuralEquatable,
|
|
29
|
+
System.Collections.IStructuralComparable,
|
|
30
|
+
System.IComparable
|
|
31
|
+
{
|
|
32
|
+
item1: T1;
|
|
33
|
+
item2: T2;
|
|
34
|
+
|
|
35
|
+
constructor(item1: T1, item2: T2);
|
|
36
|
+
|
|
37
|
+
equals(other: any): boolean;
|
|
38
|
+
|
|
39
|
+
compareTo(other: any): number;
|
|
40
|
+
|
|
41
|
+
getHashCode(comparer: System.Collections.IEqualityComparer): number;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
class Tuple3<T1, T2, T3>
|
|
45
|
+
implements
|
|
46
|
+
System.Collections.IStructuralEquatable,
|
|
47
|
+
System.Collections.IStructuralComparable,
|
|
48
|
+
System.IComparable
|
|
49
|
+
{
|
|
50
|
+
item1: T1;
|
|
51
|
+
item2: T2;
|
|
52
|
+
item3: T3;
|
|
53
|
+
|
|
54
|
+
constructor(item1: T1, item2: T2, item3: T3);
|
|
55
|
+
|
|
56
|
+
equals(other: any): boolean;
|
|
57
|
+
|
|
58
|
+
compareTo(other: any): number;
|
|
59
|
+
|
|
60
|
+
getHashCode(comparer: System.Collections.IEqualityComparer): number;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
class Tuple4<T1, T2, T3, T4>
|
|
64
|
+
implements
|
|
65
|
+
System.Collections.IStructuralEquatable,
|
|
66
|
+
System.Collections.IStructuralComparable,
|
|
67
|
+
System.IComparable
|
|
68
|
+
{
|
|
69
|
+
item1: T1;
|
|
70
|
+
item2: T2;
|
|
71
|
+
item3: T3;
|
|
72
|
+
item4: T4;
|
|
73
|
+
|
|
74
|
+
constructor(item1: T1, item2: T2, item3: T3, item4: T4);
|
|
75
|
+
|
|
76
|
+
equals(other: any): boolean;
|
|
77
|
+
|
|
78
|
+
compareTo(other: any): number;
|
|
79
|
+
|
|
80
|
+
getHashCode(comparer: System.Collections.IEqualityComparer): number;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
class Tuple5<T1, T2, T3, T4, T5>
|
|
84
|
+
implements
|
|
85
|
+
System.Collections.IStructuralEquatable,
|
|
86
|
+
System.Collections.IStructuralComparable,
|
|
87
|
+
System.IComparable
|
|
88
|
+
{
|
|
89
|
+
item1: T1;
|
|
90
|
+
item2: T2;
|
|
91
|
+
item3: T3;
|
|
92
|
+
item4: T4;
|
|
93
|
+
item5: T5;
|
|
94
|
+
|
|
95
|
+
constructor(item1: T1, item2: T2, item3: T3, item4: T4, item5: T5);
|
|
96
|
+
|
|
97
|
+
equals(other: any): boolean;
|
|
98
|
+
|
|
99
|
+
compareTo(other: any): number;
|
|
100
|
+
|
|
101
|
+
getHashCode(comparer: System.Collections.IEqualityComparer): number;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
class Tuple6<T1, T2, T3, T4, T5, T6>
|
|
105
|
+
implements
|
|
106
|
+
System.Collections.IStructuralEquatable,
|
|
107
|
+
System.Collections.IStructuralComparable,
|
|
108
|
+
System.IComparable
|
|
109
|
+
{
|
|
110
|
+
item1: T1;
|
|
111
|
+
item2: T2;
|
|
112
|
+
item3: T3;
|
|
113
|
+
item4: T4;
|
|
114
|
+
item5: T5;
|
|
115
|
+
item6: T6;
|
|
116
|
+
|
|
117
|
+
constructor(item1: T1, item2: T2, item3: T3, item4: T4, item5: T5, item6: T6);
|
|
118
|
+
|
|
119
|
+
equals(other: any): boolean;
|
|
120
|
+
|
|
121
|
+
compareTo(other: any): number;
|
|
122
|
+
|
|
123
|
+
getHashCode(comparer: System.Collections.IEqualityComparer): number;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
class Tuple7<T1, T2, T3, T4, T5, T6, T7>
|
|
127
|
+
implements
|
|
128
|
+
System.Collections.IStructuralEquatable,
|
|
129
|
+
System.Collections.IStructuralComparable,
|
|
130
|
+
System.IComparable
|
|
131
|
+
{
|
|
132
|
+
item1: T1;
|
|
133
|
+
item2: T2;
|
|
134
|
+
item3: T3;
|
|
135
|
+
item4: T4;
|
|
136
|
+
item5: T5;
|
|
137
|
+
item6: T6;
|
|
138
|
+
item7: T7;
|
|
139
|
+
|
|
140
|
+
constructor(item1: T1, item2: T2, item3: T3, item4: T4, item5: T5, item6: T6, item7: T7);
|
|
141
|
+
|
|
142
|
+
equals(other: any): boolean;
|
|
143
|
+
|
|
144
|
+
compareTo(other: any): number;
|
|
145
|
+
|
|
146
|
+
getHashCode(comparer: System.Collections.IEqualityComparer): number;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
class Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>
|
|
150
|
+
implements
|
|
151
|
+
System.Collections.IStructuralEquatable,
|
|
152
|
+
System.Collections.IStructuralComparable,
|
|
153
|
+
System.IComparable
|
|
154
|
+
{
|
|
155
|
+
item1: T1;
|
|
156
|
+
item2: T2;
|
|
157
|
+
item3: T3;
|
|
158
|
+
item4: T4;
|
|
159
|
+
item5: T5;
|
|
160
|
+
item6: T6;
|
|
161
|
+
item7: T7;
|
|
162
|
+
item8: T8;
|
|
163
|
+
|
|
164
|
+
constructor(
|
|
165
|
+
item1: T1,
|
|
166
|
+
item2: T2,
|
|
167
|
+
item3: T3,
|
|
168
|
+
item4: T4,
|
|
169
|
+
item5: T5,
|
|
170
|
+
item6: T6,
|
|
171
|
+
item7: T7,
|
|
172
|
+
item8: T8
|
|
173
|
+
);
|
|
174
|
+
|
|
175
|
+
equals(other: any): boolean;
|
|
176
|
+
|
|
177
|
+
compareTo(other: any): number;
|
|
178
|
+
|
|
179
|
+
getHashCode(comparer: System.Collections.IEqualityComparer): number;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export {};
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
export type Keys =
|
|
2
|
+
| "LButton" // 鼠标左键
|
|
3
|
+
| "RButton" // 鼠标右键
|
|
4
|
+
| "Cancel" // 取消/中断键
|
|
5
|
+
| "MButton" // 鼠标中键
|
|
6
|
+
| "XButton1" // 鼠标侧键1(前进键)
|
|
7
|
+
| "XButton2" // 鼠标侧键2(后退键)
|
|
8
|
+
| "Back" // 退格键
|
|
9
|
+
| "Tab" // 制表键
|
|
10
|
+
| "LineFeed" // 换行键
|
|
11
|
+
| "Clear" // 清除键
|
|
12
|
+
| "Return" // 回车键
|
|
13
|
+
| "Enter" // 回车键(与Return同义)
|
|
14
|
+
| "ShiftKey" // Shift键
|
|
15
|
+
| "ControlKey" // Ctrl键
|
|
16
|
+
| "Menu" // Alt键(也称为菜单键)
|
|
17
|
+
| "Pause" // 暂停键
|
|
18
|
+
| "Capital" // 大写锁定键
|
|
19
|
+
| "CapsLock" // 大写锁定键(同Capital)
|
|
20
|
+
| "KanaMode" // 日文假名输入模式
|
|
21
|
+
| "HanguelMode" // 韩文Hanguel输入模式(已过时,建议使用HangulMode)
|
|
22
|
+
| "HangulMode" // 韩文Hangul输入模式
|
|
23
|
+
| "JunjaMode" // 韩文Junja输入模式
|
|
24
|
+
| "FinalMode" // 输入法最终模式
|
|
25
|
+
| "HanjaMode" // 韩文汉字输入模式
|
|
26
|
+
| "KanjiMode" // 日文汉字输入模式
|
|
27
|
+
| "Escape" // Esc键
|
|
28
|
+
| "IMEConvert" // IME转换键
|
|
29
|
+
| "IMENonconvert" // IME非转换键
|
|
30
|
+
| "IMEAccept" // IME接受键
|
|
31
|
+
| "IMEAceept" // IME接受键(过时拼写,建议使用IMEAccept)
|
|
32
|
+
| "IMEModeChange" // IME模式切换键
|
|
33
|
+
| "Space" // 空格键
|
|
34
|
+
| "Prior" // Page Up键
|
|
35
|
+
| "PageUp" // Page Up键(同Prior)
|
|
36
|
+
| "Next" // Page Down键
|
|
37
|
+
| "PageDown" // Page Down键(同Next)
|
|
38
|
+
| "End" // End键
|
|
39
|
+
| "Home" // Home键
|
|
40
|
+
| "Left" // 向左箭头键
|
|
41
|
+
| "Up" // 向上箭头键
|
|
42
|
+
| "Right" // 向右箭头键
|
|
43
|
+
| "Down" // 向下箭头键
|
|
44
|
+
| "Select" // 选择键
|
|
45
|
+
| "Print" // 打印键
|
|
46
|
+
| "Execute" // 执行键
|
|
47
|
+
| "Snapshot" // 截图键
|
|
48
|
+
| "PrintScreen" // 打印屏幕键(同Snapshot)
|
|
49
|
+
| "Insert" // Insert键
|
|
50
|
+
| "Delete" // Delete键
|
|
51
|
+
| "Help" // 帮助键
|
|
52
|
+
| "D0" // 主键盘数字0键
|
|
53
|
+
| "D1" // 主键盘数字1键
|
|
54
|
+
| "D2" // 主键盘数字2键
|
|
55
|
+
| "D3" // 主键盘数字3键
|
|
56
|
+
| "D4" // 主键盘数字4键
|
|
57
|
+
| "D5" // 主键盘数字5键
|
|
58
|
+
| "D6" // 主键盘数字6键
|
|
59
|
+
| "D7" // 主键盘数字7键
|
|
60
|
+
| "D8" // 主键盘数字8键
|
|
61
|
+
| "D9" // 主键盘数字9键
|
|
62
|
+
| "A" // A键
|
|
63
|
+
| "B" // B键
|
|
64
|
+
| "C" // C键
|
|
65
|
+
| "D" // D键
|
|
66
|
+
| "E" // E键
|
|
67
|
+
| "F" // F键
|
|
68
|
+
| "G" // G键
|
|
69
|
+
| "H" // H键
|
|
70
|
+
| "I" // I键
|
|
71
|
+
| "J" // J键
|
|
72
|
+
| "K" // K键
|
|
73
|
+
| "L" // L键
|
|
74
|
+
| "M" // M键
|
|
75
|
+
| "N" // N键
|
|
76
|
+
| "O" // O键
|
|
77
|
+
| "P" // P键
|
|
78
|
+
| "Q" // Q键
|
|
79
|
+
| "R" // R键
|
|
80
|
+
| "S" // S键
|
|
81
|
+
| "T" // T键
|
|
82
|
+
| "U" // U键
|
|
83
|
+
| "V" // V键
|
|
84
|
+
| "W" // W键
|
|
85
|
+
| "X" // X键
|
|
86
|
+
| "Y" // Y键
|
|
87
|
+
| "Z" // Z键
|
|
88
|
+
| "LWin" // 左侧Windows徽标键
|
|
89
|
+
| "RWin" // 右侧Windows徽标键
|
|
90
|
+
| "Apps" // 应用程序键(右键菜单键)
|
|
91
|
+
| "Sleep" // 休眠键
|
|
92
|
+
| "NumPad0" // 小键盘数字0键
|
|
93
|
+
| "NumPad1" // 小键盘数字1键
|
|
94
|
+
| "NumPad2" // 小键盘数字2键
|
|
95
|
+
| "NumPad3" // 小键盘数字3键
|
|
96
|
+
| "NumPad4" // 小键盘数字4键
|
|
97
|
+
| "NumPad5" // 小键盘数字5键
|
|
98
|
+
| "NumPad6" // 小键盘数字6键
|
|
99
|
+
| "NumPad7" // 小键盘数字7键
|
|
100
|
+
| "NumPad8" // 小键盘数字8键
|
|
101
|
+
| "NumPad9" // 小键盘数字9键
|
|
102
|
+
| "Multiply" // 小键盘乘号键(*)
|
|
103
|
+
| "Add" // 小键盘加号键(+)
|
|
104
|
+
| "Separator" // 分隔符键
|
|
105
|
+
| "Subtract" // 小键盘减号键(-)
|
|
106
|
+
| "Decimal" // 小键盘小数点键(.)
|
|
107
|
+
| "Divide" // 小键盘除号键(/)
|
|
108
|
+
| "F1" // F1功能键
|
|
109
|
+
| "F2" // F2功能键
|
|
110
|
+
| "F3" // F3功能键
|
|
111
|
+
| "F4" // F4功能键
|
|
112
|
+
| "F5" // F5功能键
|
|
113
|
+
| "F6" // F6功能键
|
|
114
|
+
| "F7" // F7功能键
|
|
115
|
+
| "F8" // F8功能键
|
|
116
|
+
| "F9" // F9功能键
|
|
117
|
+
| "F10" // F10功能键
|
|
118
|
+
| "F11" // F11功能键
|
|
119
|
+
| "F12" // F12功能键
|
|
120
|
+
| "F13" // F13功能键
|
|
121
|
+
| "F14" // F14功能键
|
|
122
|
+
| "F15" // F15功能键
|
|
123
|
+
| "F16" // F16功能键
|
|
124
|
+
| "F17" // F17功能键
|
|
125
|
+
| "F18" // F18功能键
|
|
126
|
+
| "F19" // F19功能键
|
|
127
|
+
| "F20" // F20功能键
|
|
128
|
+
| "F21" // F21功能键
|
|
129
|
+
| "F22" // F22功能键
|
|
130
|
+
| "F23" // F23功能键
|
|
131
|
+
| "F24" // F24功能键
|
|
132
|
+
| "NumLock" // 数字锁定键
|
|
133
|
+
| "Scroll" // 滚动锁定键
|
|
134
|
+
| "LShiftKey" // 左侧Shift键
|
|
135
|
+
| "RShiftKey" // 右侧Shift键
|
|
136
|
+
| "LControlKey" // 左侧Ctrl键
|
|
137
|
+
| "RControlKey" // 右侧Ctrl键
|
|
138
|
+
| "LMenu" // 左侧Alt键
|
|
139
|
+
| "RMenu" // 右侧Alt键
|
|
140
|
+
| "BrowserBack" // 浏览器后退键
|
|
141
|
+
| "BrowserForward" // 浏览器前进键
|
|
142
|
+
| "BrowserRefresh" // 浏览器刷新键
|
|
143
|
+
| "BrowserStop" // 浏览器停止键
|
|
144
|
+
| "BrowserSearch" // 浏览器搜索键
|
|
145
|
+
| "BrowserFavorites" // 浏览器收藏夹键
|
|
146
|
+
| "BrowserHome" // 浏览器主页键
|
|
147
|
+
| "VolumeMute" // 音量静音键
|
|
148
|
+
| "VolumeDown" // 音量降低键
|
|
149
|
+
| "VolumeUp" // 音量提高键
|
|
150
|
+
| "MediaNextTrack" // 媒体下一曲键
|
|
151
|
+
| "MediaPreviousTrack" // 媒体上一曲键
|
|
152
|
+
| "MediaStop" // 媒体停止键
|
|
153
|
+
| "MediaPlayPause" // 媒体播放/暂停键
|
|
154
|
+
| "LaunchMail" // 启动邮件客户端键
|
|
155
|
+
| "SelectMedia" // 选择媒体键
|
|
156
|
+
| "LaunchApplication1" // 启动应用程序1键
|
|
157
|
+
| "LaunchApplication2" // 启动应用程序2键
|
|
158
|
+
| "OemSemicolon" // OEM分号键(;)
|
|
159
|
+
| "Oem1" // OEM键1(同OemSemicolon)
|
|
160
|
+
| "Oemplus" // OEM加号键(+)
|
|
161
|
+
| "Oemcomma" // OEM逗号键(,)
|
|
162
|
+
| "OemMinus" // OEM减号键(-)
|
|
163
|
+
| "OemPeriod" // OEM句号键(.)
|
|
164
|
+
| "OemQuestion" // OEM问号键(?)
|
|
165
|
+
| "Oem2" // OEM键2(同OemQuestion)
|
|
166
|
+
| "Oemtilde" // OEM波浪线键(~)
|
|
167
|
+
| "Oem3" // OEM键3(同Oemtilde)
|
|
168
|
+
| "OemOpenBrackets" // OEM左方括号键([)
|
|
169
|
+
| "Oem4" // OEM键4(同OemOpenBrackets)
|
|
170
|
+
| "OemPipe" // OEM竖线键(|)
|
|
171
|
+
| "Oem5" // OEM键5(同OemPipe)
|
|
172
|
+
| "OemCloseBrackets" // OEM右方括号键(])
|
|
173
|
+
| "Oem6" // OEM键6(同OemCloseBrackets)
|
|
174
|
+
| "OemQuotes" // OEM引号键(')
|
|
175
|
+
| "Oem7" // OEM键7(同OemQuotes)
|
|
176
|
+
| "Oem8" // OEM键8
|
|
177
|
+
| "OemBackslash" // OEM反斜杠键(\)
|
|
178
|
+
| "Oem102" // OEM102键(通常为\或|,根据键盘布局)
|
|
179
|
+
| "ProcessKey" // 处理键
|
|
180
|
+
| "Packet" // 数据包键(用于Unicode字符输入)
|
|
181
|
+
| "Attn" // 注意键
|
|
182
|
+
| "Crsel" // 光标选择键
|
|
183
|
+
| "Exsel" // 扩展选择键
|
|
184
|
+
| "EraseEof" // 删除至文件末尾键
|
|
185
|
+
| "Play" // 播放键
|
|
186
|
+
| "Zoom" // 缩放键
|
|
187
|
+
| "NoName" // 未命名键(保留供未来使用)
|
|
188
|
+
| "Pa1" // PA1键
|
|
189
|
+
| "OemClear" // OEM清除键
|
|
190
|
+
| "Shift" // Shift修饰键
|
|
191
|
+
| "Control" // Ctrl修饰键
|
|
192
|
+
| "Alt"; // Alt修饰键
|
|
193
|
+
|
|
194
|
+
export type KeyCodeString = Keys;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* 组合键的字符串表示是逆序的,即 "A, Control" 表示 "Control + A"。
|
|
198
|
+
* 为了在类型安全性和性能之间取得平衡,这里仅支持最多两个按键的组合,超过两个按键的组合将回退到通用的字符串类型。
|
|
199
|
+
*/
|
|
200
|
+
export type KeyDataString = Keys | `${Keys}, ${Keys}` | (string & {});
|