This project is read-only.

Possible bug with LcdAppletCapabilities.Qvga when using the current Logitech Gaming Software (LCD driver)

Jan 21, 2012 at 5:11 PM

Hi, I'm not sure but there might be a bug when using the current Logitech Gaming Software (LCD driver). I didn't submit this to the issue tracker because I'm not really sure its a bug on your side or the Logitech driver itself (or no bug at all for that matter).

I think if you configure the LcdApplet with LcdAppletCapabilities.Qvga it should only return the Qvga LCD of the G19, but the LcdApplet.DeviceArrival event also gets invoked after a monochrome LCD arrives!? I've tested the same thing with the legacy LCD driver (GamePanel Software) and it worked as expected for me (the DeviceArrival event does not get called).

I've written a little tool to test this behavior on other machines and send it to some beta testers of my own LCD applet. This is the log of my tool with a report from the user, the user had a G19 and a G13 connected to his PC. (I've got some bug reports form users with multiple G-devices connected, so I've never noticed this behavior myself without using the LCD emulator which just got released a few weeks ago from Logitech):

 

1/20/2012 12:51:00 PM: ==== Connect LCD-Applet ====
1/20/2012 12:51:00 PM: LcdAppletCapabilities: Both
1/20/2012 12:51:00 PM: DeviceArrival: Monochrome
1/20/2012 12:51:00 PM: DeviceArrival: Qvga
1/20/2012 12:51:00 PM: IsEnabledChanged: True
1/20/2012 12:51:00 PM: IsEnabledChanged: True
 
Thees are my results while "both" is selected. The LcdTest app/text appears listed on both the g19 and g13 properly with no apparent issues. "LcdTest" showing on a solid background. White for the g19 with no aparent funtionality other than that.
 
1/20/2012 12:55:13 PM: ==== Connect LCD-Applet ====
1/20/2012 12:55:13 PM: LcdAppletCapabilities: Qvga
1/20/2012 12:55:13 PM: DeviceArrival: Monochrome
1/20/2012 12:55:13 PM: DeviceArrival: Qvga
1/20/2012 12:55:13 PM: IsEnabledChanged: True
1/20/2012 12:55:13 PM: IsEnabledChanged: True
 
These are the results when selecting Qvga. When using Qvga, the g13 monochrome appears the same (just text) as with "both" selected but the g19 now has two LcdTest apps listed. One shows the "LcdTest" text on a white background, just like when using the "both" setting, while the other app shows "LcdTest" on a black background with the button controls showing and the text "buttons to use on this device" showing.

 

 

Here is a simplified code snipped to test this behavior:

LcdApplet applet = new LcdApplet("LcdTest", LcdAppletCapabilities.Qvga, false);
applet.DeviceArrival += delegate(object sender, LcdDeviceTypeEventArgs e)
{
	// e.DeviceType can be of type LcdDeviceType.Monochrome!?
};
applet.Connect();

 

Anyway, I wanted to say thanks for your great work on the LgLcd library, it's a pleasure working with it in C# and not having to deal with a simple wrapper!

Best regards,
Alex

Jan 24, 2012 at 11:57 AM

Hi,

Thank you, I wasn't even aware that Logitech released a new software! I didn't really use my G15 recently. I'll test my library with this new driver ASAP.

About your problem, I'll look into it to see if this behavior is documented, but at first glance it seems to be a problem at Logitech side since I'm simply sending the applet capabilities to the equivalent native method of their SDK, meaning you should see the exact same behavior without using my wrapper, in plain C. I could of course be wrong, and there could be new APIs to use.

A temporary workaround for you could be to check the capabilities and the device type and ignore the monochrome device arrival.

Thanks, I'm glad this library is helpful to others! I'll keep you in touch concerning the bug.

Julien

Jan 24, 2012 at 5:31 PM

A temporary workaround for you could be to check the capabilities and the device type and ignore the monochrome device arrival.

That's what I did already (and it fixed the bug for me), I just wanted to report this issue that you might look into it.

I don't think the native API has changed, so it might be bug with Logitechs implementation. At least what I can see here the C-header "lglcd.h" is unchanged since 10/27/2008, v3.01...

Alex