# Display Touch Screen Keyboard when saving file

**URL:** <https://forum.inductiveautomation.com/t/display-touch-screen-keyboard-when-saving-file/10935>\
**Category:** Ignition\
**Created:** [December 18, 2015, 1:40pm UTC](https://forum.inductiveautomation.com/t/display-touch-screen-keyboard-when-saving-file/10935 "2015-12-18T13:40:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![zxcslo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zxcslo/32/61610_2.png) [@zxcslo](https://forum.inductiveautomation.com/u/zxcslo)\
**Post date:** [December 18, 2015, 1:40pm UTC](https://forum.inductiveautomation.com/t/display-touch-screen-keyboard-when-saving-file/10935/1 "2015-12-18T13:40:11Z")

</div>

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…

---

<div class="post-metadata">

**Author:** ![zxcslo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zxcslo/32/61610_2.png) [@zxcslo](https://forum.inductiveautomation.com/u/zxcslo)\
**Post date:** [February 23, 2016, 9:44am UTC](https://forum.inductiveautomation.com/t/display-touch-screen-keyboard-when-saving-file/10935/2 "2016-02-23T09:44:58Z")

</div>

❓ ![:scratch:](https://us1.discourse-cdn.com/inductiveautomation/original/1X/76d1620bec252bfac07050c889ff5a91dc8a9c25.gif ":scratch:")

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [February 23, 2016, 1:39pm UTC](https://forum.inductiveautomation.com/t/display-touch-screen-keyboard-when-saving-file/10935/3 "2016-02-23T13:39:21Z")

</div>

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

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.

---

<div class="post-metadata">

**Author:** ![zxcslo](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/zxcslo/32/61610_2.png) [@zxcslo](https://forum.inductiveautomation.com/u/zxcslo)\
**Post date:** [February 24, 2016, 8:30am UTC](https://forum.inductiveautomation.com/t/display-touch-screen-keyboard-when-saving-file/10935/4 "2016-02-24T08:30:08Z")

</div>

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