|
deki-input 0.19.0
Deki 包参考
|
输入分发和碰撞检测。将指针/触摸/按键事件分发给需要它们的组件。
仓库:github.com/dekiengine/deki-input · 最新版本:0.19.0 · 需要引擎 0.19.0 或更高版本 · 依赖:deki-rendering
使用 DekiEditor --packages-add deki-input <project> 或通过包管理器安装。引擎自身的组件和 C++ API 见 Deki 文档。
在编辑器中显示为 **Input**。
| 组件 | 类别 | 说明 |
|---|---|---|
| I2CKeyboardComponent | 输入 | 读取每次 I2C 读取返回一个输入字符的键盘:如 LilyGO T-Deck 的键盘、M5Stack CardKB。 |
| InputCollider | 输入 | 指针和触摸的点击区域。按钮和滚动组件会监听它。 |
| TrackballComponent | 输入 | 接在 GPIO 引脚上的轨迹球,可用作方向键和 Enter,或用作指针。 |
可以从构建中去掉的部分。带有 define 的功能通过该 define 开关,其余的随其组件一起被剥离。
| 功能 | define | 默认值 |
|---|---|---|
| Colliders | DEKI_FEATURE_INPUT | 开 |
| I2C Keyboard | DEKI_FEATURE_INPUT_I2C_KEYBOARD | 开 |
| Trackball | DEKI_FEATURE_INPUT_TRACKBALL | 开 |
读取每次 I2C 读取返回一个输入字符的键盘:如 LilyGO T-Deck 的键盘、M5Stack CardKB。
检视器中的名称:I2C 键盘 · 类别:输入 · 类型:DekiInput::I2CKeyboardComponent
| 属性 | 类型 | 默认值 | 约束 | 说明 |
|---|---|---|---|---|
| i2cPort | int32 | 0 | 0 到 3 | 键盘所在的 I2C 总线。必须与设置该端口的 I2C 总线组件一致。 |
| i2cAddress | int32 | 85 | 0 到 127 | 键盘在总线上的地址:LilyGO T-Deck 为 0x55 (85),M5Stack CardKB 为 0x5F (95)。 |
| hasBacklight | bool | false | 键盘带有自行控制的背光,通过总线设置(LilyGO T-Deck 的亮度位于寄存器 0x01)。游戏代码随后可用 I2CKeyboard::SetBacklight 设置它。 |
指针和触摸的点击区域。按钮和滚动组件会监听它。
检视器中的名称:输入碰撞区 · 类别:输入 · 类型:DekiInput::InputCollider
| 属性 | 类型 | 默认值 | 约束 | 说明 |
|---|---|---|---|---|
| width | float | 0 | 单位 m | 点击区域的宽度,单位为米。不必与绘制的内容一致。 |
| height | float | 0 | 单位 m | 点击区域的高度,单位为米。 |
| paddingLeft | float | 0 | 单位 m | 左边缘之外额外的点击区域,单位为米。可以让小控件更容易用手指点中,而不必让它看起来更大。 |
| paddingRight | float | 0 | 单位 m | 右边缘之外额外的点击区域,单位为米。 |
| paddingTop | float | 0 | 单位 m | 上边缘之上额外的点击区域,单位为米。 |
| paddingBottom | float | 0 | 单位 m | 下边缘之下额外的点击区域,单位为米。 |
| consumeInput | bool | true | 在此处截停按下操作,不让它传到下方的对象。对于不应遮挡后方内容的覆盖层,请关闭此项。 |
接在 GPIO 引脚上的轨迹球,可用作方向键和 Enter,或用作指针。
检视器中的名称:轨迹球 · 类别:输入 · 类型:DekiInput::TrackballComponent
| 属性 | 类型 | 默认值 | 约束 | 说明 |
|---|---|---|---|---|
| mode | enum | "Keys" | Keys, Pointer | 按键:滚动相当于按方向键,按下相当于 Enter。指针:滚动移动指针,按下相当于鼠标按键。 |
| pixelsPerStep | int32 | 4 | 1 到 64 | 指针模式:球每滚动一步,指针移动多少像素 |
| glideMs | float | 0 | 0 到 1000 | 指针模式:球停止后指针继续滑行的时长,单位为毫秒,类似 ThinkPad TrackPoint。0 表示严格按滚动的步数移动。 |
| acceleration | float | 1 | 1 到 8 | 带滑行的指针模式:快速转动球时,每一步带动指针的距离是慢速滚动时的多少倍。1 表示不加速。 |
| upPin | int32 | -1 | -1 到 48 | 球向上滚动时产生脉冲的信号线 |
| downPin | int32 | -1 | -1 到 48 | 球向下滚动时产生脉冲的信号线 |
| leftPin | int32 | -1 | -1 到 48 | 球向左滚动时产生脉冲的信号线 |
| rightPin | int32 | -1 | -1 到 48 | 球向右滚动时产生脉冲的信号线 |
| clickPin | int32 | -1 | -1 到 48 | 按下开关(-1 = 无) |
| clickActiveLow | bool | true | 按下时将引脚拉低(开),或拉高(关) |
更新日志为英文。
更早的版本:CHANGELOG.md
由包的反射数据生成(引擎 0.19.0)。属性名就是场景文件中使用的键。重命名后会保留别名(兼容性)。