Version 12.1 Unicode Edition ships with three sets of keyboard layouts. By default, one keyboard from each of these sets (corresponding to your language or locale) will be installed:
| Ctrl | Keyboards named locale - Dyalog Ctrl (e.g. UK - Dyalog Ctrl). These keyboards use what has become the "classic" Dyalog keyboard, using the Ctrl key to enter APL symbols.
The "Ctrl" keyboards shipped with Version 12.1 are slightly different from earlier versions (with the exception of the Italian keyboard, which was ahead of its time) in that the APL symbols ⊂⊃∩∪ can also be generated using Ctrl+Shift in combination with Z,X,C,V. This is useful in applications which use Ctrl+Z,X,C,V for Undo, Cut, Copy and Paste. By default, the APL session will now use Ctrl X,C,V for Cut, Copy and Paste. |
| AltGr | Keyboards named locale - Dyalog AltGr (e.g. UK - Dyalog AltGr), which are very similar to the above, except that the AltGr key (available on some keyboards) is used to select APL symbols. Note that Alt+Ctrl can be used as an alternative to the AltGr key. |
| IME | An Input Mode Editor (which is a special kind of keyboard handler) named Dyalog IME supports configurable keyboards which are defined using the same Dyalog Input (.DIN) files as the Classic Editions. By default, the IME will be configured with a Ctrl layout. The new IME does not have the APL On/Off button that previous versions had - the intention is that it will be activated using standard Windows mechanisms. |
I-Beam (⌶) has been added to all keyboards as Ctrl+Shift+I or AltGr+Shift+I.
he three families of keyboards have the following advantages and disadvantages, depending on which application you use them with:
Ctrl keyboards are familiar and likely to be the first choice for anyone with experience in using Dyalog APL. The keyboards work well in the APL session, but if you use them with other common Windows applications, many of the APL symbols cannot be entered because applications use key combinations like Ctrl+A to select all text or Ctrl+S to save the current document.
AltGr keyboards move the APL symbols onto keys which are less frequently used as shortcuts. However, there is generally only one AltGr key on a keyboard, so typing is a little less convenient. Also, some applications are starting to use AltGr-based shortcuts. For example, Google Desktop uses AltGr+G as a global hotkey.
The IME, which had been introduced with the version known as Dyalog.Net (between versions 10.0 and 10.1) as a tool for editing APL Script files, was retired in version 12.0 because it was believed that the Ctrl and AltGr keyboards would now be sufficient. However, the IME is different from "normal" keyboards in that any keystroke which is defined as producing a symbol becomes invisible to the underlying application, which only sees the character which is generated. Thus, if you use the Dyalog IME with Microsoft Word, Ctrl+A will not select all the text in your document, but always produce the symbol ⍺. Of course, this means that you can no longer use hotkeys based on Ctrl in Word when the IME is active.
Dyalog recommends one of the following two strategies:
AltGr: If you are comfortable with the AltGr keyboard and you don't have many situations where you need to type APL characters into an application in which AltGr is used for hotkeys, set your locale - Dyalog AltGr keyboard up as the default keyboard on your machine, and it should work well in all applications. You can activate the IME using the Windows Language Bar if you occasionally have a problem with application hotkeys making it hard to enter APL symbols.
Ctrl+IME: If you find that the Ctrl layout is more attractive, you can use the Ctrl keyboard most of the time, and switch to the IME if you need to enter APL symbols into an application which uses Ctrl for hotkeys. If you need to switch frequently, we recommend that you use Control Panel to set up a hotkey to toggle between keyboards (and possibly remove the AltGr keyboard to reduce the number of keyboards that you will be toggling between).
Keyboards can be configured using:
Control Panel/Regional and Language Settings/Keyboards and Languages, then press the Change Keyboards button.
This displays the following dialog box:

You can also bring this dialog box up by right clicking on the language bar and selecting Settings. You can use this dialog box to remove unwanted keyboards (and add them back again). Use the Advanced Key Settings tab to define shortcuts to switch between keyboards.
If you are going to be switching between keyboards frequently (for example, when writing documentation), you can "restore" the Language Bar so that it is easier to see which keyboard is selected (when minimized, the Language Bar only shows a small picture of a keyboard on the taskbar). When restored, it looks like this:
![]()
A few configuration options are worth mentioning.
In APL, on the Keyboard Shortcuts tab of the Options/Configure dialog, a new checkbox labeled Use Ctrl X,C,V for Clipboard allows you to decide whether APL will always use these shortcuts, regardless of what other shortcuts are defined.
The IME has a couple of registry entries which can be used to configure it - in the registry section HKEY_CURRENT_USER\Software\Dyalog\IME:
| Translate Table | Names the .din file to be used to define the input translate table. This is the same as the aplk parameter used by Classic APL systems. By default, the DIN file corresponding to your locale should have been automatically selected. |
| WantsSpecialKeys | Lists applications for which the IME will generate the characters defined in the "special functions" section of the DIN file. The IME will always do this when the application is dyalog.exe or dyalogrt.exe. By default, this key is initialized to "putty", so that special keys are processed when using the PuTTY terminal emulator. The default translate tables provided with Unix when this is used to run a terminal session which is connected to and APL system which is using a translate table which recognizes the symbols. |
| Problem: | No Dyalog keyboards installed, or keyboards were installed for the wrong language |
| Solution: | Report the problem to support@dyalog.com, providing the value of the registry key "1" in HKEY_CURRENT_USER\Keyboard Layout\Preload (this should be an 8-digit number, for example "00000406" for Denmark) |
| Problem: | Keyboard layout changes unexpectedly while typing |
| Solution | Check whether a keyboard shortcut is defined to switch between keyboard layouts: Right click on the Windows Language Bar, select Settings, and select the Advanced Key Settings tab. |