@yiero/gmlib
Version:
GM Lib for Tampermonkey/ScriptCat
76 lines (75 loc) • 1.71 kB
TypeScript
import type { KeyboardKey } from '../UserInteraction/types/KeyboardKey';
export type { KeyboardKey } from '../UserInteraction/types/KeyboardKey';
/**
* 模拟键盘选项接口
*/
export interface ISimulateKeyboardOptions {
/**
* 按键字符值
* @example 'Enter', 'a', 'Escape'
*/
key?: KeyboardKey;
/**
* 物理按键码
* @example 'KeyA', 'Enter', 'Escape'
*/
code?: string;
/**
* 按键数字码 (已废弃但仍兼容)
* @example 13 (Enter), 27 (Escape), 65 (A)
*/
keyCode?: number;
/**
* 按键代码
* @example 'KeyA', 'Enter'
*/
keyCodeValue?: number;
/**
* 事件是否冒泡
* @default true
*/
bubbles?: boolean;
/**
* 事件是否可取消
* @default true
*/
cancelable?: boolean;
/**
* 是否按下Shift键
* @default false
*/
shiftKey?: boolean;
/**
* 是否按下Ctrl键
* @default false
*/
ctrlKey?: boolean;
/**
* 是否按下Alt键
* @default false
*/
altKey?: boolean;
/**
* 是否按下Meta键(Command键)
* @default false
*/
metaKey?: boolean;
/**
* 是否重复按键(长按)
* @default false
*/
repeat?: boolean;
}
/**
* 在目标元素上模拟键盘事件
*
* @param target 目标元素
* @param options 键盘选项
*/
export declare function simulateKeyboard(target: HTMLElement, options: ISimulateKeyboardOptions): void;
/**
* 在 document.activeElement 或 document.body 上模拟键盘事件
*
* @param options 键盘选项
*/
export declare function simulateKeyboard(options: ISimulateKeyboardOptions): void;