Display Touch Screen Keyboard when saving file

Can somebody explain to me, how can I display keyboard on touch screen panel PC, which is without physical keyboard and mouse, when I prompt user for filename to save?
[attachment=0]disply_touch_keyboard.PNG[/attachment]
I know about system.gui.showTouchscreenKeyboard(initialText [, fontSize] [, passwordMode]), but I can’t figure it out, where to put this… so that keyboard will be visible, when the save file prompt is visible…?

This is my code:

[code]import system, datetime
now = datetime.datetime.now()
timeStamp = str(now)
nameDateFile = now.strftime("%d%m%Y_%H%M%S")
filename = “%s_stroj_avtomatsko.csv”%(nameDateFile)

capture the table and do the export

table = event.source.parent.getComponent(“Table”)
path = system.dataset.exportCSV(filename, 1, table.data)

sanity check to make sure the file we exported was created

if path != None:
contents = system.file.readFileAsString(path)
fixed = contents.replace(’.’, ‘,’) # simple replacement of periods with commas
system.file.writeFile(path, fixed)[/code]
I found TouchScreen mode operation very inconsistent (I hope this is the right word) in Ignition.
Not all components are designed to be ‘Touch mode friendly’… for example DateRange component… it’s very hard to select date range on such a small bar… and there is no way to change the height of the selection bar…

:question: :scratch:

I’ll admit it. I’m stumped. I could get a keyboard to show, but it was pre-empted by the save dialog. :confused:

BUT… I could get it to work with the Windows OSK (On-Screen keyboard).

In the mousePressed event:

import os os.popen("osk.exe")

In the actionPerformed event:

[code]import system, datetime, os
now = datetime.datetime.now()
timeStamp = str(now)
nameDateFile = now.strftime("%d%m%Y_%H%M%S")
filename = “%s_stroj_avtomatsko.csv”%(nameDateFile)

capture the table and do the export

table = event.source.parent.getComponent(“Table”)
path = system.dataset.exportCSV(filename, 1, table.data)

sanity check to make sure the file we exported was created

if path != None:
contents = system.file.readFileAsString(path)
fixed = contents.replace(’.’, ‘,’) # simple replacement of periods with commas
system.file.writeFile(path, fixed)

os.popen(‘taskkill /IM osk.exe’)[/code]
The only thing I added to your script was the os import and the line to kill the OSK at the end.

This ‘solution’ is working in Win7, but in Win10 does not… :slight_smile:
[attachment=0]2016-02-24_092626.png[/attachment]