Share via

Microsoft Keyboard Layout Creator (MSKLC) for Windows ARM

Anonymous
2025-01-23T04:20:13+00:00

I would like to know who to contact and how to deliver this information to the appropriate personnel.

I have used Microsoft Keyboard Layout Creator to add Esperanto characters to various keyboard layouts.

However, it seems that the future of Windows for most users will be Windows ARM. I would like them to update this application to work with and create corresponding installers for the new ARM architecture in Windows. So far, I have not encountered any issues, as one can obtain the Windows registry written by the installer created by MSKLC and compile the code generated by kbdutool.exe, and with both, replicate this on other ARM-based devices. Below, I am including the link to the Microsoft software I am referring to.

Download Microsoft Keyboard Layout Creator (MSKLC) Version 1.4 from Official Microsoft Download Center

Thank you very much for your attention.

Windows for home | Windows 11 | Input and language

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
  1. Anonymous
    2025-01-25T21:56:25+00:00

    This is extremely long, slow, and complex. I assume you already know how to use MSKLC and have it installed.
    If you would like this to be simplified, please vote in favor at the following link.
    https://aka.ms/AAu3i66

    1. When you have your keyboard layout ready in MSKLC, instead of using Build DLL and Setup Package, go to File/Save Source File and save the file where you prefer. This will generate a .klc file. For example, I will assume it’s saved at C:\Users\my PC\Documents\My Layout\My Layout.klc, where "my PC" is the name of your computer user, and "My Layout" is the name of your layout.
    2. In the search bar, type CMD and click Run as Administrator.
    3. Type: CD "C:\Users\my PC\Documents\My Layout"
    4. Type: "C:\Program Files (x86)\Microsoft Keyboard Layout Creator 1.4\bin\i386\kbdutool.exe" -u -s "C:\Users\my PC\Documents\My Layout\My Layout.klc". If there’s an error, type: "C:\Program Files\Microsoft Keyboard Layout Creator 1.4\bin\i386\kbdutool.exe" -u -s "C:\Users\my PC\Documents\My Layout\My Layout.klc". -u is for Unicode characters, and -a is for ASCII characters. This might cause errors, so you may need to switch between the two.

    The previous steps will create the following four files in C:\Users\my PC\Documents\My Layout:

    • My Layout.c
    • My Layout.def
    • My Layout.h
    • My Layout.rc

    Now install Visual Studio. During installation, select Desktop Development with C++ and under the Individual Components tab, select Windows Driver Kit and MSVC... ARM64/ARM64EC Build Tools... (the latest version).

    Once installation is complete:

    1. Open Visual Studio.
    2. Click Create a new Project.
    3. In the template search bar, type Empty Project.
    4. Click Empty Project.
    5. Click Next.
    6. In the project name field, type the same name you used in MSKLC for Project/Properties/Name. In this case, "My Layout."
    7. Choose the location.
    8. Click Place solution and project in the same directory.
    9. Click Create.
    10. Use the keyboard shortcut Ctrl + Alt + L.
    11. This will open the Solution Explorer; right-click on My Layout and select Add.
    12. In the Add menu, click Existing Item.
    13. Navigate to C:\Users\my PC\Documents\My Layout.
    14. Select all four files that were generated and click Add.
    15. Now use the keyboard shortcut Alt + Enter.
    16. Under Configuration, select Release.
    17. Under Platform, select All Platforms.
    18. In the General Properties list, select Dynamic-Link Library (.dll) for Configuration Type.
    19. Click OK.
    20. In the second toolbar, there is a list that says Debug or Release. Click this list. Next to it, it should say x86 or x64.
    21. Select Release.
    22. In the list where it says x86 or x64, click it.
    23. Click Configuration Manager.
    24. Click Active Solution Configuration.
    25. Click on Release.
    26. Click on Active Solution Platform.
    27. Click New.
    28. A window will appear; under Select or Type the new platform, click the dropdown list.
    29. Select ARM64EC.
    30. Click Copy settings from.
    31. A menu will appear, and click x64.
    32. Click OK.
    33. The project name, in this case, My Layout, should appear. In the Configuration column, click the dropdown list.
    34. Select Release.
    35. In the Platform column, click the dropdown list.
    36. Select ARM64EC.
    37. Click Close.
    38. Use the keyboard shortcut Ctrl + Shift + B.

    This will create the My Layout.dll file in C:\Users\my PC\Documents\My Layout\ARM64EC. This file is your custom keyboard layout, which should be copied and pasted into C:\Windows\System32 on your Windows 11 ARM or higher machine.

    1. On an x86 or x64 machine, open MSKLC and load My Layout.klc.
    2. Click on the Project menu.
    3. Click on Properties.
    4. In Name, type My Layout.
    5. Click OK.
    6. Go to the Project menu again.
    7. Click on Properties.
    8. Select Build DLL and Setup.
    9. If there are no errors, a window will appear asking if you want to view the .log file. Click No.
    10. Another window will appear asking if you want to navigate to the directory where the file is located. Click OK.
    11. In this location, open setup.exe.
    12. Follow the installer instructions.

    If installation is successful:

    1. Use the keyboard shortcut Windows + R.
    2. Type Regedit.
    3. Be extremely careful with the registry! Any changes can cause unexpected behaviors or even make the computer unusable if instructions are not followed carefully.
    4. Navigate to the following registry path:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts.
    5. Use the keyboard shortcut Ctrl + F.
    6. Type My Layout.dll.
    7. Press Enter.
    8. In the right pane, you should see Layout File under the Name column and My Layout.dll under the Data column. If this doesn’t happen, repeat steps 5-7 until you get the desired result. Usually, it’s the last registry entry, so you might need to navigate to it to find the value.

    You should now be in a path similar to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\A19D0409, where the last eight characters are a unique hexadecimal combination for your keyboard.

    1. On the left panel, right-click on the folder (e.g., A19D0409).
    2. In the menu, click Export.
    3. Save the file as My Layout.reg.
    4. In the search bar, type Notepad.
    5. Open it.
    6. In the File menu, click Open.
    7. Navigate to where you saved My Layout.reg.
    8. In the file dialog, click the dropdown list above the Open and Cancel buttons.
    9. Select All Files (.).
    10. Select and open the My Layout.reg file.
    11. Be extremely cautious with what you’re about to do! Proceeding carelessly can render your system unusable or cause unexpected behavior!
    12. Inside the file, look for a line containing a set of letters and numbers separated by dashes within curly braces ({}). Delete this entire line to create a continuous list without any space between the lines.
    13. Click File.
    14. Click Save.

    Now you have the two files that will make your keyboard work on Windows 11 ARM or higher. Open the My Layout.reg file on your Windows 11 ARM machine.

    We’re done! Now simply search for your keyboard called My Layout, just as you would switch to any other keyboard, like French, German, etc.

    4 people found this answer helpful.
    0 comments No comments
