Go Back   TechArena Community > Software > Operating Systems
Become a Member!
Forgot your username/password?
Tags Active Topics RSS Search Mark Forums Read

Thread Tools Search this Thread
Old 09-10-2010
Join Date: Oct 2010
Posts: 3
Post How to replace a Keyboard Layout dll file in Windows 7

This instruction is for those who have a custom keyboard layout and would like to replace a default Windows 7 keyboard layout with their custom one.

The method to replace a keyboard layout dll file in Windows XP was to start the computer in safe mode, enter as administrator and just drop the dll file in system 32 folder and then restart the computer in normal mode.

In Windows 7 that is not possible because of the default permissions. There is more than one method to change a keyboard layout dll file in Windows 7. The method discussed here, changes the permission on a keyboard layout dll file to introduce a custom dll with the same name in to the system 32 folder.

The following procedure should be done by advanced users or above.

Before doing this, it is advised that you make a restore point in your windows, so that if mistakes are made that you cannot reverse, you would be able to restore your system.

Windows 7 - A method to change keyboard-layout dll files

You need administrator rights for the following procedure

Example replacement of the default Widows 7 KBDFA.DLL (Farsi keyboard layout) with a custom one.

open folder: C:\Windows\System32

Right click KBDFA.DLL - choose properties

click - security tab

click - Advanced tab

click - Owner Tab

click - Edit Button

under "change owner to" - click Administrator

click - OK button

On the dialog box:

"you have taken ownership you will need to close and reopen..." - click OK button

on Owner page - click OK button

on properties page - click OK button

Second time:

Right click KBDFA.DLL - choose properties

click - security tab

click - Edit button

click - administrator

under permissions choose modify (which automatically also activates Write)

click - OK button

on dialog box: "you are about to change permissions..." - click OK button

on security page - click OK button

Rename KBDFA.DLL to KBDFA1.DLL (to keep the old one in the same folder if you want or copy it to an archive folder in another partition)

copy your replacement KBDFA.DLL to system32 folder

restart computer


The above method has been successfully tested for Windows 7.
I have not tested Windows Vista, but because of similarities between these two versions, if you have the same problem in Vista, you might want to look in to this method.

Another method which I have not tested and involves changing registry values has been suggested for an example of Farsi keyboard-layout in the following link:


Farsi users can see the attached files for Farsi instructions as well as a Farsi custom keyboard layout dll file. The keyboard layout file can be used in windows 2000 upwards...
Attached Images
File Type: pdf Farsi instruction to change kbdfa.pdf (51.5 KB, 39 views)
File Type: pdf Keyboard layouts Comparison.ods.pdf (54.4 KB, 20 views)
Attached Files
File Type: zip custom Farsi keyboard dll.zip (2.4 KB, 33 views)
Reply With Quote
Old 10-10-2010
Join Date: May 2009
Posts: 2,839
Re: How to replace a Keyboard Layout dll file in Windows 7

Thanks for the wonderful tips. Can you tell me whether i can also change it via the - HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts ? Is there a key for the 'new' country? I have checked that there are dozens of numbered folders at HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Keyboard Layouts . Which one should i change?
Reply With Quote
Old 10-10-2010
Join Date: Oct 2010
Posts: 3
Re: How to replace a Keyboard Layout dll file in Windows 7

The above method does not need any manipulation of registry values, and it does not need to be in safe mode. You just need to do it as administrator or when asked to enter Administrator's password.

For the other method that works with the registry please refer to the link in note 2 above. Perhaps they can also answer your questions. I am sorry, I do not have a full grasp of the registry.
Reply With Quote
Old 10-10-2010
Join Date: Oct 2010
Posts: 3
Re: How to replace a Keyboard Layout dll file in Windows 7

For those who wish to make their own keyboard layout from scratch or modify an existing keyboard layout [in any language], they may want to have a look at Microsoft Keyboard layout creator at the following URL:

Reply With Quote
Old 03-04-2012
Join Date: Apr 2012
Posts: 1
idea Re: How to replace a Keyboard Layout dll file in Windows 7

Unfortunately Microsoft is not going to solve the Farsi keyboard problem, so you have to replace the kayboard layout file after windows istallation.

If you are running an x64 version of Windows 7, where x86 kbdfa.dll doesn't work, you have to find and install a 64 bit version of kbdfa.dll. You can see your windows version by going to "Control Panel\System and Security\System" looking for "System Type".

In the other hand, as far as I know, there is a good 64-bit version of corrected kbdfa.dll available in the internet and it is available in FarsiPardaz. It is accompanied with an easy installation script (Windows batch/command file) that makes the replacement as easy as a click. It simplifies the above mentioned instruction with a simple installation script.

The keyboard has Persian Numbers (۰۱۲۳۴۵۶۷۸۹) enabled by Caps Lock, letters پ and ژ are in their home and Shif+Space works as ZWNJ. It also types Persian ی and ک by default if you are aware of Arabic ي and ك.

I hope you enjoy that.

Last edited by Maqbool : 03-04-2012 at 05:39 PM. Reason: External Links not allowed.
Reply With Quote

  TechArena Community > Software > Operating Systems
Tags: , , , ,

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Similar Threads for: "How to replace a Keyboard Layout dll file in Windows 7"
Thread Thread Starter Forum Replies Last Post
after installing Windows 8.1 preview, keyboard Layout automatically switches to US-layout Ebadaah Operating Systems 3 31-07-2013 11:26 AM
What is the way to clean layout.ini file in Windows DEvOTeEL Windows x64 Edition 6 23-03-2012 11:07 AM
Windows 7 Compatibility With the Persian keyboard Layout Tin Hardware Peripherals 4 06-12-2010 10:17 PM
Japanese keyboard layout for windows 7 Rhesa Operating Systems 4 01-12-2010 11:46 AM
Keyboard layout changes aleangelico Vista Help 6 30-01-2009 01:04 AM

All times are GMT +5.5. The time now is 04:29 PM.