跳至正文
版本:latest - a1.147.x ⚖️

🕹️ 输入

创建自定义按键绑定并检索输入信息。

🗿Static Class
This is a Static Class. Access it's methods directly with .. It's not possible to spawn new instances.
💂Authority
This static class can be accessed only on 🟧 Client side.
🧑‍💻API Source
This page is auto-generated! The Functions, Properties and Events described here are defined in our GitHub's API Repository! Feel free to commit suggestions and changes to the source .json API files!

🎒 示例

Client/Index.lua
-- 注册 binding_name “SpawnMenu”,默认按键“Q”
-- 这将自动将“SpawnMenu”添加到用户的按键绑定设置中
Input.Register("SpawnMenu", "Q")

-- 订阅按下按键
Input.Bind("SpawnMenu", InputEvent.Pressed, function()
-- 打开生成菜单
end)

-- 订阅松开按键
Input.Bind("SpawnMenu", InputEvent.Released, function()
-- 关闭生成菜单
end)
Client/Index.lua
-- 订阅原生绑定
Input.Bind("MoveForward", InputEvent.Pressed, function(delta)
-- 按下 MoveForward 键(通常为 W)
end)

--订阅原生绑定
Input.Bind("MoveBackward", InputEvent.Pressed, function(delta)
-- 按下 MoveBackward 键(通常为 S)
end)
(Input.GetModifierKeys) Checks if has Shift pressed
local modifier_keys = Input.GetModifierKeys()
local has_shift_pressed = modifier_keys & KeyModifier.LeftShiftDown
-- Outputs "true"

🗿 静态函数

ReturnsNameDescription
Bind将函数绑定到使用 Register 定义的输入或游戏自带的输入中
tableGetGameKeyBindings返回一个包含所有游戏按键绑定的表
KeyboardLayoutGetKeyboardLayout获取用户的键盘布局
integerGetKeyCode获取按键的按键代码
stringGetKeyIcon获取按键的图标路径
table of stringGetMappedKeys返回绑定到某个按键绑定的所有按键
KeyModifierGetModifierKeys获取当前按下的修饰键
tableGetScriptingKeyBindings返回一个包含所有脚本按键绑定的表
InputKey强行向本地玩家发送一个按键输入事件
booleanIsInputEnabledNo description provided
booleanIsKeyDown返回某个按键当前是否正被按下
booleanIsMouseEnabledNo description provided
Register将按键绑定注册到默认按键
ResetBindings重置当前包绑定的所有函数
SetInputEnabled切换本地玩家输入的开启状态
SetMouseCursor设置当前的鼠标光标类型
SetMouseEnabled显示/隐藏鼠标光标
Unbind取消绑定某个输入函数
Unregister取消注册某个按键绑定

Bind

将函数绑定到使用 Register 定义的输入或游戏自带的输入中
Input.Bind(binding_name, input_event, callback)

Parameters

TypeParameterDefaultDescription
stringbinding_name Required parameter 按键绑定 ID
InputEventinput_event Required parameter 要注册的事件类型(Released/Pressed)
functioncallback Required parameter 要触发的函数 with this format

GetGameKeyBindings

返回一个包含所有游戏按键绑定的表
local ret = Input.GetGameKeyBindings()

Returns

TypeDescription
tablewith this format

GetKeyboardLayout

获取用户的键盘布局
local ret = Input.GetKeyboardLayout()

Returns

TypeDescription
KeyboardLayoutNo description provided

GetKeyCode

获取按键的按键代码
local ret = Input.GetKeyCode(key_name)

Parameters

TypeParameterDefaultDescription
stringkey_name Required parameter No description provided

Returns

TypeDescription
integerNo description provided

GetKeyIcon

获取按键的图标路径
local ret = Input.GetKeyIcon(key_name, dark_mode?)

Parameters

TypeParameterDefaultDescription
stringkey_name Required parameter No description provided
booleandark_mode?false
No description provided

Returns

TypeDescription
stringNo description provided

GetMappedKeys

返回绑定到某个按键绑定的所有按键
local ret = Input.GetMappedKeys(binding_name)

Parameters

TypeParameterDefaultDescription
stringbinding_name Required parameter 按键绑定 ID

Returns

TypeDescription
table of string所有按键的列表

GetModifierKeys

获取当前按下的修饰键
local ret = Input.GetModifierKeys()

Returns

TypeDescription
KeyModifierNo description provided
Input.GetModifierKeys Examples
Checks if has Shift pressed
local modifier_keys = Input.GetModifierKeys()
local has_shift_pressed = modifier_keys & KeyModifier.LeftShiftDown
-- Outputs "true"

