2010-12-04 41 views
7

Estoy bastante aburrido este fin de semana.¿Cómo puedo acceder a mi panel táctil en C#?

He decidido crear una aplicación de código morse donde pueda usar mi trackpad para tocar el código morse y hacer que mi aplicación lo escuche.

¡Te dije que estaba aburrido! : D

¿Hay alguna forma defacto de acceder a un panel táctil en C#? Me refiero al uso de gráficos de presión. ¡Gracias!

Respuesta

2

No estoy familiarizado al 100% con la idea del trackpad, pero supongo que la máquina con la que está trabajando es una computadora portátil, y a lo que se refiere es algo también conocido como "mousepad".

Puede hacer un par de cosas al menos en Windows. Cuando toca con el dedo, en realidad está enviando eventos de "clic" al tiempo de ejecución de Windows. Si mantiene

En cualquier objeto .NET (Formularios/UserControls) que hereda de System.Windows.Forms.Control pueden suscribirse a los siguientes eventos:

  • MouseDown MouseUp
  • MouseEnter
  • MouseLeave
  • MouseClick
  • MouseDoubleClick

Puede medir la diferencia de tiempo entre los eventos MouseUp y MouseDown y reaccionar a los rangos de intervalo de tiempo resultantes. Por ejemplo, si mantiene el mouse durante 20 milisegundos, este es un carácter de código morse, mientras que mantener el mouse durante 40 milisegundos es otro carácter.

En el caso de la alfombrilla de ratón/panel táctil, esto equivaldría a mantener el dedo sobre la misma almohadilla.

+0

Probablemente la forma más fácil de hacerlo ... –

+4

Tienes tu terminología mezclada. Una "alfombrilla de ratón" es una pieza de espuma recubierta de tela sobre la que coloca el mouse (y eso es básicamente obsoleto con los ratones ópticos actuales). http://en.wikipedia.org/wiki/Mousepad Un "trackpad" es el reemplazo del mouse que usted opera mediante touch (también llamado "touchpad"). http://en.wikipedia.org/wiki/Touchpad –

1

Algunos controladores de pestañas usan el mensaje de entrada de mouse para obtener información adicional para enviar, bueno, información adicional. Creo que WACOM hace esto para enviar la presión de la pluma.

Esta información se puede consultar utilizando el GetMessageExtraInfo Function

tal vez debería comprobar si hay algo interesante con su plataforma, pero probablemente del proveedor específico, en todo caso es aún disponible, que no es cierta.

+0

Algunos datos interesantes (pero probablemente no útiles para la tarea de Serg) sobre la historia de 'GetMessageExtraInfo' se publican en el blog de Raymond Chen. [Ver aquí] (http://blogs.msdn.com/b/oldnewthing/archive/2010/11/29/10097548.aspx). Bueno, Serg dijo que estaba aburrido, así que es entretenido al menos :) – Brian

Cuestiones relacionadas