Wednesday, October 14, 2009

Inno3D GeForce 9500 and LG 15-inch Touch Screen LCD

With our POS touch screen damaged and cracked due to the evacuation during the flood, I bought a new PC set + an LG 15-inch touch screen (our previous ADC unit was imported from Taiwan but the manufacturer has gone out of the LCD business already). I also got an entry-level Inno3D GeForce 9500 video card which came with an analog VGA port and a DVI port at the same time. I wanted our POS to support dual LCD's -- the touchscreen one facing the cashier, and a regular one facing the customer showing his orders (basically replacing the display pole).

Since the LG touch screen uses a VGA connector, and the cheapest LCD screen (Hanns-G) I can get at PC Express also uses a VGA connector, I bought a PHP100 VGA-to-DVI adapter. That way, both monitors can be connected to the GeForce at the same time. Installing the Inno3D video drivers produces a small icon on the system tray that allows you to do quite a few things with your monitor -- horizontal span; vertical scan; and even flipping it 90-degrees to the right to make it portrait mode. And since the LG's screen can be pivoted between landscape and portrait mode, the two together allows one to setup a vertical layout desktop layout.

The modes that interested me were the horizontal span and the extended desktop. Under horizontal span, the two monitors are treated as one very wide monitor. So moving the mouse from one screen to the other is just a matter of pushing it over the edge of one monitor into the other. The Windows "Start" button is on the left monitor, while the system tray is on the right monitor. I can open the main order taking program on the left monitor, and the customer digital signage display on the right monitor. The only problem is it confuses the touch screen driver. The driver still thinks its on 1 monitor. So touching the upper right corner of the left monitor causes the mouse to run to the upper right corner of the right monitor. Obviously, this was not acceptable.

With Extended Desktop, the taskbar stays on one monitor while the other one looks like another regular desktop. From Windows' point of view, its really like having 2 x independent video cards connected to 2 x independent LCD monitors. So the touch screen driver works properly on the main monitor only and does not get confused. This is the mode that I want.

The GeForce driver seem to be emulating 2 x video adapters only because in reality, its only one. This makes it very different from notebooks which really seem to have 2 video adapters -- one for its built-in LCD display, and another for its external video out port. Because of the emulated environment, if you use 2 x different LCD resolution (eg. one at 1400x900 and another at 1024x768), it gives unpredictable results.

Modifying the POS to support 2 x monitors seem easy at first. I just followed what I did with my other test program on programming with multiple displays. But up to now, I still can't figure out why the 2nd display (the digital signage) still opens up on the same main screen. Hmm...

No comments: