LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

CVI touchscreen compatibility

I have a potential application coming up where I will need to program a panel PC that has a touchscreen. Very similar to what is seen in a restaurant.  I assume there is a way to do it but I don't what it is. Any suggestion where I start?  PC is Windows XP, CVI version 7.1.
Thanks
0 Kudos
Message 1 of 6
(4,090 Views)
Touchscreens on panel PCs are normally implemented as standard mouse-type pointing devices. So you just program normally using EVENT_COMMIT events on buttons etc, and it all works.
 
Martin.
--
Martin
Certified CVI Developer
0 Kudos
Message 2 of 6
(4,084 Views)
Hi davep,
 
  I personally use the EVENT_LEFT_CLICK instead of EVENT_COMMIT.  The primary difference between the two is that EVENT_COMMIT occurs as you release your finger from the touch screen, and EVENT_LEFT_CLICK occurs as you contact the touch screen.  This can make a big difference between usability if untrained users will be interacting with the screens.  Most people think that if you touch the screen and slide you finger slightly off the control, that it should still accept the touch event.  This is best done with EVENT_LEFT_CLICK.
 
  This can bring up another scenario that may or may not apply to you as well.  If you have the user touch a button on the screen, that must be held down for an action to continue to occur, then you will have to deal with what happens when their finger does slide off the control--from vibration, slippage, or laziness.  If you have lots of this to do, you might consider panel event tracking instead of control event tracking.  This is usually done less often these days, but occasionally it is useful.
 
  Also, you have to be very careful on how you deal with the double-click situation.  If your users have the opportunity to double enter a value, i.e. 5-5-1-3, you don't want your program to count the second 5 as a double-click and get 5-1-3.  The way that I beat this usually is to turn the mouse double click time down to the lowest possible duration using the control panel.  This way average users won't be fast enough to trigger the double-click--unless they have been drinking way too much coffee! 😆
 
  Then, you also must be knowledgeable on how your touch screen deals with multiple touches.  For example, the touch screen will sometimes average the two touches, sometimes it will stay on the first touch coordinate, and sometimes it will jump to the second.  This again comes back into play when the user has to hold their finger over a control to make an action continue to occur.  This is a situation where it is a human error, but if it results in someone getting their arm chopped off, you are not going to be a very happy camper--or will they!
 
  Also there are different types of touch screens.  Your environment will dictate which technology is appropriate, but the ones that most users find as natural are the resistive or the capacitive.  The infrared screens are great too, but users need to remember to clear their finger from the beam before they can double enter a value.  Just some of my experiences....  I've been using CVI with different types of touch screens for about 5 years now.  Most scenarios are manageable, but they each require careful consideration on your part.
 
Good luck,
Orlan
0 Kudos
Message 3 of 6
(4,053 Views)
Oh yeah,
 
   You might also consider making all controls indicators instead of hot or normal--if you can.  This is somewhat of a style issue, but sometimes you don't want focus to be revealed for the last button that was touched on the screen.  Again the EVENT_LEFT_CLICK works perfectly with this, but there is no EVENT_COMMIT for indicator buttons.  I say that some of this is style related, but some of it is also performance related.
 
   Some sealed touch screen computers are a little under-powered with respect to the CPU, to allow them to deal with their environment (less heat, less power, etc.).  Wasting a bit more CPU making the buttons turn dark to appear depressed, and then lighten back up to appear released is kinda unnecessary as far as most end-users are concerned.  If your touch screen is operating in daylight or bright illumination, your users may never even recognize the darkening effect until you point it out to them.
 
   OK, OK, last few points....  Keep buttons large enough for big fingers.  And never use color alone to highlight or draw attention to something when you can add text.  This is true of most software but in industrial and some commercial applications you have to be very sensitive to color-blindness issues.  If there is a big green start button right next to the big red emergency stop button and they look just alike except for the color, you may have an accident on your hands.  You may already know all of these--hopefully you do--but if not, there you go!  😆
 
Orlan

Message Edited by cosmo on 07-14-2005 11:28 PM

0 Kudos
Message 4 of 6
(4,051 Views)
Orlan,
Thank you for the very informative post. 
Dave Palmer
0 Kudos
Message 5 of 6
(4,041 Views)

I have tried the attached on the tablet under Win10. The touchscreen distingueshed EVENT_COMMIT (any touch of control) , EVENT_RIGHT_CLICK (long hold over control), and EVENT_LEFT_CLICK_UP (touch somewhere on the panel and release on the control).

0 Kudos
Message 6 of 6
(3,262 Views)