views:

1704

answers:

2

My father has found a Russian language keyboard mapping that he really likes here. However, it is non-standard and therefore is not one that appears in the Languages (Control Panel->Regional and Language Options->Languages->Details->Text Services And Input Languages->Add) dropdown for keyboard layout selection. To my understanding, it should be a simple task to create a new mapping - perhaps editing an XML file and a reboot. Does anyone know how to do this?

Barring that, how would I go about writing a program to emulate this? It seems like it would have to run in the system tray (I can figure that out), have a hook intercepting incoming keyboard input (no idea how to do this), convert it off a configuration file, and send it to whatever application and text window has current focus (again, no idea). With any luck this should not be too hard.

Any advice?

+1  A: 

Try AutoHotKey (http://www.autohotkey.com/) i use it to get emacs keybindings in normal text editors, i'm sure it could tackle this too.

edit: the bit you're looking for is in the quickstart here: http://www.autohotkey.com/docs/Tutorial.htm#Send

Barry Fandango
+3  A: 

There's this utility from Microsoft

The Microsoft Keyboard Layout Creator (MSKLC) extends the international functionality of Windows 2000, Windows XP, Windows Server 2003,and Windows Vistas systems by allowing users to:

  • Create new keyboard layouts from scratch
  • Base a new layout on an existing one
  • Modify an existing keyboard layout and build a new layout from it
  • Multilingual input locales within edit control fields.
  • Build keyboard layout DLLs for x86, x64, and IA64 platforms.
  • Package the resulting keyboard layouts for subsequent delivery and installation.
Paul
God I love stackoverflow
George Mauer
I just applied my google-fu. I didn't know the answer, but I was pretty sure Microsoft must have done something here :)
Paul