Switch Between Thai and English Keyboard

Hi all, I’ve been looking at how to get kitchen tickets to print in Thai and I think we can do this with tags (storing the translation in a tag) however this doesn’t help for notes on tickets.

Is there a way I can make the restaurant terminal on screen keyboard switch between Thai and English? Thai restaurant staff take delivery orders as well, (which need to be typed in English so the driver see’s it on his delivery ticket), however they also need the ability to write ‘notes’ on item lines in Thai for the kitchen staff. I think changing the default windows input language from English to Thai will change the SambaPOS keyboard, but its not practical to change it every time you want to create a delivery order.

Has anyone got any ideas?

Unfortunately, there is no facility to change the Ticket Note behavior. We do not have access to the way it works, nor the variable that stores the Note itself

However, you could design your own Note system as a Ticket Tag (i.e. {TICKET TAG:Note}. Then you can define your own Custom Keyboards using [?prompt] to display input entry and the Custom Keyboard…

You could even use the Ask Question Action to pick the language, for example, give a choice of displaying/editing English or Thai, and even store both Notes as Ticket Tags, such as:


Or you could just use 2 different Automation Commands (buttons) for each type of Note, and not use the Ask Question Action.

However you set it up, you will probably want to Unmap the Default Ticket Note Automation Command so that it is no longer shown on the screen.

@QMcKay Thanks Q! One potential issue though doesn’t the custom keyboard get mapped using keycodes, which depend on the selected input method on the terminal? My custom keyboard would have Thai characters rather than the traditional alphabet. I’ve seen some examples here in Arabic, but not sure if its possible to switch between that and English when required?

Interesting point, and you are probably correct. I don’t understand enough about Keycodes and Locale to answer your question unfortunately.

If that is the case, I wonder if it would be possible to use a Start Process Action to invoke a BAT file or Powershell script to flip Locale Culture back and forth?

I wonder if that requires reboot or logoff/on though? Might be worth investigating in any case.

Here is a list of some codes:

So you could try:

Set-WinUserLanguageList -LanguageList th-TH