Gestion avancée du clavier c#/pocket pc

Contenu du snippet

Voici un programme qui gère les appuis court long et double appuis
Il s'agit d'un programme écrit sous Visual Studio Dot Net 2003 avec le SDK Pocket PC 2003.

Source / Exemple :


Voici l'algorithme simplifié du programme :

    Evénement on détecte un message de relâchement de touche
        Aucune touche pressée
    Fin Evénement

    Evénement on détecte un message de pression de touche
    Si aucune touche n’est appuyée alors
            Une touche est enfoncée
            Si le Timer1 n’ est pas lancé
                Lancement du timer1 // qui s’arrête au bout de 500ms
            Sinon
                Détection d’un double appuis
            Fin Si
    Fin Si
    Fin Evénement

    Evénement Timer1 arrêté
        Si l’on a pas détecté un double appuis
            On lance le Timer2 // qui s’arrête au bout de 300ms
        Sinon
            On ne détecte plus de double appuis
        Fin Si
    Fin Evénement

    Evénement Timer2 arrêté
        Si on a encore une touche pressée
            Détection d’un appui long
        Sinon
            Détection d’un appuis court
        Fin Si
    Fin Evénement

Conclusion :


En gros la détection se base sur une échelle de temps dont la réaction du programme s'effectue au maximum à 800ms pour ce qui est de la détection des appuis court et long et d'un peut moins pour ce qui est du double appuis (dépend de la vitesse de l'utilisateur).
// autrement dis : dans tout les cas l'action à effectuer en fonction de l'appui recherché s'exécute au maximum en 0.8 sec

Le programme détecte un appuis court si l'appui dure moins de 800ms, un appui long si l'appui dure plus de 800ms et double appuis si l'on appuie deux fois une touche en moins de 500ms d'intervalle.

Les touches détectées sont les touche directionnelles du PAD du Pocket PC. Vous vous demanderez peut être pourquoi a chaque touche du pad directionnel j'ai deux 'case', eh bien tout simplement parce que chez moi l'émulateur utilise les valeurs des touches du pavé numérique alors qu'un vrai pocket pc utilise la valeur des touches directionnelles (située entre les touches alphanumériques et numériques). Alors une bonne leçon : ne vous fiez pas à ce que vous dit l'emulateur car des fois on est loin de la réalité ... testez aussi sur le vrai pocket. Je suis resté deux semaines sur un problème de projet à l'école à cause de ça!!

Voila..Si vous avez des remarques ou simplement me remercier parce sa vous a aider :p ...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.