2010-11-01 20 views
5

Por lo que puedo decir, la noción de "Shift", "Alt" y "Control" están bastante bien codificadas desde el teclado mismo a través de las API de OS. A veces veo las teclas de Windows utilizadas como un modificador, pero no parece registrarse como una tecla modificadora "real", como tampoco lo haría ninguna tecla del teclado.¿Qué se necesita para agregar nuevas teclas modificadoras a Windows?

¿Pero podría una persona agregar una nueva tecla modificadora? ¿Tal vez en un loco y loco esfuerzo por recuperar el teclado del cadete espacial? Aparte de un teclado modificado físicamente (o tal vez simplemente reasignar algunas claves no utilizadas), ¿qué más se necesita: nuevos controladores? nuevas API llamadas? una reescritura completa del sistema operativo?

Supongo que este tipo de cosas sería mucho más fácil de hacer en un sistema operativo de código abierto que en Windows también, ¿sí?

Respuesta

3

Bueno, hay ventajas en tener un estándar para teclados y ratones. Hace que las cosas "funcionen" sin necesidad de controladores especiales o parches del sistema operativo. Pero eso implica que los teclados y los ratones deben estandarizarse a sí mismos para que "simplemente funcionen".

Por lo tanto, si desea agregar una tecla adicional al teclado, ya sea que se trate de una tecla modificadora o no, debe hacerlo de alguna manera útil, lo que significa que las aplicaciones deben conocerla y necesitan una forma de hacerlo. ser notificado del estado de esta clave. Afortunadamente, Windows y otros sistemas operativos de código abierto o no, proporcionan un mecanismo extensible y también estándar para esto: controladores.

Por lo tanto, en resumen, necesitaría proporcionar un controlador para ampliar la funcionalidad estándar del teclado estándar de forma muy parecida a la que necesitaría un controlador si comprara uno de esos elegantes ratones que vienen con 19 botones especiales y 3 rollos ruedas en lugar del estándar dos o tres botones y una rueda de desplazamiento.

Y, por último, necesitaría aplicaciones que conozcan su teclado especial. ¿De qué serviría tener este teclado modificado después de todo si tu aplicación ignoraba sus superpotencias? Lo único que podría hacer con su teclado especial sería crear teclas rápidas que incorporen su modificador especial.

0

Windows W32 API definida Virtual-Key Codes. Es de 8 bits, proporciona 256 valores y hay algunas lagunas en la tabla.

WM_KEYDOWN message opera en estos códigos.

Los teclados modernos permiten detectar hasta 6 pulsaciones simultáneas de teclas, pero existen N-Key Rollover y Key Ghosting problemas que debe tener en cuenta.

.NET API expone solo Alt/Shift/Control como modificador.

En pocas palabras: muchas API centrales proporcionadas por el relé de Microsoft en Alt/Shift/Control como modificador, incluso si los teclados modernos permiten cerca de 5 modificadores simultáneos además de presionar la tecla.

Cuestiones relacionadas