Not so long ago, one of our readers asked us how to fix a problem with his language bar when using RDP session. It doesn’t switch the keyboard layout in the RDP session. Actually, the language icon in the taskbar changes, but next to it appears additional icon, where user has to manually change the input language. It’s a really annoying things, so we need to fix it.
Indeed, when you using a Remote Desktop connection to Windows Server 2016, 2012/R2, 2008 R2, Windows 10 in a multilanguage environment, you may encounter the fact that in the RDP window your local keyboard layout is displayed (from your computer from which you run the remote desktop client) and you can’t change the keyboard layout as usual using Alt-Shift or Ctrl-Shift (the input language doesn’t switch). To switch the input language, the user needs to click on the keyboard icon in the language bar in the tray and in the context menu that appears, change the input language. Sometimes it may even look like that in a terminal session the user sees not two, but three or even more keyboard layouts. To solve this problem, the user must logoff and once again connect to the RDP/RDS server (but this doesn’t always help).
Why is this happening?
This problem is related to the Windows feature of automatic detection of the keyboard layout of the RDP client and to the language used by the RDP client by default. You may face such a problem with switching between input languages if the RDP client and server have different current keyboard settings when connecting. If the same languages are used on the client and server when logging in via RDP, then the described problem doesn’t occur.
This bug first appeared in Windows Server 2003 (and is found in all versions up to Windows Server 2016) and has not yet been fixed.
You can reconfigure your remote RDP/RDS server so that it ignores the keyboard layout with which remote RDP clients connect to it. This setting is not in the Windows GUI and you can configure ignoring the remote keyboard layout only through the registry.
- On the RDP (RDS) server run Registry Editor as an administrator (click on the Start button and then type in regedit).
- Open up Registry Editor and navigate to the registry key HKLM\System\CurrentControlSet\Control\Keyboard Layout.
- Here you have to create a new DWORD value. Give it IgnoreRemoteKeyboardLayout name and double-click on it. As default the value of this key is 0, but we need to change it from 0 to 1.
- Once it is done, close Registry Editor and reboot remote server (computer).
You can also create a text file ignorekblayout.reg with the following text:
Windows Registry Editor Version 5.00
To apply the settings, simply double-click the reg files and agree to adding data to the registry.
Or use the command:
REG ADD «HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout» /v IgnoreRemoteKeyboardLayout /t REG_DWORD /d 1
That’s how you can solve this problem. That’s all.