LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Popup Win10 Keyboard with Touchscreen

Solved!
Go to solution

Hello together,

 

my newest pogram is to be a visualisation of several instances running in an automation process. As usual, there has to be a service mode, to configure some variables. Herefor, the user has to sign in with a password. The Problem is, the service computer is an all-in-one panel with touchscreen, no keyboard connected. So i need a popup keyboard by touching the string input field.

I configured windows to popup the onscreen keyboard and it worked in windows instances as explorer. Indeed Labview's string input is not recognized by windows in such a way. Is there any common solution by Labview solving this touchscreen popup keyboard problem?

 

Thx for help

 

Edit: Enable windows taskbar and manually popup the onscreen keyboard is not a solution for my problem as the hole thing has to run in fullscreen mode, so the user may not be able to enter any other programs.

0 Kudos
Message 1 of 11
(6,855 Views)

Use the Mouse up event of each editable control to launch a virtual keyboard vi (check for example this link).

Paolo
-------------------
LV 7.1, 2011, 2017, 2019, 2021
0 Kudos
Message 2 of 11
(6,825 Views)

Thx, but that would be a rather complicate solution. Is there any other way? Isn't it possible to teach the labview string input for windows?

0 Kudos
Message 3 of 11
(6,819 Views)

AFAIK, no. LabVIEW controls are not native Windows controls. Remember that LabVIEW is a cross-platform programming tool, so its "objects" would not be managed directly form the host OS.

In the FP palette there are so called "System controls". You may try a quick test with one of these. But I think they only differ from the other controls only in terms of appearence.

Paolo
-------------------
LV 7.1, 2011, 2017, 2019, 2021
0 Kudos
Message 4 of 11
(6,810 Views)

LabVIEW seems to take input from my Win7 on screen keyboard.  Maybe you need to return focus to the LabVIEW program after launching the keyboard?

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 5 of 11
(6,801 Views)
Solution
Accepted by topic author LabMartin

It does take input of course, since the on screen keyboard in Windows simply emulates a real keyboard, sending the appropriate events to the Windows system to be distributed to whatever application has the key focus at that moment.

 

The problem is that he wants the OSK to open automatically when the users selects a string control but in order to do that he has to intercept the mouse down event as already explained earlier and make the OSK appear. And no there is no other way to do this. The Windows system does not know anything about a LabVIEW frontpanel beyond the panel window itself, so can't detect when a user would select any LabVIEW control.

 

It's some extra work, but normaly on a touch screen UI you can't really have several dozen of controls anyhow so the effort is pretty minimal to add that extra code. And you don't need to create one event case per control either, but can configure an event frame to handle the same event for multiple controls at the same time

 

Rolf Kalbermatter
My Blog
Message 6 of 11
(6,790 Views)

Thx for your help guys, seems there is no way around this labview keyboard. I will try it.

0 Kudos
Message 7 of 11
(6,780 Views)

FYI

 

There is another method to use the virtual keyboard in windows 10. You can use .net control elements. Just use a .net container and select a control. Now it is possible to enter e.g. a text via windows virtual keyboard.

 

Regards

Kay

0 Kudos
Message 8 of 11
(5,587 Views)

Hi

  I have same issue, i tried with system icon but its not working, can someone help me out 

0 Kudos
Message 9 of 11
(4,912 Views)

Well there is of course a way to do this without actually having to create the neccessary event cases for mouse events everytime. It is however far beyond LabVIEW beginners level to make that work. It involves writing a VI library that creates a background task with a dynamically launched VI. Write another VI that creates an instance of the background VI and pass it an array of control refnums that you would want to have register for the OSK keyboard (or pass the VI refnum if you want to have all controls register although you don't really need the OSK for buttons for instance. The background VI can register an event structure for certain events and then perform something in there, such as checking if the OSK is already active and if not activate it and make sure that the original LabVIEW panel and control has still the Key Focus.

It's a bit more work than a quick and dirty example VI and while we use such VIs in our company, they can not be distributed publically for copyright reasons. Our variant doesn't actually use OSK but implements a control type sensitive LabVIEW popup panel with only a numeric keypad for numeric controls.

One complication this can pose is that this registers certain events for a control and it is a very bad idea to have two event structures try to register the same event for the same control. It results in the situation that it is anyones guess who of the two will receive the actual event so that the behaviour gets erratic. So if you use such a solution don't try to register in your own VI the same events again for some further control customization.

That all said, unless you plan to go into mass creation of multiple LabVIEW applications for touchpanel displays the effort to create such a library is definitely many times higher than to bite the apple and add the necessary events yourself to your frontpanel VI that needs to have touchpanel keyboard support.

Rolf Kalbermatter
My Blog
0 Kudos
Message 10 of 11
(4,882 Views)