Eu tive uma experiência com a instalação de layout de teclado personalizado usando programas de configuração como o "XP Farsi Keyboard".
Esta configuração faz dll semelhante ao Kbdfa.dll na pasta System32: kbdfapsoft.dll
Eu resolvo o problema usando:
1- Pesquisar pasta do Windows para kbdfa.dll. Eu encontrei estes:
32 bit dlls:(6.50 KB)
C:\Windows\System32\kbdfa.dll
C:\Windows\winsxs\amd64_microsoft-windows-i..l-keyboard-00000429_31bf3856ad364e35_6.1.7600.16385_none_46c321d27ba117ab\kbdfa.dll
64 bit dlls:(6.00 KB)
C:\Windows\SysWOW64\kbdfa.dll
C:\Windows\winsxs\wow64_microsoft-windows-i..l-keyboard-00000429_31bf3856ad364e35_6.1.7600.16385_none_5117cc24b001d9a6\kbdfa.dll
2- Copie e cole o kbdfa32.dll da pasta winsxs para as pastas apropriadas system32 ou SysWOW64.
3- Se você tiver arquivos como kbdfa * .dll (ou seja: kbdfapsoft.dll), Copie e substitua o kbdfa.dll apropriado para sua localização, usualmente a pasta system32 com o mesmo nome (ou seja: kbdfapsoft.dll).
4- Copie e cole dlls de 32 bits (kbdfa.dll e se você tiver kbdfa * .dll) em system32 \ dllcache
5- Remova o Teclado Perian e adicione-o novamente. E está feito.
É melhor usar o layout padrão do Windows. Você pode usar ctrl + shift + 2 para digitar zwnj (Zero Width None Joiner).
Alguns links úteis:
O criador de layout de teclado da Microsoft
traylayout-1.2.zip para o windows xp para imitar o kbdfa.dll aprimorado sem a substituição real dos arquivos do sistema.