Reviewed in Canada on August 12, 2021
Logitech G502 Lightspeed mouse is very good, but there are little issues and annoyances with most of its aspects, so I will mainly focus on those.
Ergonomics are between fair and good. I am using palm grip, and I have medium hands. The overall shape is nice and compact-ish. The 'Forward' thumb button's placement feels perfect to me. The 'Back' thumb button (the one closer to the wrist) is a bit too near for my liking, while the G6 'Sniper' button is too far, so I have to slightly shift my grip to reach it with the tip of my thumb. The G9 button on top is virtually inaccessible without completely removing your hand from the mouse (in front of the wheel at the very tip of the mouse would have been so much better - and yes, I have an old mouse like that... from Logitech!). The G7 and G8 buttons are flush with the Left button, so while easy enough to reach, it's a bit hard to feel them with the fingertip (form over function). The WheelRight button is much more difficult to click than WheelLeft, and that's simply because the main/Left button is a bit concave, with a lip of sorts towards the wheel, so pressing WheelRight tends to also press on that lip, and sometimes trigger a Left click. Lastly, the MicroUSB charging cable is hard to extract from the very deeply recessed charging socket. Yes, I am sort of nitpicking, but I feel that a top of the line mouse could have benefited from some actual usability testing - and not just a slick CAD design.
Software. It is not absolutely mandatory, but it lets you re-configure most things and buttons, so it is almost inevitable. It is called G HUB (or often GHub), and it's not as bad as some think. It is relatively feature-rich and functional, but the interface is often enigmatic and far from discoverable (it's a technical term). Here are some notes and examples. The Gear button remains unchanging, but can open either general GHub options or the device's options - depending on the active screen, so it all works, but it's not a good GUI design. Several recent releases refuse to install under Win7/x64 (2021.3.5164 worked for me), but you can later update to newer ones from the already installed copy, which is fine but incoherent. All recent installs have an issue with driver signing for logi_core_temp.sys, which is LGHUB Core Temperature Service, and which I don't care about - as everything mouse-related works fine without it (the driver appears to be signed with certificates Win7 may not have by default, just ignore this whole issue). The installation itself is huge at close to 750MB, with around 200MB duplicated in 2 different folders. This doesn't cause any problems, but it's just shamefully inefficient.
Software functionality. We can adjust some general settings (e.g., DPI and lighting) and re-assign all buttons. Can't have separate X and Y sensitivities. Macros are quite powerful. You can adjust delays, and even play with individual down and up sub-events for a given button (a.k.a. make/break events). While seemingly undocumented, the macro editor supports some more or less advanced features: multi-select, drag-and-drop, copy/paste. None of this is indicated in the GHub panel though, so you have to experiment and discover these things by trial and error.
Two modes. The mouse can work in the default "Software mode" or in the "On-board mode". In the former, it is GHub that receives events from the mouse and decides what to do with them (click something or issue a keystroke or play back a macro or even a script). In the On-board mode, general setup and button assignments (keystrokes and simplistic macros) are "uploaded" to the on-board memory within the mouse itself, which has space for up to 5 separate profiles. In this mode, GHub is not doing anything. Which is precisely the way I like things (seeing as GHub is such a huge beast, with up to 6 drivers and services, and what not). And since switching the mouse into this marvelous On-board mode is far from intuitive, let me tell you how one goes about it (going from memory, so some steps may be slightly off).
First, configure the mouse the way you like it in Software mode. In this 'state' too you can have multiple profiles, e.g., the default Desktop profile, and some application-dependent profiles, but let's assume we're working with just a single default profile. Once it's configured, we go to the mouse options page by clicking that Gear button at top/right - within any mouse-specific screen (otherwise, you end up in GHub's global settings, like I said before). In that screen, set "On-board Memory Mode" to "ON". The setup screen gets a cyan-background prompt at the bottom "Enable software control to configure it and access all features", but accepting this "helpful" offer appears to be equivalent to turning the On-board mode back off and switching back to Software mode, so just ignore that silly prompt. So, the mouse is now in On-board mode, yay, but don't expect the mouse to behave the way you just configured everything in GHub. That's because merely switching to On-board mode enables the default hardware Profile 1 (out of 5) in its default state (well, last state, to be precise), which does not contain any of our carefully thought-out customizations. We now need to "upload" our 'software' setup into the mouse. This is accomplished by clicking (or right-clicking, I can't recall) the desired on-board profile, and selecting from the unintuitively laid-out pop-up menu the lower option "Replace with"... "Desktop" - as that was our default Software-mode profile. Once you do that, you'll get little animated dots for a few seconds (upload process, I guess), and after that the mouse should behave as it was set up in Software mode. There. Note that it appears to be impossible to load (read back) a certain onboard profile back into the software to edit and re-load it, so don't lose your potentially extensive customizations (see below).
If the mouse is in On-board mode, and is configured as desired, we can get rid of GHub. You could uninstall it if you like, or leave it on one computer and move the mouse to another. Basically, the mouse becomes 100% stand-alone, and you are free to use some light and efficient program to do something useful with all its buttons. I am using AutoHotkey for this, but you are free to use whatever suits you.
Additional GHub-related notes.
The file %LOCALAPPDATA%\LGHUB\settings.json contains all device settings. Back it up if you modify the setup extensively.
It's in plain-text XML-style JSON format, and you can carefully edit it if you like (probably best done with GHub closed, and subsequently re-launched). You can, for example, create exotic keystroke assignments. Search the file for "cardId" values that look like GUIDs and end in a "01XX00000000" pattern. These XX are hexadecimal "USB Scan Codes" (google Scan Codes Demystified by John Savard) that you can also find in the "Universal Serial Bus (USB) HID Usage Tables" document (hut1_12v2.pdf) section "Keyboard/Keypad Page (0x07)" starting on page 53. Useful if F13~F24 and the like aren't enough for you. Codes you could try: 85, 88, 8A, 8B, 90, 91, 93.
It appears to be impossible to have an on-board button perform both G-Shift and DPI-Shift together, at the same time. This might be possible via a LUA script, but those are executed by GHub, and so are not on-boardable.
My personal preferred setup is along these lines: G6 'Sniper' button set to G-Shift. This gives me 7 additional easy-to-click buttons, plus 3 more buttons that are almost impossible to click with one hand (thumb back/forward and G9, which can be assigned to seldom-used functions, like battery level indication). No GHub at all after that, just AutoHotkey doing all the work.
To end on a positive note, most everything else is quite excellent. In particular, button feel is great, with no 'play' in any of them. We'll see how long they last before starting to suffer from the dreaded double-clicks or other erratic behaviour. Then again, that's where the 2-year warranty comes in. Bottom line: G502 could stand some minor improvements here and there, but it's still a generally very good mouse.