MSKLC - some points about it - Microsoft Keyboard Layout Creator

Discussion in 'Computer Information' started by jameshanley39, May 27, 2008.

  1. note- this is not a problem.. it is an information post.

    - Most programs use a registry hack to remap keys..swap keys around.

    MSKLC lets any key produce any characters.. though it doesn't cover
    the function keys.

    Any key you can define, can produce 8 characters.
    key, shift key
    ctrl key, ctrl shift key
    ctrl alt key, ctrl alt shift key
    caps key, caps shift key

    key, ctrl key, ctrl alt key, caps key
    is 4
    then *2 , since SHIFT.

    And regarding caps mode..
    IF you do CTRL when in that mode.. I think it turns off caps. Point
    is though, there is no option for CTRL when it CAPS.. or CTRL SHIFT
    when it caps, e.t.c.

    You just have those 8 combinations. Per key that MSKLC lets you

    It doesn't let you define ctrl or shift or space, or function keys..
    But it lets you define what most keys can produce. The number keys,
    the letter keys. And you can make them produce anything.

    You can make any letter, e.g. the so-called letter "A", the letter
    positioned there, produce greek, hebrew. And not necessarily one
    character. You can make it produce up to 4 consecutive characters. So
    it's very flexible. And each key can produce what you want.

    A few issues..

    if you define CTRL-KEY in MSKLC.. CTRL-KEY does not work in MS
    Word.. It will work in Notepad. But not MS Word.. Notice that MS Word
    already has many CTRL-KEYs already defined, so CTRL-J which (I think)
    does nothing in MS Word usually, will do nothing even if you tell it
    to do something in MSKLC. But CTRL-N which does something in MS-
    Word, will continue to create new documents as it does in MS-Word,
    even if you defined it to do something in MSKLC. So MS-Word ignores

    I used MSKLC 1.3. Since 1.4 had some GUI issue..

    I actually had some issues with 1.3 and 1.4 on one of my machines,
    where it would make the KLC file but not build it into the MSI.. I
    could build it on the good machine and run it on any other one
    though. Eventually I reinstalled windows on the problem one, and that
    problem went away. But I stuck to MSKLC 1.3 after that
    MSKLC requires the .NET/dotnet framework dotnetfx.exe
    And I think that .Net framework requires sp2.

    There is an option in MSKLC
    project...validate layout
    It may give you WARNINGS, and ERRORS
    Warnings do not matter!!!!!!!
    If you to
    it will say there were warnings, and ask you if you want to see the
    But it will still go on to build the file.
    Forget warnings.
    The warnings you will see are things like.. Both these keys produce
    this character.

    It is like I think I heard about the Java compiler or the JVM.. It
    can still compile or run files, even if it gives warnings

    the name
    If you update the keyboard KLC file with MSKLC , then Build. And run
    the MSI.

    Then fine.. You choose whatever language in Regional and Language
    Options,.. you notice the layout is added to the list.

    But if you change the keyboard, save it.. build it again. Then it
    will not update it!
    Even if you remove it - by removing the language/layout in regional
    language options.
    Then running the MSI (gotta remove it from there/the language bar, or
    else you get an error when running the MSI)
    Then asked to repair or remove, choose remove.. Then do ok.
    Then you could even rename the old folder..
    rebuild it.. It won't even ask about overwriting.. You run the MSI..
    It adds the layout.
    You choose the language/layout in regional/language options..

    suprise suprise,, it does not update it!!! It uses the old layout!!

    It is like it has a memory.

    The trick is to Change the NAME, under
    That changes the directory the bulid is placed in, the filename of the
    change, change the name!

    Go to
    in MSKLC to
    It asks you for
    name, description,company,copyright,language

    Name, as I said.. affects the DIR it is stored in, the filename of the
    MSI - both of which are not that significant. AND IT MAKES CHANGES
    COUNT! It gets around the odd behaviour. So that is important.

    Description.. That is what the layout will be called in regional and
    language options.

    Company and copyright are irrelevant. And Language, the setting in
    MSKLC that is.. in That I tihnk does even less
    than the language you choose in regional and language settings. I
    think that just affects the language that the MSI displays when you
    run it to install the layout. It's just a popup msg and clicking OK.
    It could be in dutch, who cares.

    To remove a layout, you have to remove it first in regional and
    language options.. In the sense that so it is not a selectable thing
    in the language bar. It will still be listed under the long list of
    layouts, at this point.
    Then you run the MSI.. Otherwise the MSI will say something about
    being interrupted.
    And remember it's not really gone, so you have to give your new layout
    a new name


    To enter charaters of differet scripts/layouts, "into a key" . Once
    you get the textbox up for the key, (within MSKLC of course) you could
    use charmap and copy/paste, or enter the unicode you see in charmap
    or choose another language and enter from the keyboard.

    Windows works by you setting a language and a layout. Layout means
    Script/alphabet. It's the main thing.

    The language, doesn't seem to me to determine much that I can see..
    But some languages, like Hebrew and Arabic, are written right to
    left.. So that changes the cursor in MS Word.. Those languages are
    distinct from most other languages, which are left to right.

    And if you check the box that says "install files for complex
    scripts. ....right-to-left languages.."
    then you can use CTRL+L/R SHIFT to change alignment. Which behaves
    slightly different in Ms Word, Notepad, [1]

    The language, though arbitrary, can act as an identifier in the
    language bar too..
    So if testing layouts, it may be useful to add your new layout under
    Finnish. in Regional and Language Options.

    Jacko's keyboard creator might have been before MSKLC. used .kbd
    files or something, and built or compiled them. Rather than KLC files.
    (I think compile is generic, whereas build specifically implies > 1
    file produced.. like building a project. MSKLC does produce an MSI
    and a small i386 directory, though I think neither of them matter
    after the MSI is installed)

    If typing a foreign language, you may want keyboard stickers for it.
    If the language has vowels, then you may want vowel dots, then you may
    want those stickers too.

    MSKLC is available from MS.. And might be available on
    perhaps at this link
    and possibly available elsewhere

    NG: microsoft.public.windowsxp.general
    Thread: Long over the top post about right to left Languages and
    jameshanley39, May 27, 2008
    1. Advertisements

  2. <snip>

    good news is I just found you can remove a layout without the MSI that
    made it.

    They appear in add/remove programs, each you added takes about 4MB.
    jameshanley39, Jun 8, 2008
    1. Advertisements

  3. On May 27, 7:20 pm, ""


    and incase it isn't obvious.

    to type a foreign language, then easier than typing the unicode
    directly into the textbox, you can
    choose the language in windows, and type it in with your keyboard
    use charmap
    jameshanley39, Jun 8, 2008

  4. one good use for MSKLC, is if you have a language with a "complex
    script" i.e. it has dots for vowels.

    most people tend not to write the vowels, but if you do want to type
    them it can be tricky, because sometimes they are hard to reach e.g.
    into caps mode, and then shift+digit.
    The SHIFT is ridiculous, becuase if you want to type a sequence, you
    have to hold shift.

    it is easier to have them either in plain CAPS mode, when tapping the
    digit keys
    Or, I find easiest.. just in place of the numbers.

    If I want to type numbers I will go into English. (you can have key
    sequences like ctrl alt 2, ctrl alt 3. Or just ctrl alt, to go from
    one language to another.
    jameshanley39, Jun 12, 2008
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.