feat(client/addKeybind): add defaultMapper field (#219)

This allow other mapper input like `MOUSE_BUTTON` for example.
See: https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/
This commit is contained in:
Dolu
2023-04-17 06:11:18 +02:00
committed by GitHub
parent 631334ac3f
commit b035c5aa56

View File

@@ -3,6 +3,7 @@ if cache.game == 'redm' then return end
---@class KeybindProps ---@class KeybindProps
---@field name string ---@field name string
---@field description string ---@field description string
---@field defaultMapper? string (see: https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/)
---@field defaultKey? string ---@field defaultKey? string
---@field disabled? boolean ---@field disabled? boolean
---@field disable? fun(self: CKeybind, toggle: boolean) ---@field disable? fun(self: CKeybind, toggle: boolean)
@@ -49,6 +50,7 @@ end
---@return CKeybind ---@return CKeybind
function lib.addKeybind(data) function lib.addKeybind(data)
if not data.defaultKey then data.defaultKey = '' end if not data.defaultKey then data.defaultKey = '' end
if not data.defaultMapper then data.defaultMapper = 'keyboard' end
RegisterCommand('+' .. data.name, function() RegisterCommand('+' .. data.name, function()
if not data.onPressed or data.disabled or IsPauseMenuActive() then return end if not data.onPressed or data.disabled or IsPauseMenuActive() then return end
@@ -60,7 +62,7 @@ function lib.addKeybind(data)
data:onReleased() data:onReleased()
end) end)
RegisterKeyMapping('+' .. data.name, data.description, 'keyboard', data.defaultKey) RegisterKeyMapping('+' .. data.name, data.description, data.defaultMapper, data.defaultKey)
SetTimeout(500, function() SetTimeout(500, function()
TriggerEvent('chat:removeSuggestion', ('/+%s'):format(data.name)) TriggerEvent('chat:removeSuggestion', ('/+%s'):format(data.name))