GetScriptingKeyBindings

返回一个包含所有脚本按键绑定的表
local ret = Input.GetScriptingKeyBindings()

Returns

TypeDescription
tablewith this format

InputKey

强行向本地玩家发送一个按键输入事件

由于此操作会绕过内部验证,因此不会触发任何脚本事件
Input.InputKey(key_name, input_event, amount_depressed?)

Parameters

TypeParameterDefaultDescription
stringkey_name Required parameter 要输入的按键名称
InputEventinput_event Required parameter 要输入的事件类型
floatamount_depressed?1
按下的程度

IsInputEnabled

local ret = Input.IsInputEnabled()

Returns

TypeDescription
boolean输入是否可见

See also SetInputEnabled.


IsKeyDown

返回某个按键当前是否正被按下
local ret = Input.IsKeyDown(key_name)

Parameters

TypeParameterDefaultDescription
stringkey_name Required parameter No description provided

Returns

TypeDescription
boolean按键是否被按下

IsMouseEnabled

local ret = Input.IsMouseEnabled()

Returns

TypeDescription
boolean鼠标是否可见

See also SetMouseEnabled.


Register

将按键绑定注册到默认按键
Input.Register(binding_name, key_name, description)

Parameters

TypeParameterDefaultDescription
stringbinding_name Required parameter 按键绑定 ID
stringkey_name Required parameter 若先前未设置过,则默认使用的按键
string or nildescription Required parameter 在按键绑定设置界面中显示的文本

ResetBindings

重置当前包绑定的所有函数
Input.ResetBindings()

SetInputEnabled

切换本地玩家输入的开启状态
Input.SetInputEnabled(enable_input)

Parameters

TypeParameterDefaultDescription
booleanenable_input Required parameter No description provided

See also IsInputEnabled.


SetMouseCursor

设置当前的鼠标光标类型
Input.SetMouseCursor(cursor_type)

Parameters

TypeParameterDefaultDescription
CursorTypecursor_type Required parameter No description provided

SetMouseEnabled

显示/隐藏鼠标光标
Input.SetMouseEnabled(is_enabled)

Parameters

TypeParameterDefaultDescription
booleanis_enabled Required parameter No description provided

See also IsMouseEnabled.


Unbind

取消绑定与指定 binding_name 和 input_event 相关的所有输入函数
Input.Unbind(binding_name, input_event, callback?)

Parameters

TypeParameterDefaultDescription
stringbinding_name Required parameter 按键绑定 ID
InputEventinput_event Required parameter 要注册的事件类型(Released/Pressed)
functioncallback?nil
要取消绑定的特定函数

Unregister

取消注册某个按键绑定
Input.Unregister(binding_name, key_name)

Parameters

TypeParameterDefaultDescription
stringbinding_name Required parameter 按键绑定 ID
stringkey_name Required parameter No description provided

🚀 事件

NameDescription
KeyBindingChange在设置中更改了按键绑定时调用
KeyDown键盘按键正被按下
KeyPress键盘按键已被按下
KeyUp键盘按键已被释放
MouseDown鼠标按键已被按下 / 正被按下
MouseEnable当鼠标光标显示或隐藏时调用
MouseMove当鼠标移动时调用
MouseScroll当鼠标滚轮滚动时调用
MouseUp鼠标按键已被释放

KeyBindingChange

在设置中更改了按键绑定时调用
Input.Subscribe("KeyBindingChange", function(binding_name, key, scale)
-- KeyBindingChange was called
end)

Arguments

TypeArgumentDescription
stringbinding_name按键绑定 ID
stringkey关联的新按键
floatscale缩放输入(通常为 1 或 -1)

KeyDown

键盘按键正被按下

返回 false 以阻止该事件
Input.Subscribe("KeyDown", function(key_name, delta)
-- KeyDown was called
return true
end)

Arguments

TypeArgumentDescription
stringkey_name被按下的按键
float or nildelta如果这是轴输入,则表示按下的程度

KeyPress

键盘按键已被按下

返回 false 以阻止该事件
Input.Subscribe("KeyPress", function(key_name, delta)
-- KeyPress was called
return true
end)

Arguments

TypeArgumentDescription
stringkey_name被按下的按键
float or nildelta如果这是轴输入,则表示按下的程度

KeyUp

键盘按键已被释放

返回 false 以阻止该事件
Input.Subscribe("KeyUp", function(key_name, delta)
-- KeyUp was called
return true
end)

Arguments

TypeArgumentDescription
stringkey_name被按下的按键
float or nildelta如果这是轴输入,则表示按下的程度

MouseDown

