--- title: "system.vision.showTouchscreenKeyboard" description: "Displays a modal on-screen keyboard, allowing for arbitrary text entry using the mouse, or a finger on a touchscreen monitor." --- # system.vision.showTouchscreenKeyboard > Displays a modal on-screen keyboard, allowing for arbitrary text entry using the mouse, or a finger on a touchscreen monitor. :::info Backwards Compatibility This function replaces [system.gui.showTouchscreenKeyboard](versioned_docs/version-8.1/appendix/scripting-functions/system-gui/system-gui-showTouchscreenKeyboard.md). Any scripts containing Vision Client scoped functions that were replaced with system.vision syntax will still work to maintain backwards compatibility. ::: This function is used in **Python Scripting**. ## Description Displays a modal on-screen keyboard, allowing for arbitrary text entry using the mouse, or a finger on a touchscreen monitor. Returns the text that the user entered. :::note This function is available on secondary desktops via the [system.vision.desktop](system-vision-desktop.md) function. See the [Multi-Monitor Clients](ignition-modules\vision\common-tasks-in-vision\multi-monitor-clients\multi-monitor-clients.md) page for more details on secondary desktops. ::: ## Client Permission Restrictions This scripting function has no [Client Permission](../../../ignition-modules/vision/vision-project-properties/vision-project-properties.md#vision-permissions-properties) restrictions. ## Syntax `system.vision.showTouchscreenKeyboard(initialText, [fontSize], [passwordMode])` ### Parameters Type | Parameter | Description ------- | ------- | ------ String| `initialText` | The text to start the on-screen keyboard with. Integer| `fontSize` | The font size to display in the keyboard. [optional] Boolean| `passwordMode` | A True value will activate password mode, where the text entered is not echoed back in cleartext. [optional] ### Returns **String** - The text that was entered in the on-screen keyboard. ### Scope Vision Client ## Code Examples ```python title="Example #1" # This function is a holdover for backwards compatibility. Input components now know when the client # is in Touch Screen mode and respond accordingly. # This would go in the MouseClicked or MousePressed action of a Text Field or similar component. if system.vision.isTouchscreenMode(): event.source.text = system.vision.showTouchscreenKeyboard(event.source.text) ```