@bettergi/types 0.1.14 → 0.1.15
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/bindings/htmlMask.d.ts +5 -0
- package/bindings/htmlMask.webview.d.ts +92 -0
- package/package.json +7 -1
- package/types/BetterGenshinImpact/Core/Script/Dependence/KeyMouseHook.d.ts +10 -7
- package/types/BetterGenshinImpact/Core/Script/Dependence/Model/SoloTask.d.ts +89 -20
- package/types/System/Windows/Forms/Keys.d.ts +195 -0
package/bindings/htmlMask.d.ts
CHANGED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML 遮罩页(WebView2)侧通信桥类型。
|
|
3
|
+
* 对应宿主 `HtmlMaskWindow` 在 DocumentCreated 时注入的 helper,
|
|
4
|
+
* 与脚本侧 `@bettergi/types/htmlMask/host`(ClearScript `htmlMask` 全局)相对。
|
|
5
|
+
*
|
|
6
|
+
* 启用:`import "@bettergi/types/htmlMask/webview"` 或
|
|
7
|
+
* `/// <reference types="@bettergi/types/htmlMask/webview" />`
|
|
8
|
+
*
|
|
9
|
+
* @see BetterGenshinImpact.View.HtmlMaskWindow
|
|
10
|
+
* @since 0.61.0
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 遮罩页与脚本之间的消息信封
|
|
15
|
+
* 宿主 JSON 使用 camelCase(url / data / requestId)
|
|
16
|
+
* @since 0.61.0
|
|
17
|
+
*/
|
|
18
|
+
export interface HtmlMaskWebViewMessage {
|
|
19
|
+
/** 消息路径;页→脚本的 request 与脚本→页的推送均使用 */
|
|
20
|
+
url?: string;
|
|
21
|
+
/** 业务载荷;解析失败时可能不存在 */
|
|
22
|
+
data?: unknown;
|
|
23
|
+
/**
|
|
24
|
+
* 请求-应答关联 ID
|
|
25
|
+
* - 页发起 request 时由注入脚本生成(`__req_*`)
|
|
26
|
+
* - 脚本发起 request 时由宿主生成;页 onMessage 若返回值非 undefined 则自动回传
|
|
27
|
+
*/
|
|
28
|
+
requestId?: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 注入到遮罩页的 `window.htmlMask` 助手
|
|
33
|
+
* 内部还含 `_callbacks` / `_seq` / `_dispatch`,属实现细节,不纳入公开类型
|
|
34
|
+
* @since 0.61.0
|
|
35
|
+
*/
|
|
36
|
+
export interface HtmlMaskWebView {
|
|
37
|
+
/**
|
|
38
|
+
* 向脚本侧发起请求并等待响应
|
|
39
|
+
* 经 `chrome.webview.postMessage` 送出 `{ url, data, requestId }`;
|
|
40
|
+
* 匹配到带同一 requestId 的入站消息后 resolve 整包对象
|
|
41
|
+
* @param url 消息路径
|
|
42
|
+
* @param data 载荷,省略时按 `{}` 发送
|
|
43
|
+
* @since 0.61.0
|
|
44
|
+
*/
|
|
45
|
+
request(url: string, data?: unknown): Promise<HtmlMaskWebViewMessage>;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* 脚本推送到页的消息回调
|
|
49
|
+
* - 入站 JSON 解析成功:参数为消息对象
|
|
50
|
+
* - 解析失败:参数为原始字符串,且仍调用本回调
|
|
51
|
+
* - 若消息带 `requestId` 且返回值不是 `undefined`,助手会将结果
|
|
52
|
+
* (支持 Promise)以 `{ requestId, url: "/__response__", data }` 回传脚本
|
|
53
|
+
* @since 0.61.0
|
|
54
|
+
*/
|
|
55
|
+
onMessage: ((msg: HtmlMaskWebViewMessage | string) => unknown) | null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* WebView2 提供的 `chrome.webview` 子集(遮罩页实际使用的面)
|
|
60
|
+
* @since 0.61.0
|
|
61
|
+
*/
|
|
62
|
+
export interface ChromeWebView {
|
|
63
|
+
/**
|
|
64
|
+
* 向宿主发送字符串消息(须为 JSON 文本)
|
|
65
|
+
* @since 0.61.0
|
|
66
|
+
*/
|
|
67
|
+
postMessage(message: string): void;
|
|
68
|
+
/**
|
|
69
|
+
* 监听宿主 `PostWebMessageAsString` 推送
|
|
70
|
+
* @since 0.61.0
|
|
71
|
+
*/
|
|
72
|
+
addEventListener(type: "message", listener: (event: { data: string }) => void): void;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
declare global {
|
|
76
|
+
interface Window {
|
|
77
|
+
/**
|
|
78
|
+
* HTML 遮罩页通信桥(宿主注入;非宿主环境可能不存在)
|
|
79
|
+
* @since 0.61.0
|
|
80
|
+
*/
|
|
81
|
+
htmlMask?: HtmlMaskWebView;
|
|
82
|
+
/**
|
|
83
|
+
* WebView2 宿主对象;仅 WebView 内可用
|
|
84
|
+
* @since 0.61.0
|
|
85
|
+
*/
|
|
86
|
+
chrome?: {
|
|
87
|
+
webview?: ChromeWebView;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bettergi/types",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "BetterGI TypeScript 类型定义",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Bread Grocery<https://github.com/breadgrocery>",
|
|
@@ -18,6 +18,12 @@
|
|
|
18
18
|
"exports": {
|
|
19
19
|
".": {
|
|
20
20
|
"types": "./index.d.ts"
|
|
21
|
+
},
|
|
22
|
+
"./htmlMask/host": {
|
|
23
|
+
"types": "./bindings/htmlMask.d.ts"
|
|
24
|
+
},
|
|
25
|
+
"./htmlMask/webview": {
|
|
26
|
+
"types": "./bindings/htmlMask.webview.d.ts"
|
|
21
27
|
}
|
|
22
28
|
},
|
|
23
29
|
"files": [
|
|
@@ -6,15 +6,16 @@ import type {
|
|
|
6
6
|
ReferenceTypeTrait,
|
|
7
7
|
StrongNumeric
|
|
8
8
|
} from "../../../../Microsoft/ClearScript/HostType";
|
|
9
|
-
import "../../../../Microsoft/ClearScript/ScriptObject";
|
|
10
9
|
import type { VoidResult } from "../../../../Microsoft/ClearScript/VoidResult";
|
|
11
10
|
import "../../../../System/IDisposable";
|
|
11
|
+
import type { Keys } from "../../../../System/Windows/Forms/Keys";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* 钩子回报的鼠标按键
|
|
15
15
|
* @since 0.55.0
|
|
16
16
|
*/
|
|
17
17
|
export type MouseButton =
|
|
18
|
+
| "None"
|
|
18
19
|
| "Left" // 左键
|
|
19
20
|
| "Right" // 右键
|
|
20
21
|
| "Middle" // 中键
|
|
@@ -36,8 +37,9 @@ export interface KeyMouseHook extends ClrHostValue, System.IDisposableInput {
|
|
|
36
37
|
* @returns ClearScript 宿主空结果
|
|
37
38
|
* @since 0.55.0
|
|
38
39
|
*/
|
|
39
|
-
onKeyDown(callback:
|
|
40
|
-
onKeyDown(callback:
|
|
40
|
+
onKeyDown(callback: (keyCode: Keys) => void): VoidResult;
|
|
41
|
+
onKeyDown(callback: (keyCode: Keys) => void, useCodeOnly: true): VoidResult;
|
|
42
|
+
onKeyDown(callback: string, useCodeOnly: false): VoidResult;
|
|
41
43
|
/**
|
|
42
44
|
* 注册键盘释放事件回调
|
|
43
45
|
* @param callback 回调函数
|
|
@@ -45,22 +47,23 @@ export interface KeyMouseHook extends ClrHostValue, System.IDisposableInput {
|
|
|
45
47
|
* @returns ClearScript 宿主空结果
|
|
46
48
|
* @since 0.55.0
|
|
47
49
|
*/
|
|
48
|
-
onKeyUp(callback:
|
|
49
|
-
onKeyUp(callback:
|
|
50
|
+
onKeyUp(callback: (keyCode: Keys) => void): VoidResult;
|
|
51
|
+
onKeyUp(callback: (keyCode: Keys) => void, useCodeOnly: true): VoidResult;
|
|
52
|
+
onKeyUp(callback: string, useCodeOnly: false): VoidResult;
|
|
50
53
|
/**
|
|
51
54
|
* 注册鼠标按下事件回调
|
|
52
55
|
* @param callback 回调,参数为按键名与游戏窗口局部坐标
|
|
53
56
|
* @returns ClearScript 宿主空结果
|
|
54
57
|
* @since 0.55.0
|
|
55
58
|
*/
|
|
56
|
-
onMouseDown(callback: (button: MouseButton,
|
|
59
|
+
onMouseDown(callback: (button: MouseButton, localX: number, localY: number) => void): VoidResult;
|
|
57
60
|
/**
|
|
58
61
|
* 注册鼠标抬起事件回调
|
|
59
62
|
* @param callback 回调,参数为按键名与游戏窗口局部坐标
|
|
60
63
|
* @returns ClearScript 宿主空结果
|
|
61
64
|
* @since 0.55.0
|
|
62
65
|
*/
|
|
63
|
-
onMouseUp(callback: (button: MouseButton,
|
|
66
|
+
onMouseUp(callback: (button: MouseButton, localX: number, localY: number) => void): VoidResult;
|
|
64
67
|
/**
|
|
65
68
|
* 注册鼠标移动事件回调
|
|
66
69
|
* @param callback 回调函数
|
|
@@ -4,22 +4,84 @@ import type {
|
|
|
4
4
|
ReferenceTypeTrait
|
|
5
5
|
} from "../../../../../Microsoft/ClearScript/HostType";
|
|
6
6
|
import "../../../../../Microsoft/ClearScript/ScriptObject";
|
|
7
|
+
import "../../../../GameTask/Common/Job/CountInventoryItemParam";
|
|
8
|
+
import "../../../../GameTask/Model/GameUI/GridScreenName";
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
11
|
+
* 任务名 → SoloTask.Config(唯一真源;配置一律 inline,无额外 type 名)
|
|
12
|
+
* @see Dispatcher.RunTask switch / BuildFromSoloTaskConfig
|
|
13
|
+
* @since 0.43.1
|
|
14
|
+
*/
|
|
15
|
+
export type SoloTaskConfigMap = {
|
|
16
|
+
/** 自动七圣召唤 */
|
|
17
|
+
AutoGeniusInvokation: {
|
|
18
|
+
/** 七圣策略文本;空则回退 UI 设置 */
|
|
19
|
+
strategy?: string;
|
|
20
|
+
};
|
|
21
|
+
/** 自动伐木 */
|
|
22
|
+
AutoWood: void;
|
|
23
|
+
/** 自动战斗 */
|
|
24
|
+
AutoFight: void;
|
|
25
|
+
/** 自动秘境 */
|
|
26
|
+
AutoDomain: void;
|
|
27
|
+
/** 自动首领 */
|
|
28
|
+
AutoBoss: void;
|
|
29
|
+
/** 自动钓鱼 */
|
|
30
|
+
AutoFishing: {
|
|
31
|
+
wholeProcessTimeoutSeconds?: number;
|
|
32
|
+
throwRodTimeOutTimeoutSeconds?: number;
|
|
33
|
+
/**
|
|
34
|
+
* 钓鱼时间策略
|
|
35
|
+
* - 0 全天
|
|
36
|
+
* - 1 白天
|
|
37
|
+
* - 2 夜晚
|
|
38
|
+
* - 3 不调
|
|
39
|
+
*/
|
|
40
|
+
fishingTimePolicy?: 0 | 1 | 2 | 3 | number;
|
|
41
|
+
/** 关键节拍是否保存截图(调试用);默认 false */
|
|
42
|
+
saveScreenshotOnKeyTick?: boolean;
|
|
43
|
+
};
|
|
44
|
+
/** 自动烹饪 */
|
|
45
|
+
AutoCook: void;
|
|
46
|
+
/** 自动吃药 */
|
|
47
|
+
AutoEat: {
|
|
48
|
+
foodName?: string | null;
|
|
49
|
+
/**
|
|
50
|
+
* 料理类型
|
|
51
|
+
* - 0 恢复类料理
|
|
52
|
+
* - 1 攻击类料理
|
|
53
|
+
* - 2 冒险类料理
|
|
54
|
+
* - 3 防御类料理
|
|
55
|
+
* - 4 药剂
|
|
56
|
+
* - 5 其他
|
|
57
|
+
*/
|
|
58
|
+
foodEffectType?: 0 | 1 | 2 | 3 | 4 | 5 | number;
|
|
59
|
+
};
|
|
60
|
+
/** 统计背包物品 */
|
|
61
|
+
CountInventoryItem: {
|
|
62
|
+
/** gridScreenName 必填 */
|
|
63
|
+
gridScreenName:
|
|
64
|
+
| BetterGenshinImpact.GameTask.Common.Job.CountInventoryItemParam["gridScreenName"]
|
|
65
|
+
| number
|
|
66
|
+
| BetterGenshinImpact.GameTask.Model.GameUI.GridScreenName;
|
|
67
|
+
/** itemName 与 itemNames 互斥 */
|
|
68
|
+
itemName?: string | null;
|
|
69
|
+
itemNames?: readonly string[] | string[];
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* 独立任务注册名 = map key;`(string & {})` 保留未知扩展
|
|
10
75
|
* @since 0.46.0
|
|
11
76
|
*/
|
|
12
|
-
export type SoloTaskName =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
| "AutoEat" // 自动食用
|
|
21
|
-
| "CountInventoryItem" // 统计背包物品
|
|
22
|
-
| (string & {});
|
|
77
|
+
export type SoloTaskName = keyof SoloTaskConfigMap | (string & {});
|
|
78
|
+
|
|
79
|
+
export type SoloTaskConfigForName<TName extends SoloTaskName> =
|
|
80
|
+
TName extends keyof SoloTaskConfigMap
|
|
81
|
+
? SoloTaskConfigMap[TName] extends void
|
|
82
|
+
? undefined
|
|
83
|
+
: SoloTaskConfigMap[TName]
|
|
84
|
+
: Record<string, unknown>;
|
|
23
85
|
|
|
24
86
|
/**
|
|
25
87
|
* 独立任务
|
|
@@ -34,10 +96,14 @@ export interface SoloTask extends ClrHostValue {
|
|
|
34
96
|
*/
|
|
35
97
|
name: SoloTaskName;
|
|
36
98
|
/**
|
|
37
|
-
*
|
|
99
|
+
* 独立任务配置(CLR 存 `object?`,JS 侧 plain object)
|
|
38
100
|
* @since 0.43.1
|
|
39
101
|
*/
|
|
40
|
-
config:
|
|
102
|
+
config:
|
|
103
|
+
| Exclude<SoloTaskConfigMap[keyof SoloTaskConfigMap], void>
|
|
104
|
+
| Record<string, unknown>
|
|
105
|
+
| null
|
|
106
|
+
| undefined;
|
|
41
107
|
}
|
|
42
108
|
|
|
43
109
|
declare global {
|
|
@@ -48,18 +114,21 @@ declare global {
|
|
|
48
114
|
|
|
49
115
|
export interface SoloTaskHostType extends HostType<SoloTask, ReferenceTypeTrait> {
|
|
50
116
|
/**
|
|
51
|
-
*
|
|
52
|
-
* @param name 独立任务名称
|
|
117
|
+
* 仅名称
|
|
53
118
|
* @since 0.43.1
|
|
54
119
|
*/
|
|
55
120
|
new (name: SoloTaskName): SoloTask;
|
|
121
|
+
|
|
56
122
|
/**
|
|
57
|
-
*
|
|
58
|
-
* @param name 独立任务名称
|
|
59
|
-
* @param config 独立任务配置对象
|
|
123
|
+
* 名称 + 配置(按任务名收窄)
|
|
60
124
|
* @since 0.43.1
|
|
61
125
|
*/
|
|
62
|
-
new
|
|
126
|
+
new <TName extends SoloTaskName>(
|
|
127
|
+
name: TName,
|
|
128
|
+
config: SoloTaskConfigForName<TName> extends undefined
|
|
129
|
+
? Record<string, unknown> | undefined
|
|
130
|
+
: SoloTaskConfigForName<TName>
|
|
131
|
+
): SoloTask;
|
|
63
132
|
}
|
|
64
133
|
|
|
65
134
|
export {};
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
export type Keys =
|
|
2
|
+
| "None"
|
|
3
|
+
| "LButton"
|
|
4
|
+
| "RButton"
|
|
5
|
+
| "Cancel"
|
|
6
|
+
| "MButton"
|
|
7
|
+
| "XButton1"
|
|
8
|
+
| "XButton2"
|
|
9
|
+
| "Back"
|
|
10
|
+
| "Tab"
|
|
11
|
+
| "LineFeed"
|
|
12
|
+
| "Clear"
|
|
13
|
+
| "Return"
|
|
14
|
+
| "Enter"
|
|
15
|
+
| "ShiftKey"
|
|
16
|
+
| "ControlKey"
|
|
17
|
+
| "Menu"
|
|
18
|
+
| "Pause"
|
|
19
|
+
| "Capital"
|
|
20
|
+
| "CapsLock"
|
|
21
|
+
| "KanaMode"
|
|
22
|
+
| "HanguelMode"
|
|
23
|
+
| "HangulMode"
|
|
24
|
+
| "JunjaMode"
|
|
25
|
+
| "FinalMode"
|
|
26
|
+
| "HanjaMode"
|
|
27
|
+
| "KanjiMode"
|
|
28
|
+
| "Escape"
|
|
29
|
+
| "IMEConvert"
|
|
30
|
+
| "IMENonconvert"
|
|
31
|
+
| "IMEAccept"
|
|
32
|
+
| "IMEAceept"
|
|
33
|
+
| "IMEModeChange"
|
|
34
|
+
| "Space"
|
|
35
|
+
| "Prior"
|
|
36
|
+
| "PageUp"
|
|
37
|
+
| "Next"
|
|
38
|
+
| "PageDown"
|
|
39
|
+
| "End"
|
|
40
|
+
| "Home"
|
|
41
|
+
| "Left"
|
|
42
|
+
| "Up"
|
|
43
|
+
| "Right"
|
|
44
|
+
| "Down"
|
|
45
|
+
| "Select"
|
|
46
|
+
| "Print"
|
|
47
|
+
| "Execute"
|
|
48
|
+
| "Snapshot"
|
|
49
|
+
| "PrintScreen"
|
|
50
|
+
| "Insert"
|
|
51
|
+
| "Delete"
|
|
52
|
+
| "Help"
|
|
53
|
+
| "D0"
|
|
54
|
+
| "D1"
|
|
55
|
+
| "D2"
|
|
56
|
+
| "D3"
|
|
57
|
+
| "D4"
|
|
58
|
+
| "D5"
|
|
59
|
+
| "D6"
|
|
60
|
+
| "D7"
|
|
61
|
+
| "D8"
|
|
62
|
+
| "D9"
|
|
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"
|
|
91
|
+
| "Apps"
|
|
92
|
+
| "Sleep"
|
|
93
|
+
| "NumPad0"
|
|
94
|
+
| "NumPad1"
|
|
95
|
+
| "NumPad2"
|
|
96
|
+
| "NumPad3"
|
|
97
|
+
| "NumPad4"
|
|
98
|
+
| "NumPad5"
|
|
99
|
+
| "NumPad6"
|
|
100
|
+
| "NumPad7"
|
|
101
|
+
| "NumPad8"
|
|
102
|
+
| "NumPad9"
|
|
103
|
+
| "Multiply"
|
|
104
|
+
| "Add"
|
|
105
|
+
| "Separator"
|
|
106
|
+
| "Subtract"
|
|
107
|
+
| "Decimal"
|
|
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"
|
|
135
|
+
| "LShiftKey"
|
|
136
|
+
| "RShiftKey"
|
|
137
|
+
| "LControlKey"
|
|
138
|
+
| "RControlKey"
|
|
139
|
+
| "LMenu"
|
|
140
|
+
| "RMenu"
|
|
141
|
+
| "BrowserBack"
|
|
142
|
+
| "BrowserForward"
|
|
143
|
+
| "BrowserRefresh"
|
|
144
|
+
| "BrowserStop"
|
|
145
|
+
| "BrowserSearch"
|
|
146
|
+
| "BrowserFavorites"
|
|
147
|
+
| "BrowserHome"
|
|
148
|
+
| "VolumeMute"
|
|
149
|
+
| "VolumeDown"
|
|
150
|
+
| "VolumeUp"
|
|
151
|
+
| "MediaNextTrack"
|
|
152
|
+
| "MediaPreviousTrack"
|
|
153
|
+
| "MediaStop"
|
|
154
|
+
| "MediaPlayPause"
|
|
155
|
+
| "LaunchMail"
|
|
156
|
+
| "SelectMedia"
|
|
157
|
+
| "LaunchApplication1"
|
|
158
|
+
| "LaunchApplication2"
|
|
159
|
+
| "OemSemicolon"
|
|
160
|
+
| "Oem1"
|
|
161
|
+
| "Oemplus"
|
|
162
|
+
| "Oemcomma"
|
|
163
|
+
| "OemMinus"
|
|
164
|
+
| "OemPeriod"
|
|
165
|
+
| "OemQuestion"
|
|
166
|
+
| "Oem2"
|
|
167
|
+
| "Oemtilde"
|
|
168
|
+
| "Oem3"
|
|
169
|
+
| "OemOpenBrackets"
|
|
170
|
+
| "Oem4"
|
|
171
|
+
| "OemPipe"
|
|
172
|
+
| "Oem5"
|
|
173
|
+
| "OemCloseBrackets"
|
|
174
|
+
| "Oem6"
|
|
175
|
+
| "OemQuotes"
|
|
176
|
+
| "Oem7"
|
|
177
|
+
| "Oem8"
|
|
178
|
+
| "OemBackslash"
|
|
179
|
+
| "Oem102"
|
|
180
|
+
| "ProcessKey"
|
|
181
|
+
| "Packet"
|
|
182
|
+
| "Attn"
|
|
183
|
+
| "Crsel"
|
|
184
|
+
| "Exsel"
|
|
185
|
+
| "EraseEof"
|
|
186
|
+
| "Play"
|
|
187
|
+
| "Zoom"
|
|
188
|
+
| "NoName"
|
|
189
|
+
| "Pa1"
|
|
190
|
+
| "OemClear"
|
|
191
|
+
| "Shift"
|
|
192
|
+
| "Control"
|
|
193
|
+
| "Alt";
|
|
194
|
+
|
|
195
|
+
export {};
|