From 009dfbb019e4a46164cc745de8ab3d43a751ed4b Mon Sep 17 00:00:00 2001 From: Code Kane Date: Sat, 7 Jun 2025 15:35:33 -0500 Subject: [PATCH 1/2] Adding support for MOUSE_WHEEL input mapper keybinds --- imports/addKeybind/client.lua | 58 +++++++++++++++++++++++------------ 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/imports/addKeybind/client.lua b/imports/addKeybind/client.lua index 37dca17a..6f518263 100644 --- a/imports/addKeybind/client.lua +++ b/imports/addKeybind/client.lua @@ -59,27 +59,47 @@ end ---@return CKeybind function lib.addKeybind(data) ---@cast data CKeybind - data.hash = joaat('+' .. data.name) | 0x80000000 - keybinds[data.name] = setmetatable(data, keybind_mt) - - RegisterCommand('+' .. data.name, function() - if data.disabled or IsPauseMenuActive() then return end - data.isPressed = true - if data.onPressed then data:onPressed() end - end) - - RegisterCommand('-' .. data.name, function() - if data.disabled or IsPauseMenuActive() then return end - data.isPressed = false - if data.onReleased then data:onReleased() end - end) - - RegisterKeyMapping('+' .. data.name, data.description, data.defaultMapper, data.defaultKey) - - if data.secondaryKey then - RegisterKeyMapping('~!+' .. data.name, data.description, data.secondaryMapper or data.defaultMapper, data.secondaryKey) + + if(data.defaultMapper == "MOUSE_WHEEL")then + data.hash = joaat(data.name) | 0x80000000 + keybinds[data.name] = setmetatable(data, keybind_mt) + + RegisterCommand(data.name, function() + if data.disabled or IsPauseMenuActive() then return end + data.isPressed = true + if data.onPressed then data:onPressed() end + end) + + RegisterKeyMapping(data.name, data.description, data.defaultMapper, data.defaultKey) + + if data.secondaryKey then + RegisterKeyMapping('~!' .. data.name, data.description, data.secondaryMapper or data.defaultMapper, data.secondaryKey) + end + else + data.hash = joaat('+' .. data.name) | 0x80000000 + keybinds[data.name] = setmetatable(data, keybind_mt) + + RegisterCommand('+' .. data.name, function() + if data.disabled or IsPauseMenuActive() then return end + data.isPressed = true + if data.onPressed then data:onPressed() end + end) + + RegisterCommand('-' .. data.name, function() + if data.disabled or IsPauseMenuActive() then return end + data.isPressed = false + if data.onReleased then data:onReleased() end + end) + + RegisterKeyMapping('+' .. data.name, data.description, data.defaultMapper, data.defaultKey) + + if data.secondaryKey then + RegisterKeyMapping('~!+' .. data.name, data.description, data.secondaryMapper or data.defaultMapper, data.secondaryKey) + end end + + SetTimeout(500, function() TriggerEvent('chat:removeSuggestion', ('/+%s'):format(data.name)) TriggerEvent('chat:removeSuggestion', ('/-%s'):format(data.name)) From 8eda730f76359153369fe8e7418d17aaf469ad9b Mon Sep 17 00:00:00 2001 From: Code Kane Date: Sat, 7 Jun 2025 15:58:13 -0500 Subject: [PATCH 2/2] Adding Case check for input mapper. --- imports/addKeybind/client.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imports/addKeybind/client.lua b/imports/addKeybind/client.lua index 6f518263..5b0ec0c6 100644 --- a/imports/addKeybind/client.lua +++ b/imports/addKeybind/client.lua @@ -60,7 +60,7 @@ end function lib.addKeybind(data) ---@cast data CKeybind - if(data.defaultMapper == "MOUSE_WHEEL")then + if(string.upper(data.defaultMapper) == "MOUSE_WHEEL")then data.hash = joaat(data.name) | 0x80000000 keybinds[data.name] = setmetatable(data, keybind_mt)