begin process at 2012 02 04 09:21:39
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.NET

 > GESTION AVANCÉE DU CLAVIER C#/POCKET PC

GESTION AVANCÉE DU CLAVIER C#/POCKET PC


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :.NET Source .NET ( DotNet ) Classé sous :pocketpc, clavier Niveau :Initié Date de création :05/05/2005 Vu :12 657

Auteur : alncool

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

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

  • 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
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 ...


 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) ORIONBANQUE par toutphp
Source avec Zip Source avec une capture Source .NET (Dotnet) ORIONAPPLICATION par toutphp
Source avec Zip SOCKET CONNEXION CLIENT & SERVEUR par ziedto83
Source avec Zip Source .NET (Dotnet) FFMPEG.NET : WRAPPER .NET DE FFMPEG par MasterShadows
Source avec Zip Source .NET (Dotnet) ATTACHER, CRÉER ET SAUVEGARDER UNE BASE DE DONNÉES SQL SERVE... par Alvepinai

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) HOOK CLAVIER EN C# par bmastar
Source avec Zip Source .NET (Dotnet) HOOK CLAVIER par damned3
Source avec Zip Source avec une capture Source .NET (Dotnet) LIBRAIRIE RAWINPUT .NET par Lutinore
Source avec Zip Source avec une capture Source .NET (Dotnet) DIFFÉRENCE DE TEMPS, XML, POCKETPC / WINFORMS...... par Steph115
Source avec Zip Source .NET (Dotnet) SIMULATION D'ÉVÉNEMENTS CLAVIER ET SOURIS par mastercatz

Commentaires et avis

Commentaire de facdaar le 19/05/2005 19:20:39

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

Commentaire de georgeduke le 29/05/2005 09:28:54

ça pourrait être utile dans le développement de jeux, je pense.

Commentaire de alncool le 23/06/2005 13:56:12

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!

Commentaire de cedkat le 06/10/2006 09:46:10

Bonjour,

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

Merci
Cedkat

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

saisir au clavier [ par samih ] comment saisir au clavier caractere par caractere et non pas une chaine de caractere Simulation d'appui clavier [ par coban ] Bonjour, je tente de realiser un programme en C# permettant de simuler un appui sur une touche du clavier.Je c qu'il existe la fonction keybd_event, p Comment vider le buffer clavier [ par oboudou ] Bonjour,J'aimerais savoir comment je peux vider le buffer clavier en C#. Je traite un événement clavier, et j'ai besoin de le vider à la fin de ma fon clavier key [ par JCpp ] Je voudrais connaître les touches appuyer sur le clavier, pour que Jenny (Botmaster) puise connaître les mots frappés dans une autre application comme contrôle du clavier [ par Yandroide ] salut, J'ai un bouton qui lance une application externe dès qu'on clique dessus. L'application externe devient la fenêtre active. Je voudrais pouvoir c#, touche du clavier [ par stiley1 ] salut , j'ai 3 boutons (btn1, btn2, btn3)je voudrais associer tes touches du claviers à ces boutons(touches raccourcies)echap=btns, entree=btns et z=b Touches activent du clavier [ par JuS ] Comment savoir quelles sont les touches du clavier activent ?Par exemple, quand je lance mon appli, je voudrais savoir si je suis en mode INSER ou REF Automatiser une connexion internet sur pocketPC [ par loutremasquee ] Alors là je vais poser la question qui tue.Je souhaite que mon programme (qui tourne sur pocket pc) se connecte et deco de lui mm d'internet. Pour inf association entre touche clavier et bouton [ par Thanos_the_yopper ] j'aurais voulu savoir s'il était possible de dire que si on appuit sur une touche du clavier, ca équivaut à appuyer sur un bouton (genre j'appui sur F récupération des keydown du clavier ... [ par Thanos_the_yopper ] j'ai réussi a intercepter l'appuis sur les touches du clavier mais seulement sur les touches "classiques" (genre la touche A, F2, esc, etc ...)j'aurai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales