Applies To:
  • CitectSCADA 5.4x

When setting up a project which was to be run in Russian I found that I was unable to switch the keyboard input locale to Russian and then be able to type Russian text into any citect string variables. 

When Citect starts it resets the current Windows input locale which is selected back to the default setting. This means that if you have English as the default, select Russian and then start Citect, it will not be possible to enter Russian characters. In most cases it is also a requirement to be able to run the system in two languages, so selection must be possible after Citect has started. Most Citect systems are configured so that the windows environment is not accessible so a way to select the required input locale from Citect is required.

Firstly the Windows input locales need to be set up so that shortcut keys can be used to switch between the required input locales. This is done from the Windows Control Panel, regional settings. I chose to use,

Left Alt + Shift + 1 = Russian Input

Left Alt + Shift + 2 = English Input.

Next it is worthwhile checking that by using the shortcuts you can change input locales.

The last step is to set up a way to send the same key sequence to Windows, from Citect. This can be done using the following CitectVBA code, this is pasted behind the button that is used to change languages in Citect.

SendKeys "+%(1)"

Where + means ALT

% means SHIFT

(1) means 1

Now when you run Citect and change languages you will be able to enter strings into Citect in both English and non-English character sets.