鼠标按键已被按下 / 正被按下

返回 false 以阻止该事件
Input.Subscribe("MouseDown", function(key_name, mouse_x, mouse_y)
-- MouseDown was called
return true
end)

Arguments

TypeArgumentDescription
stringkey_nameNo description provided
floatmouse_xNo description provided
floatmouse_yNo description provided

MouseEnable

当鼠标光标显示或隐藏时调用
Input.Subscribe("MouseEnable", function(is_enabled)
-- MouseEnable was called
end)

Arguments

TypeArgumentDescription
booleanis_enabledNo description provided

MouseMove

当鼠标移动时调用
Input.Subscribe("MouseMove", function(cursor_delta_x, cursor_delta_y, mouse_x, mouse_y)
-- MouseMove was called
end)

Arguments

TypeArgumentDescription
floatcursor_delta_xNo description provided
floatcursor_delta_yNo description provided
floatmouse_xNo description provided
floatmouse_yNo description provided

MouseScroll

当鼠标滚轮滚动时调用
Input.Subscribe("MouseScroll", function(mouse_x, mouse_y, delta)
-- MouseScroll was called
end)

Arguments

TypeArgumentDescription
floatmouse_xNo description provided
floatmouse_yNo description provided
floatdeltaNo description provided

MouseUp

鼠标按键已被释放

返回 false 以阻止该事件
Input.Subscribe("MouseUp", function(key_name, mouse_x, mouse_y)
-- MouseUp was called
return true
end)

Arguments

TypeArgumentDescription
stringkey_nameNo description provided
floatmouse_xNo description provided
floatmouse_yNo description provided

⌨️ 按键名称

按键/鼠标事件中返回的所有按键名称列表。

▶️ 功能键

按键名称描述
F1功能 1
F2功能 2
F3功能 3
F4功能 4
F5功能 5
F6功能 6
F7功能 7
F8功能 8
F9功能 9
F10功能 10
F11功能 11
F12功能 12

▶️ 字母数字键

按键名称描述
A字母 A
B字母 B
C字母 C
D字母 D
E字母 E
F字母 F
G字母 G
H字母 H
I字母 I
J字母 J
K字母 K
L字母 L
M字母 M
N字母 N
O字母 O
P字母 P
Q字母 Q
R字母 R
S字母 S
T字母 T
U字母 U
V字母 V
W字母 W
X字母 X
Y字母 Y
Z字母 Z

▶️ 特殊键

按键名称描述
EscapeEscape
TabTab
Tilde~
ScrollLock滚动锁定
PausePause
BackSpaceBackSpace
OneOne
TwoTwo
ThreeThree
FourFour
FiveFive
SixSix
SevenSeven
EightEight
NineNine
ZeroZero
Underscore_
Equals=
Backslash
LeftBracket[
RightBracket]
EnterEnter 键或小键盘 Enter 键
CapsLock大写锁定
Semicolon;
Quote
LeftShift左 Shift 键
Comma,
Period.
Slash/
RightShift右 Shift 键
LeftControl左 Ctrl 键
LeftAlt左 Alt 键
SpaceBar空格键
RightAlt右 Alt 键
RightControl右 Ctrl 键
LeftLeft
UpUp
DownDown
RightRight
HomeHome
EndEnd
InsertInsert
PageUpPgUp 键
DeleteDelete
PageDownPgDn 键
NumLock小键盘锁定
Divide小键盘 /
Multiply小键盘 *
Subtract小键盘 -
Add小键盘 +
PageDownPgDn 键
NumPadOne小键盘 1
NumPadTwo小键盘 2
NumPadThree小键盘 3
NumPadFour小键盘 4
NumPadFive小键盘 5
NumPadSix小键盘 6
NumPadSeven小键盘 7
NumPadEight小键盘 8
NumPadNine小键盘 9
NumPadZero小键盘 0
Decimal小键盘小数点

▶️ 鼠标

按键名称描述
LeftMouseButton鼠标左键
RightMouseButton鼠标右键
MiddleMouseButton鼠标中键
ThumbMouseButton主鼠标侧键
ThumbMouseButton2副鼠标侧键
MouseScrollUp鼠标滚轮向上滚动
MouseScrollDown鼠标滚轮向下滚动
MouseX鼠标在 X 轴上移动
MouseY鼠标在 Y 轴上移动

▶️ AZERTY

按键名称描述
Ampersand&
Asterix-
Caret^
Colon:
Dollar$
Exclamation!
LeftParantheses(
RightParantheses)
A_AccentGraveÀ
C_CedilleÇ
E_AccentAiguÉ
E_AccentGraveÈ