You are here: Home

G Assignments 3


G Assignments 3 is a utility for Logitech gaming keyboards running on Microsoft Windows. It displays the names of commands assigned to the G keys/buttons of Logitech gaming devices in an on-screen window. The display is updated whenever the active keyboard profile or M-key mode is changed.

Since you can create profiles for any program (ie, not just games), G-keys/buttons can be used in your word processor, web browser, Windows Explorer, etc. It’s like having an extra set of function keys that can be programmed to do any sequence of keyboard or mouse actions. However, remembering dozens of extra key assignments for each of your applications is pretty much impossible. But with G Assignments 3, you don’t have to remember.


  • Automatic Profile Detection. The list of G-key/button assignments that is displayed changes automatically, whenever you change the active application profile or M-key state.
  • Always On Top. The G Assignments 3 window will be displayed on top of other windows (except for full-screen graphics applications, and maybe other topmost windows).
  • Customisable Layout. The assignment lists displayed are HTML files (like web pages). You can change the template used to generate the HTML files, thus changing the layout of the displayed information. More…
  • User-created Display Files. G Assignments 3 can display arbitrary HTML files that you can associate with a particular profile, device and M-key state. More…


  • LGS Conflicts. G Assignments 3 interacts with the Logitech Gaming Software (LGS) in a manner that the latter was not designed for, which could result in LGS hanging. This is because G Assignments 3 makes use of LGS Debug Interceptor.
  • Profile Changes. G Assignments 3 can optionally make changes to your LGS application profiles (in particular, your Lua scripts). This could render them inoperable, meaning that you could lose your settings. Although G Assignments 3 attempts to make back-up copies of any profiles it changes, you’d be mad not to keep your own backups somewhere safe. More…
  • Virus Alerts. G Assignments 3 works by interfacing with LGS in a similar manner to how some virus programs operate. As such, it may trigger an alert from your anti-virus software.
  • Limitations

  • Installation. G Assignments 3 does not have a sophisticated installation program or automated uninstaller.
  • No Overlay. G Assignments 3's window will be hidden beneath any DirectX or OpenGL application that runs in full-screen mode. Unfortunately, this means most games.
  • Help. Other than this page, there is no help or documentation.
  • Templates. Only two hardware-specific display templates are provided (although you can create your own).
  • Per-key Colours. Per-key colour settings (eg, G910) cannot be read.
  • Testing. G Assignments 3 has only been tested with one specific keyboard and mouse. No headsets, left-handed controllers or wheels have been tested.
  • Error Recovery. For example, malformed User file names can cause crashes.


You accept the risk that G Assignments 3 could break your computer and/or stuff up its software, data, etc.

System Requirements

G Assignments 3 should run on any recent 64-bit version of Windows, with any version of LGS, and with any Logitech gaming devices that have G-keys. However, it has only been tested on Windows 7 64-bit, English, with Logitech Gaming Software version 8.70.315 running a G19s keyboard and G500s mouse.

G Assignments 3 definitely won’t work on 32-bit systems, and non-English character sets may cause problems.


Ensure LGS is installed and running.

Using LGS, export and save all of your LGS application profiles. This should be done for all users who plan to use G Assignments 3.

Download the installation file (approx. 1 MB) here:

Create a folder for your installation. A good choice would be C:\Program Files\G Assignments 3.

Find the file you downloaded (“G Assignments 3”) and copy all of its contents into your installation folder.

Optional: create Start Menu shortcuts to “G Assignments 3 Profile Parser.exe” and “G Assignments 3.exe”.

Optional: set “G Assignments 3.exe” to run at start-up.


Two programs need to be used:

  • G Assignments 3 Profile Parser finds and saves information on your LGS profiles’ G-key/button assignments.
  • G Assignments 3 listens to communications from LGS notifying of profile and M-state changes, and displays the corresponding G-key/button assignments using the information saved by Profile Parser.

G Assignments 3 Profile Parser

G Assignments 3 Profile Parser does two things:

  • On first use, a collection of HTML display files needs to be produced. These files will list the G-key/button assignments applicable to every combination of LGS profile, hardware device and M-key, and describe the formatting that should be used to display them.)
  • Changes need to be made to each of your LGS Lua scripts that will cause them to send information about profile and M-key state changes to G Assignments 3.

