Red de conocimiento informático - Material del sitio web - Cómo escribir un controlador para el teclado personalizado de WinCE

Cómo escribir un controlador para el teclado personalizado de WinCE

En WinCE, desde la perspectiva del controlador del teclado, el proceso de respuesta del controlador del teclado a las acciones de pulsación de teclas se puede describir de la siguiente manera:

1.

2. El controlador del teclado lee el código de escaneo de la tecla.

3. El controlador del teclado asigna códigos de escaneo a teclas virtuales y caracteres Unicode.

4. El controlador del teclado envía información clave al subsistema de ventana gráfica (GWES). El código de escaneo de las teclas está determinado por la matriz del teclado y está relacionado con el diseño del hardware del teclado. Entonces, desde la perspectiva del software, el código de escaneo del teclado no se puede cambiar. Sin embargo, dado que las teclas en última instancia generan caracteres imprimibles o teclas virtuales, existe una relación de mapeo que se puede especificar en el controlador del teclado o incluso cambiar dinámicamente. El marco del controlador de teclado estándar de WinCE define dos tablas de mapeo: diseño del dispositivo desde escaneo de código hasta teclas virtuales y lenguaje de entrada desde teclas virtuales hasta Unicode. Modificando las definiciones de estas dos tablas de mapeo, podemos controlar la salida de cada tecla o combinación de teclas en el teclado.

d: Hay algunos códigos fuente para teclados estándar en el directorio /WinCE 500/public/common/oak/drivers/keybd: DEVICELAYOUTS subdirectory_ Library download/doc/54033d 60 f 5335 a 8102d 22037.html Escanee el código QR a la tabla de asignación de claves virtuales. En el subdirectorio INPUTLANGS se encuentra la tabla de asignación de claves virtuales a Unicode. En concreto, lo principal es cambiar estas dos tablas y compilarlas en DLL con otros códigos auxiliares. Además, WinCE también proporciona una herramienta.

(d:/wince 500/public/common/oak/bin/i386/kbd gen . exe), puede extraer la tabla de mapeo del controlador de teclado del sistema Windows XP. Por ejemplo, el siguiente comando genera el código fuente para el mapa de teclado francés:

kbdgen.exe kbdfr.dll -o kbd_040 c-I 0000040 c

Los resultados se envían a tres archivos:

Kbd_040c.reg: Archivo de registro

kbd_040cDL.cpp: Código de escaneo-& gt; Tabla de asignación de claves virtuales

kbd_040cIL.cpp: Clave virtual-& gt ;Mapa de caracteres amplio

El nombre del controlador del teclado está en el registro.

Se puede encontrar [HKEY_Local_Machine/System/ControlSet001/Control/KeyboardLayout]. Por ejemplo, la configuración regional francesa es 040C y el controlador kbdfr.dll se puede encontrar en la subclave 0000040c.