Tengo que escribir un teclado en pantalla para el programa de nuestra compañía, que se usa principalmente en computadoras de la industria con capacidad táctil.Cómo escribir un teclado en pantalla localizado
No podemos usar el teclado predeterminado de Windows porque no necesitamos todas las teclas del teclado. Entonces me pidieron que escribiera uno personalizado en C#.
Ya encontré this blog como referencia, pero no estoy seguro de cómo empezar.
Creé una pequeña GUI prototipo y asigné para cada clave un scancode, y traduje estos códigos de exploración al personaje relacionado. Y enviarlos al control activo. Pero no estoy seguro de qué códigos de exploración debería usar.
Entonces mi pregunta es, ¿es esa la forma correcta de escribir un OSK como este y, en caso afirmativo, qué códigos de exploración debo usar? Cualquier enlace?
Tampoco estoy seguro de cómo manejar el cambio estados ...
Editar:
bien lo hice un poco más investigación y se acercó con un osk que lee la corriente diseño del teclado e incluso maneja los cambios fáciles estados (Shift y Alt Gr). Escribí una clase KeyButton
que hereda de Button
, esta KeyButton
tiene una propiedad ScanCode
de tipo byte y si le asigna un código de exploración válido, el KeyButton
llamará a las funciones relacionadas para obtener el texto correcto. Usé las funciones de los blogs de Michael Kaplan con algunos pequeños cambios. Al final resultó que solo tenía que hacer lo mismo que él.
Así que la respuesta a mi pregunta es: Sí, debe usar códigos de exploración en sus botones y luego obtener la clave virtual y el Unicode del diseño del teclado. Use these scancodes.
Ahora consigo los personajes, lo único que queda es enviarlos.
¿Es esta OSK para uso genérico o específicamente para un software dado? (Es decir, ¿alimentará los códigos de escaneo al bus de eventos de Windows o enviará códigos de char a una aplicación de winforms?) La diferencia es enorme. –
Para nuestro software, entonces quiero enviar códigos de char a un cuadro de texto. Pero quiero usar el diseño del teclado como el osk predeterminado en Windows. – MBulli
¿Qué pasa con las llaves muertas? – Joey