[Home] [Purchase] [Download] [Manual] [Acknowledgements] [Sitemap] [Release Notes] [FAQ]

Up ] New ] Open ] Save ] [ Save As ] Delete keyboard layout ] Generate Layout Install Package ] Import KBE file ] Export KBE file ] Import KLC file ] Import Mac .keylayout file ] Register Layout DLL file ] Manage language bar list ] Restoring custom layouts lost during a Windows 10 upgrade ]

Save As

Feature available in Premium, Personal and Lite editions (not available in Player edition).

The Save As dialog is invoked through the File | Save As menu item. This dialog will appear in few other situations as well, like when importing a KBE file, or choosing Save for certain layouts.

When a new layout is created, certain attributes need to be defined so that it can be properly installed. Due to the way keyboard layouts are handled by Windows, creating a new layout is more complicated than simply saving a file under a new name. A file name for the new DLL layout file does need to be defined, but it is also necessary to specify a layout’s language (i.e. locale), its descriptive textual name, generate a new unique KLID for the layout, and ensure that the new DLL file is properly registered with Windows.

Fortunately, all these obscure tasks are handled by KbdEdit as part of the Save As operation. You are only required to review the auto-generated initial values for “Layout Text”, “Register as” and “Layout file”, possibly changing them to less generic values, and KbdEdit will take care of the rest.

KbdEdit dialog Save Keyboard Layout as

Initial attribute values are based on the original values of the layout being saved. You can choose another layout to “borrow” initial attributes from, and thus override the initial values, by selecting a layout from the Base on layout list. This list contains all the layouts installed on the system, and is identical to the layout list from the Open dialog.

Checking Add to language bar list instructs the Save As dialog to add the new layout to the Language Bar list immediately after its creation. This makes it immediately accessible to all Windows applications, and spares you a visit to the Manage Language Bar list dialog.

Once all the attributes have been specified, you can click OK to create the layout. KbdEdit will save the layout DLL file under the new name, automatically generate a new unique KLID, and register it with the given attributes under the HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layouts registry key.

From that point on, the new layout becomes a fully fledged member of the Windows list of keyboard layouts. If you have decided not to check the “Add to Language Bar” checkbox, the new layout can later be added to the Language Bar list from the Manage Language Bar dialog (alternatively you can use the “Text Services and Input Languages” Windows system dialog).

More on Add to language bar list check-box

If the new layout you are saving is a modified version of a layout that is already part of the language bar list, and Add to language bar list is checked, things become more complicated. In this case, you probably don't want both versions in the language bar - more than likely you want your customized version to supersede the original one. In this case KbdEdit clarifies the situation by presenting you with the following choice:

KbdEdit popup replacing language bar keyboard layout with custom version

If presented with this question, choosing Yes will probably produce what you need: the original layout is removed from the language bar, and your customized version is introduced into its place. If the original layout was your default layout, the new version will become the new default layout.

If you opt for No, the language bar list will end up containing both original and new layout under the same language, but switching between them becomes more complicated.

More on new layout’s attributes

The three attributes that need to be specified for a new layout in the “Save As” dialog are:

  • Layout text - a layout’s unique descriptive name. This name is used by Windows as a “human readable” layout name in places like “Text Services and Input Languages” system dialog and (under certain circumstances) in the Language Bar’s list of layouts.
  • Language (or, more precisely, Locale) defines the language the layout is registered under. In the Save As dialog, language is chosen from the Register as combo.
  • Layout file is a name of a layout DLL file which contains the layout’s definition. A layout file name cannot be entirely arbitrary: it must begin with “kbd” and end with “.dll”. KbdEdit imposes even stricter limitation: custom layout DLL files it creates all begin with “KbdEdit”, to distinguish them from standard system layouts and layouts created by other tools. Hence the “Layout file” edit box only allows you to enter the “variable” part between “KbdEdit” and “.dll”

When Save As dialog is opened, these three attributes are filled with the initial values based on the original layout. “Language” attribute is inherited without change, while “Layout text” and “Layout file” are slightly modified to ensure their uniqueness.

For example, the first time you use Save As on the standard US English layout the initial values will look like this:

Attribute

Original value

“Save As” initial value

Layout text

US

US #1

Language

0409 English (United States)

0409 English (United States)

Layout file

KBDUS.DLL

KbdEditUS.dll

Note: if you plan to generate a stand-alone layout installer package for the saved layout, it is recommended that you choose a more descriptive layout file name - e.g. KbdEditUSChainedDeadKeyMultiaccent.dll instead of generic KbdEditUS.dll. The file name is used to establish layout's "identity" for the purpose of detecting and upgrading older versions - keeping the generic name can lead to file name collisions.

Let’s say you have saved a new layout using these default values. If you choose “Save As” again on the newly created layout, the initial values will now be different, reflecting the fact that the names “US #1” and “KbdEditUS.dll” are no longer available:

Attribute

Original value

“Save As” initial value

Layout text

US #1

US #2

Language

0409 English (United States)

0409 English (United States)

Layout file

KbdEditUS.dll

KbdEditUS_1.dll

The same auto-filling algorithm is used when attributes are “borrowed” from another layout from the “Base on layout” list.

Back to Administration and Deployment

Manual index

Copyright © KbdSoft 2007-2023