none
change keyboard command line (cmd)

    Question

  • Hi

    in old timer DOS there used to be the keyb.com command that would allow you to change the input locale of keyboard.

    for example "keyb be" would change your keyboard layout to Belgian azerty

    In windows 7 no more DOS so no more keyb.com(heard about a keyb16 in Vista but this is 16bit so it would be only available in 32bit platform)

    How can I use a command line method (no GUI no mouse)to change my keyboard layout?

    (tried rundll32 user32, LoadKeyboardLayout...but I only managed to crash the "multi-user api client dll")

    any ideas on how to do this?

     

    Monday, May 16, 2011 9:10 AM

Answers

  • Hi,

     

    Maybe this is we can only do currently, due to keyb.COM and KB16.COM cannot be found in the windows 7 64 bit version. And we cannot find alternative to achieve this.

     

    Alex Zhao

    TechNet Subscriber Support in forum.

    If you have any feedback on our support, please contact tngfb@microsoft.com


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Friday, May 20, 2011 4:55 AM

All replies

  • Click Start->Help and Support->type change keyboard layout to azerty->there is a specific help topic to guide you for these settings.

    Other language settings will require that you have Ultimate or Enterprise versions of Windows 7 with language packs installed.


    Sorry-couldn't determine the path for the cmd.

     

     

    Monday, May 16, 2011 11:24 AM
  • Hi,

     

    Thanks for posting in Microsoft TechNet Forum.

     

    Regarding your expectation, as far as I know, we cannot achieve this directly, because after Windows NT, the DOS application reads the NLS settings from the DOS environment of the NTVDM instead of Win32 settings. The command prompt uses the Win32 NLS setting you configure in Control Panel, Regional Settings. In Windows 7 the DOS KEYB command is also replaced by KB16.COM which is located in the %SystemRoot%\System32 directory, you could try the following command to change Belgian layout:

     

    C:\Windows\System32\KB16 BE,850,C:\Windows\System32\KEYBOARD.SYS

     

    Hope it helps.

     

    Alex Zhao

    TechNet Subscriber Support in forum.

    If you have any feedback on our support, please contact tngfb@microsoft.com


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Tuesday, May 17, 2011 9:22 AM
  • The following article describes how to configure International settings from the command line:

    http://msdn.microsoft.com/en-ie/goglobal/bb964650(en-us).aspx

     

    Hope this helps.

    Tuesday, May 17, 2011 9:30 PM
  • Hi

     

    In KB16 the "16" stands for 16bit so its not available in x64 platform

    Thanks but its a dead end

     

     

    Thanks for the control.exe suggestion, but it is also a dead end

    Two issues with it:

    it affects permanently the input locale

    it doesn't work for the current process (only new processes will have the new keyboard its just like a GUI change you better logoff logon to get all windows with correct settings, but this is impossible to do in a script job).




    • Edited by lecaf Monday, May 30, 2011 2:16 PM
    Wednesday, May 18, 2011 10:19 AM
  • Hi,

     

    Maybe this is we can only do currently, due to keyb.COM and KB16.COM cannot be found in the windows 7 64 bit version. And we cannot find alternative to achieve this.

     

    Alex Zhao

    TechNet Subscriber Support in forum.

    If you have any feedback on our support, please contact tngfb@microsoft.com


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Friday, May 20, 2011 4:55 AM
  • Hi,

     

    May I mark the previous replies as “answer”? Because the discussion above could be helpful for many similar scenarios.

     

    If you have any further questions or concerns, please feel free to let us know.

     

    Alex Zhao

    TechNet Subscriber Support in forum.

    If you have any feedback on our support, please contact tngfb@microsoft.com


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Monday, May 23, 2011 2:46 AM