Theseus 模组文档
API 参考 / 只读视图、场景、音频与文本

InputType


输入事件类型枚举,配合 InputEvent#type() 分派处理。

方法速览

方法用途
KEY_PRESSED键盘按下(按下沿)
KEY_RELEASED键盘抬起
KEY_HELD键盘持续按住
TEXT_INPUT文本输入(键入字符 / 输入法提交)
MOUSE_PRESSED鼠标左键按下(按下沿)
MOUSE_DRAGGED鼠标左键按住移动
MOUSE_RELEASED鼠标左键释放
values() / valueOf(String)枚举默认静态方法

KEY_PRESSED

java
KEY_PRESSED,

行为:键盘按下(按下沿),每帧由宿主按键事件缓冲逐条派发;模组场景实际只会收到本类型(及 TEXT_INPUT、鼠标三型)。 示例:

java
boolean pressed = event.type() == InputType.KEY_PRESSED;

KEY_RELEASED

java
KEY_RELEASED,

行为:键盘抬起。当前宿主未向模组场景派发本类型,仅作枚举面保留。 示例:

java
boolean released = event.type() == InputType.KEY_RELEASED;

KEY_HELD

java
KEY_HELD,

行为:键盘持续按住。当前宿主未向模组场景派发本类型(长按请用 InputAccess 轮询)。 示例:

java
boolean held = event.type() == InputType.KEY_HELD;

TEXT_INPUT

java
TEXT_INPUT,

行为:文本输入(键入字符 / 输入法提交文本),经 InputEvent#text() 携带,keyCode() 恒为 0;仅模组场景派发。注意 TextField#handleInput 只处理 TEXT_INPUT 与 KEY_PRESSED,其余类型直接返回 false。 示例:

java
if (event.type() == InputType.TEXT_INPUT) field.typeString(event.text());

MOUSE_PRESSED

java
MOUSE_PRESSED,

行为:鼠标左键按下(按下沿),坐标见 mouseX() / mouseY()。示例:

java
boolean down = event.type() == InputType.MOUSE_PRESSED;

MOUSE_DRAGGED

java
MOUSE_DRAGGED,

行为:鼠标左键按住移动(拖动),每帧持续派发。示例:

java
boolean dragging = event.type() == InputType.MOUSE_DRAGGED;

MOUSE_RELEASED

java
MOUSE_RELEASED,

行为:鼠标左键释放。示例:

java
boolean up = event.type() == InputType.MOUSE_RELEASED;

values()

java
public static InputType[] values();

行为:枚举常量数组(按声明顺序),由编译器生成。示例:

java
for (InputType t : InputType.values()) { /* ... */ }

valueOf(String)

java
public static InputType valueOf(String name);

行为:按名称取枚举常量;名称不匹配时抛 IllegalArgumentException(枚举默认语义)。示例:

java
InputType t = InputType.valueOf("KEY_PRESSED");

完整签名

java
public enum InputType {
    KEY_PRESSED,
    KEY_RELEASED,
    KEY_HELD,
    TEXT_INPUT,
    MOUSE_PRESSED,
    MOUSE_DRAGGED,
    MOUSE_RELEASED;
    public static InputType[] values();
    public static InputType valueOf(String name);
}

线程:源码未声明额外线程约束。

稳定性:2.0 起冻结:2.x 内只增不破。