Answer accepted by question author
  1. Anonymous
    2025-01-25T22:35:54+00:00

    For those who find this too long, slow, or complex, the following alternatives are currently available on other platforms:

    For iOS and Android:
    Microsoft SwiftKey

    For USB or Bluetooth keyboards on Android:
    External Keyboard Helper Pro

    For Apple, both mobile and desktop:
    Extended ABC English

    1 person found this answer helpful.
    0 comments No comments
Answer accepted by question author
  1. Anonymous
    2025-01-24T04:46:35+00:00

    Dear Ricardo Alejandro García Góme!

    Welcome to the Microsoft Community!

    Thank you for your interest and contribution to Microsoft Keyboard Layout Creator (MSKLC). The issue you raised about the adaptation of MSKLC on Windows ARM architecture is indeed important. I completely understand that you would like to see this tool updated and supported on the new ARM architecture. Your suggestions are very valuable for improving the Windows ecosystem. Let me give you some suggestions to communicate your opinions more effectively:

    1. Use Windows Feedback Center:

    • Press Win+F to open the Feedback Center.
    • In the "Input and Language" category, find "Keyboard and language switching".
    • Submit your feedback, describing in detail your needs for MSKLC on ARM architecture.
    • After submitting, please share the feedback link to the relevant community. This will allow more people to see and vote for your suggestion.

    2. Developer Community:

    • You can also share your ideas in Microsoft's Developer Community:

    Windows - Microsoft Q&A

    • Here you may meet other developers facing similar challenges, and you may also get responses from Microsoft team members.

    3. Social Media:

    • Consider tagging @WindowsDev or relevant Microsoft accounts on Twitter or LinkedIn. Sometimes this is also a good way to get noticed.

    4. GitHub:

    • You can submit an issue or feature request there at Microsoft's GitHub repository.

    microsoft repositories · GitHub

    5. Continue your work:

    • Your current solution (using the registry and compiling code) is innovative. Consider documenting and sharing this process, which may help other users facing similar problems.

    Remember that software updates and feature requests often take time. It is important to continue sharing your ideas and experiences, which will not only help improve the product, but also help other users in the community.

    Your efforts are invaluable in keeping the Windows platform diverse and inclusive. I hope you will get a positive response! If you need any further help or have any other questions, please feel free to let me know.

    Thank you for your understanding and support! 

    I wish you all the best.

    Best regards,

    Yang.Z - MSFT | Microsoft Community Support Specialist

    1 person found this answer helpful.
    0 comments No comments

0 additional answers

Sort by: Most helpful