On keyboards used for bidirectional languages, two characters (a Latin one and a "National Language" one) are engraved on each key and the user can select which of these characters is used, by selecting the active keyboard language (or "Keyboard Layer").
Changing the keyboard layer can be done by the user pressing one of the "Layer Change" hotkeys, or by an application issuing the WinSetKbdLayer API. In this way, the same physical keyboard is used to input text in both languages.
CUA guidelines define the "keyboard layer change" hotkeys as follows: