Skip to content

Instantly share code, notes, and snippets.

@Douile
Last active February 1, 2024 19:24
Show Gist options
  • Save Douile/8bf484aa15c16531eb8c22bf7e518d22 to your computer and use it in GitHub Desktop.
Save Douile/8bf484aa15c16531eb8c22bf7e518d22 to your computer and use it in GitHub Desktop.
Toggle keys using logitech gaming software

Toggle buttons using Logitech gaming software

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
@Tumbler
Copy link

Tumbler commented Feb 1, 2024

Not sure if it was just my specific mouse but I had to edit
eventlisten = "M_PRESSED";
to be
eventlisten = "MOUSE_BUTTON_PRESSED";

@Douile
Copy link
Author

Douile commented Feb 1, 2024

Not sure if it was just my specific mouse but I had to edit eventlisten = "M_PRESSED"; to be eventlisten = "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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment