Version 8.97.88
LUA API Version 8.45
The code below can be used in the script section of profiles in logitech gaming software to toggle pressing keys.
Enjoy!
-- choose your keys here | |
-- e.g. if I wanted button 1 to toggle e I would put {e=1}; | |
-- e.g. if I wanted button 3 to toggle e I would put {e=3,f=3,g=2}; | |
keysetup = {e=3}; | |
-- if using mouse set to true | |
mouse = false; | |
-- set to true to log all button presses (useful when you don't know what number a key is) | |
logall = true; | |
-- do not change the code below | |
OutputLogMessage("Script initialized\nWritten by: Douile\n"); | |
if (mouse == true) then | |
eventlisten = "M_PRESSED"; | |
OutputLogMessage("Configured for mouse buttons\n"); | |
else | |
eventlisten = "G_PRESSED"; | |
OutputLogMessage("Configured for keyboard buttons\n"); | |
end | |
for k,v in pairs(keysetup) do | |
OutputLogMessage("Button %d will toggle %s\n",v,k); | |
end | |
OutputLogMessage("\n- start runtime log -\n"); | |
keyspressed = {}; | |
function OnEvent(event, arg) | |
if (event == eventlisten) then | |
if (logall == true) then | |
OutputLogMessage("Key %d pressed\n",arg); | |
end | |
for k,v in pairs(keysetup) do | |
if (arg == v and k ~= null) then | |
if (keyspressed[k] == true) then | |
ReleaseKey(k); | |
keyspressed[k] = false; | |
OutputLogMessage("Recieved %s %d released %s\n",event,v,k); | |
else | |
PressKey(k); | |
keyspressed[k] = true; | |
OutputLogMessage("Recieved %s %d pressed %s\n",event,v,k); | |
end | |
end | |
end | |
end | |
end |
Not sure if it was just my specific mouse but I had to edit
eventlisten = "M_PRESSED";
to beeventlisten = "MOUSE_BUTTON_PRESSED";
Yes this script is out of date. An improved version can be found here: https://douile.com/logitech-toggle-keys/generator.html
Not sure if it was just my specific mouse but I had to edit
eventlisten = "M_PRESSED";
to be
eventlisten = "MOUSE_BUTTON_PRESSED";