Gestion avancée du clavier c#/pocket pc

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 674 fois - Téléchargée 29 fois

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

Ajouter un commentaire

Commentaires

Messages postés
172
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
3 juin 2011

Bonjour,

C'est bien mais pourrais-tu mettre du code ?
Je cherche comment récupérer les evenements du clavier du pocket.

Merci
Cedkat
Messages postés
16
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
12 juillet 2005

Oui je comprend que pour l'utilisation générale d'un pocket pc c'est pas de grande utilité mais dans mon cas, j'ai développé ce programme afin de radiocommander un robot de surveillance avec le pocket d'ou l'intéret des nombreuses interraction avec peu de touche se qui explique les différents appuis.
Merci d'avoir laissé vos impréssions ;)
Si vous avez des incompréhension n'hésitez pas!
Messages postés
167
Date d'inscription
dimanche 6 février 2005
Statut
Membre
Dernière intervention
13 avril 2007

ça pourrait être utile dans le développement de jeux, je pense.
Messages postés
64
Date d'inscription
lundi 24 mars 2003
Statut
Membre
Dernière intervention
23 février 2009

Le code est intéressant,mais l'intérêt limité !!

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.