How to Migrate a Keyboard Driver to Conform to the Layout Manager Interface

If you are migrating a Windows CE .NET 4.1 or earlier platform to a Windows CE .NET 4.2–based platform, Microsoft recommends updating your keyboard driver to conform to the Layout Manager interface. The Layout Manager supports multiple keyboard layouts, switching keyboard layouts at run time, packaging multiple device layouts and input languages into one operating system (OS) image, and adding new layouts at run time. For information about migrating your Windows CE .NET 4.1 or earlier keyboard driver to Windows CE .NET 4.2 without conforming to the Layout Manager interface, see How to Migrate a Keyboard Driver Without Conforming to the Layout Manager Interface.

Hardware and Software Assumptions

  • You are familiar with using the Build tool. For more information, see Build Tool.
  • You are familiar with creating and configuring sources files. For more information, see Sources File.
  • You are familiar with creating and configuring dirs files. For more information, see Dirs File.
  • You are familiar with creating and configuring module-definition (.def) files. For more information, see Module-Definition Files.

To track your progress in the following table, select the check box next to each step.

  Step Topic
1. Copy the Windows CE .NET 4.1–based keyboard driver to your Windows CE .NET 4.2–based platform. Copying the Windows CE .NET 4.1-based Keyboard Driver to Windows CE .NET 4.2
2. In the platform-dependent driver (PDD), implement the new PDD entry point to initialize the keyboard hardware and start the keyboard driver interrupt service thread (IST). Developing the Keyboard PDD Entry Point
3. Implement the KeybdPdd_GetEventEx2 function. Implementing the KeybdPdd_GetEventEx2 Function
4. If your Windows CE .NET 4.1 and earlier keyboard driver used the generic keyboard IST, update your keyboard driver to use the Windows CE .NET 4.2–based keyboard driver IST. Updating the Keyboard Driver IST
5. Optional. View the device layout example and use the Kbdgen.exe tool to create new device layouts. Creating the Keyboard Device Layout
6. Optional. View the input language example and use the Kbdgen.exe tool to create new input languages. Creating the Keyboard Input Language
7. Implement the PDD list for your keyboard driver so that the Layout Manager can retrieve the list of PDD entry points. Implementing the Keyboard PDD List
8. Create the .def file for the keyboard dynamic-link library (DLL).
  • The keyboard DLL's .def file must contain all the keyboard driver and Layout Manager entry points, in addition to the entry points for any input languages and device layouts that are included in the keyboard DLL.

For examples, see the files Kbdjpn1.def, Kbdjpn2.def, Kbdkor.def, and Kbdus.def located in %SystemDrive%\WINCE420\Public\Common\Oak\Inc.

Module-Definition Files
9. After creating the .def file for your keyboard driver, create sources files. Creating the Keyboard DLL Sources File
10. Configure the registry to describe the input languages and device layouts for the device. Configuring the Keyboard Driver Registry
11. Build the keyboard driver DLLs. Building the Keyboard Driver DLLs
12. View any build errors, and troubleshoot the driver accordingly. Troubleshooting: Building a Driver

See Also

Device Driver How-to Topics | Migration How-to Topics | How to Migrate a Keyboard Driver Without Conforming to the Layout Manager Interface | Keyboard Drivers | Layout Manager

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.