To avoid possible conflicts between Profile Parser and LGS, you must exit LGS before you can use Profile Parser. You can do this via the context menu of the LGS icon in the system tray’s notification area.

Start “G Assignments 3 Profile Parser.exe”.

Profile Parser will attempt to detect which compatible Logitech gaming device(s) you've got, and will list these in the 'Device' column. If there are errors (eg, because you have, or have had, more than one mouse), select device(s) you're currently using.

For each device, a different template can be used to produce the files to display. To create your own template(s), see here. Select the most appropriate template for each of your devices. The 'generic' templates should support all devices, but may display too many G-keys/buttons and lack artwork.

If you trust this program to make changes to your LGS profiles, select 'Update scripts'. If you don't select this, you will need to manually change your scripts (see Custom Scripts).

Click 'Go!'.

When you're notified that the process has finished, close G Assignments 3 Profile Parser.

Restart LGS. (It should have an entry in your Start Menu.)

Verify that your profiles (and especially scripts) are undamaged. In addition to the backups that you should have created earlier, G Assignments 3 Profile Parser creates backup copies of your profiles in %LOCALAPPDATA%\Logitech\Logitech Gaming Software\Profiles (ie, something like C:\Users\Peter\AppData\Local\Logitech\Logitech Gaming Software\Profiles).

You will need to repeat the above steps whenever you make relevant changes to profile assignments (ie, creating/depeting profiles, or altering command names and mappings). You will not need to do so if you only change how a command is implemented (eg, which keystrokes it comprises).

G Assignments 3

To see the list of G-key/button assignments that are applicable to your current LGS profile and M-key state, run G Assignments 3. You may need to run it with administrator privileges.

Whenever LGS changes profiles (because you've changed whichever program has focus), the G Assignments 3 display will update. (An exception is when G Assignments 3 itself is activated. This allows subsequent mouse clicks on G Assignments 3's window to be applied to the previously-active application.)

If the currently-displayed device has more than one M key, the display will update when you change M-key states by pressing an M key.

