When the backlight is inactive on a Symbol 9090G, a keypress activates the backlight, but it also acts as a regular keypress. This was causing a problem for the users of my application so I needed to check if the backlight was active so I can ignore the keypress if it's inactive. The solution was easy with the help of the Symbol SDK.
using Symbol.Display;
public class ScreenHandler {
public static bool IsBacklightOn {
get {
bool returnValue;
StandardDisplay display = null;
foreach (Device device in Device.AvailableDevices) {
if (device.DisplayType == DisplayType.StandardDisplay) {
display = new StandardDisplay(device);
}
}
if (display == null) {
returnValue = false;
} else {
returnValue = display.BacklightState == BacklightState.ON;
display.Dispose();
}
return returnValue;
}
}
}
Update: In the previous version of this code, I wasn't disposing the display object. That caused me far too many hours of frustration, because after around 25 calls to this method, the barcode scanner would stop scanning.