Touchscreen Keyboard
An optional touchscreen keyboard can be displayed before or after the shooting sequence to collect information such as an email address or a guest’s name.
Enabling the keyboard
Open Photobooth Settings, set the start option to Touchscreen, and click Settings… to open the Touchscreen Settings dialog.
Select a keyboard option:
- Not displayed — keyboard is disabled
- Email input at start of sequence — shown before photos are taken
- Email input at end of sequence — shown after photos and optional print confirmation
- Email input after taking photos — shown immediately after photos, before print confirmation
- Message input at end of sequence — collects a free-text message; stored in the {message} token
Set a Timeout to automatically close the keyboard after a period of inactivity.
Enable Show mouse cursor to allow booth operation without a touchscreen.
Customising the keyboard
To customise the layout, create a keyboard.xml file in the photo booth images folder. Save a copy of the default keyboard XML by opening the keyboard test, then holding Shift+Ctrl and left-clicking.
Key XML elements:
| Tag | Purpose |
|---|---|
<prompt1> |
Text displayed above the input field |
<text1_x>, <text1_y> |
Position of input field |
<text1_r> or <text1_w> |
Right edge or width of input field |
<background_color> |
Background colour (hex RGB) |
<key> |
Defines a key with position, legend, and action code |
Add up to 10 input fields using <prompt1> through <prompt10>.
Prompt attributes:
mandatory="1"— user must enter text before OKemail_address="1"— validates as an email addresspassword="1"— masks input with asterisksrows="3"— multi-line inputid="name"— identifies the field for survey data tokens
Checkboxes
Add up to 10 checkboxes using <chkbox1_prompt> through <chkbox10_prompt>. Set mandatory="1" to require the checkbox to be ticked. Use id to name the checkbox for token access.
Radio buttons
Use <radio_btn> tags with a group attribute to create sets of mutually exclusive options. Access selected values via {survey1_radio_groupname}.
Special key codes
| Code | Action |
|---|---|
OK |
Close keyboard and accept input (requires mandatory fields complete) |
OK none |
Accept input even if no text is entered |
Cancel |
Close and discard input |
Close |
Close and return to ready screen |
Shift |
Toggle upper/lower case |
Delete |
Delete last character |
Clear |
Clear all input fields |
info |
Display optional info screen |
info close |
Close the info screen |
Keyboard image files
Custom keyboard appearance can be defined using TIFF (or JPEG) images named:
keyboard_lowercase.tifkeyboard_lowercase_pressed.tifkeyboard_uppercase.tifkeyboard_uppercase_pressed.tif
When keyboard images are present, the <prompt>, <legend>, and <background_color> tags in the XML are ignored. Use the XML only to define key positions and actions.
Email, message, Twitter, and MMS keyboards use the same naming pattern with their respective prefixes (email_keyboard_, message_keyboard_, twitter_keyboard_, mms_keyboard_).
Data storage
Text entered by the user is saved in the XML photo booth summary file in <user_data> (and <user2_data> for a second field). Checkbox status is saved in <chkbox1>, <chkbox2> etc.
Use the token {user1_data} in print captions to display the entered text on prints.



