Starting KEYMAN with a keyboard activated David Rowe, SIL Togo-Benin Have you ever wished that you could start KeyMan and have one of your automatically loaded keyboards active? Here's the best solution that I've discovered. Using Visual Basic, I created a programme called KMNINIT. It has one form (with property Visible set False). The only code is executed when the form loads. It activates KeyMan (provided it has been started without the -h option) and sends whatever keystrokes it finds on the command line to KeyMan, followed by Alt-H to hide KeyMan. Sub Form_Load () ' In order for the following to work, ' KeyMan must be started *without* the -h option AppActivate "Tavultesoft Keyboard Manager" ' Activate KeyMan. ' Send keystrokes from command line to KeyMan, followed by alt-H SendKeys Command$ & "%H", True ' End the programme End End Sub The keystrokes on the command line use the caret (^) for Ctrl, the plus sign (+) for Shift and the percent sign (%) for Alt. To send Ctrl-Shift-F, specify ^+F after the name of the programme on the command line in the programme item properties: KMNINIT.EXE ^+F Place the KMNINIT icon (with the appropriate keystrokes on the command line) in the StartUp group after the KEYMAN icon which runs the KEYMAN programme and loads the keyboard(s). It is important the the KEYMAN command line NOT have the -h option to hide the programme. If it is hidden, then KMNINT won't be able to find it. The last thing that KMNINIT sends to KEYMAN is the command to hide itself. I had a bit of trouble ordering the icons in the StartUp group. I ended up making a temporary group and dragging them all into it, then dragging them back to the StartUp group one by one in the order I wanted them started. This ensures that KEYMAN is activated before KMNINIT tries to send keystrokes to it.