To display information for a different hardware device (if you've got more than one relevant device), click anywhere on G Assignments 3's window.

To display the next relevant user-created display file (if any), hold down a shift key and click anywhere on G Assignments 3's window. If there are no more user files to display for the current profile, device category and M-state, G Assignments 3 will revert to displaying the relevant assignment file generated by Profile Parser (if any).

To hide/redisplay G Assignments 3's title bar and border, hold down ALT and click anywhere on G Assignments 3's window.


You don’t need to customise anything to use G Assignments 3. However, extensive customisation is possible. In particular, you'll probably want to customise your display file template(s).

Display File Templates

The profile HTML files generated rated by G Assignments 3 Profile Parser are derived from templates. A template is a simple HTML file that contains 'placeholders' that will be replaced by information relevant to the profile and M-state to which it is being applied.

Despite being HTML files, display files are not interactive (eg, you can't click on links to navigate to other documents).

The only device-specific templates provided are for the G19s and G500s. In addition, there are generic templates for each device category (mouse, keyboard, etc).You can edit any of the provided templates, or create your own.

File Names

Templates are stored in the Templates subfolder of your installation folder. The file naming convention is [DeviceCategory].[DeviceModel].html. [DeviceCategory] must be one of hs (headset), kb (keyboard), lhc (left-handed controller), mouse or wheel. If [DeviceModel] is the exact term used in your LGS settings.json and XML profiles, Profile Parser will default to using this template. However, you can use anything you like for [DeviceModel], which allows you to have multiple templates per category.


The following placeholders are available:

PlaceholderReplaced With
{Name}Name of the currently-active LGS profile (eg, "Firefox").
{M}Currently-active M-key state (eg, "2").
{G1}LGS command name assigned to G1 key in this M-state (eg, "Browse back"). {G2} to {G29} are also available.
{Colour}The colour assigned to the current profile and M-state (eg, "#80FF00"). Per-profile colours, if any, are taken into account. Per-key colour settings (eg, G910) are not supported.
{DarkColour}A darkened version of {Colour} (eg, "#408000").
{LightColour}A lightened version of {Colour} (eg, "#C0FF40").

You can use a placeholder in a template more than once, in which case every instance of it will be replaced by the appropriate text.

As an example, you could set a profile-specific background image for your display files using something like this:

    <body style="background-image: url({Name}.jpg);">

Obviously you'd have to provide the required image files and place them in the Display Files folder.

If you want background images that are also M-state specific, try:

    <body style="background-image: url({Name}.{M}.jpg);">

After changing a template, you'll need to run G Assignments 3 Profile Parser again, to regenerate the profile HTML files. The files are stored in the Display Files subfolder of your installation folder. You can inspect and test them there.

Individual Assignment Files

The HTML files generated by G Assignments 3 Profile Parser are stored in the Display Files subfolder of your installation folder. The files are named GAss3.[ProfileName].[DeviceCategory].M[m].html. You can edit—or totally replace—the content of any of these files. G Assignments 3 will display the modified/replaced content.

G Assignments 3 resizes its window to tightly fit the content of the HTML file. Therefore, for best results, explicitly set the page size of your HTML. Look at the provided templates for various ways to do this.

If you run G Assignments 3 Profile Parser subsequently, it will over-write any changes you've made to individual HTML display files. Ergo, you should keep copies of your modified files so you can reinstate them if need be.

User-created Files

In addition to displaying files generated by Profile Parser, G Assignments 3 can display arbitrary HTML files that you provide. Each such file must be associated with a profile, device category and M-state. You can have more than one file for a given combination of profile, device category and M-state. You can use such files to remind you of the usage of Logitech peripherals that don't employ LGS, non-Logitech peripherals, or any other notes relating to the program to which the profile applies.

G Assignments 3 determines the applicability of each User file from the file's name, which must be of the form User.[ProfileName].[DeviceCategory].M[m].[sequence].html. [DeviceCategory] must be one of hs (headset), kb (keyboard), lhc (left-handed controller), mouse or wheel. [m] is an M-key state (1/2/3); if the device has no M keys, use 1 for [m]. [sequence] must be an integer starting with 1 that identifies the sequence number of this file (among those for the same profile, device category and M-state).

User files must be stored in the Display Files subfolder of your installation folder.

Despite being HTML files, display files are not interactive (eg, you can't click on links to navigate to other documents).

Some example User files are included in the installation file. To see these in operation, you'll need to create an LGS profile called Notepad and allow Profile Parser to make the necessary changes to that profile's script (or make the changes manually).


A minimal (default) script that has been modified by G Assignments 3 Profile Parser looks something like this:

The changes are the insertion of the function call to GAss3, and the GAss3 function itself. If you opt to disallow G Assignments 3 Profile Parser from making changes to your profiles, you will need to make equivalent changes manually to any profiles that you wish to use with G Assignments 3.

You can tailor the GAss3 function if you like. However, be careful not to make changes that could interfere with subsequent use of G Assignments 3 Profile Parser. Issues are:

  • The GAss3 function call line is used to determine whether the script has already been modified for use with G Assignments 3. If the line is missing or changed, the profile parser may insert additional code.
  • The GAss3 function definition is assumed to lie between the "function GAss3" line and the "end --GAss3" lines. Profile Parser may not be able to delete or update the GAss3 function if these lines are changed.
  • Any changes you make to the GAss3 function may be over-written if you subsequently run G Assignments 3 Profile Parser.


Delete G Assignments 3 Start Menu shortcuts, if you created any.

Stop G Assignments 3 from running at start-up, if you configured your system to do so.

Delete all the files and sub-folders from your installation folder.

Removing G Assignments 3 will not remove any changes you’ve allowed it to make to your LGS profile scripts. The changes will not have any observable side effects. If you want to remove the changes, import your saved copies of your LGS profiles, or manually remove the lines added by G Assignments 3 Profile Parser.

Release Notes

Version 2.0

  • Can work with LGS-managed headsets, left-handed controllers, mice and wheels.
  • Can display arbitrary user-created HTML files.
  • Changed user interface controls.
  • Changed display file naming convention.
  • More display file templates provided.

Version 1.0

  • Initial release.


You can contact Gondwana Software here. Alternatively, try the Logitech ‘Scripting and SDK’ forum.