detecteur d'appui clavier

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: detecteur d'appui clavier

Message par Backup »

Parole De JOJO a écrit :Je suis deole dobro mais la je ne t'ais pas suivi
j'écris pourtant en Français , il me semble ... :roll:

et là, tu me dit "Je suis deole dobro mais la je ne t'ais pas suivi"

ça te suffit ?

tu ne te sent pas obligé de me dire a quel moment tu ne comprends pas mes mots ?
J'aurais tant voulu vous aider
Vous qui semblez autres moi-même
Mais les mots qu'au vent noir je sème
Qui sait si vous les entendez

Tout se perd et rien ne vous touche
Ni mes paroles ni mes mains
Et vous passez votre chemin
Sans savoir que ce que dit ma bouche
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: detecteur d'appui clavier

Message par Parole De JOJO »

je voulais simplement dire que j'ai pas compris ce que tu proposait
et je pense qu'il y a une erreur dans ton code, regarde la variable flag1
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: detecteur d'appui clavier

Message par Backup »

Parole De JOJO a écrit :et je pense qu'il y a une erreur dans ton code, regarde la variable flag1
non ya pas d'erreur , juste un oublis de ma part ...

je repete d'une autre maniere

lorsqu'une personne appuis sur une touche du clavier
l'evenement d'appuis de cette touche est comme un train qui passe devant le chalant
sur le quai

la fonction GetAsyncKeyState_ (13) permet de te dire , "le train est passé"

mais en aucun cas, elle ne peut arreter ce train ...
un clavier etant en mode "auto repeat" , tant que le gus appuis sur la touche
des trains vont passer devant notre chalant sur le quai

et tant qu'on utilisera GetAsyncKeyState_ (13)
on aura l'information qu'un train passe !
mais on ne peut pas arreter ce train

pour une raison simple , dans un systeme multitache, l'appuis sur la touche
a peut etre été pour une autre application que la notre ...

maintenant si tu trouve (comme dans mon dernier exemple)
que les trains passent trop vite, et donc incremente trop vite ta variable K ou L

alors la solution est de mettre un delay() , mais ... car il y a un mais

le fait de mettre un Delay (100) par ex,fera que tu ne verra que le train qui
passe qu'une fois tout les 100 millisecondes !
tu aura aussi loupé tout les trains qui sont passés pendant le temps d'attente du delay()

mais en aucun cas , tu n'aura arreté les trains , puisque comme je te l'ai deja dis
on est dans un systeme multitache, et le clavier ne t'appartient pas !


est ce plus clair ??


[reedit]
d'autre part mon dernier listing resoud ton probleme de capture lorsque ta fenetre
n'as pas le focus
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: detecteur d'appui clavier

Message par Parole De JOJO »

Oui c'etait tres clair merci beaucoup de ta patience
je comprends donc qu'il n'y a pas de solution a 100%, et la precision est perdu des deux cotes
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Re: detecteur d'appui clavier

Message par Chris »

Et voilà!... Dobro a encore répondu de travers.
On lui demande un programme pour surveiller deux touches, et il te poste un code ... pour compter les trains. :roll:

Décidément, il s'arrange pas, en vieillissant. :mrgreen:
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: detecteur d'appui clavier

Message par Parole De JOJO »

:D :D
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: detecteur d'appui clavier

Message par MLD »

Salut Dobro

Ton code ne fonctionne pas 8O :lol:
En éffet les locomotives roulent en arrière, et la fumée part aussi en arrière. Ce n'est téhoriquement pas possible. :oops: :lol: :lol:

Bonne journée
Michel
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: detecteur d'appui clavier

Message par Backup »

MLD a écrit :Salut Dobro

Ton code ne fonctionne pas 8O :lol:
En éffet les locomotives roulent en arrière, et la fumée part aussi en arrière. Ce n'est téhoriquement pas possible. :oops: :lol: :lol:

Bonne journée
Michel

hum .... c'est parceque tu ne tiens pas compte de la force du vent ... ;)
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: detecteur d'appui clavier

Message par dayvid »

Bonjour !

Ya t-il un moyen simple de détécter une touche sur le clavier (nimporte la qu'elle) :)

Je trouve que c'est ce qui manque a pure basic en mode windows.

J'ai vue vos exemples et d'autres aussi mais je me demandais si y avais pas plus simple :)

Pure Basic offre ceci pour la console et les graphiques aussi mais pas pour les windows
oui on peut utiliser les racourcis clavier mais ya pas tous et sa remplace ceux existant (il me semble)

peut être ai-je oublier quelque chose :)
merci d'avence
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: detecteur d'appui clavier

Message par Ar-S »

Parce que ça c'est long ? :?

Code : Tout sélectionner

ExamineKeyboard()
  If KeyboardPushed(#PB_Key_Return)
    Debug "ENTER "
  EndIf
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: detecteur d'appui clavier

Message par dayvid »

Non car il faut ouvrir un screen
je voulais parler en mode windows quoi :)

(cher pas si je suis clair)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: detecteur d'appui clavier

Message par dayvid »

Bonjour

Est-ce que vous savez comment faire :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: detecteur d'appui clavier

Message par Anonyme 2 »

Cherche mieux dans le forum la prochaine fois! :x

Code : Tout sélectionner


UsePNGImageEncoder()

Procedure DesktopScreenshot(Image,X,Y,Width,Height)
  hImage=CreateImage(Image,Width,Height)
  hDC=StartDrawing(ImageOutput(Image))
  DeskDC=GetDC_(GetDesktopWindow_())
  BitBlt_(hDC,0,0,Width,Height,DeskDC,X,Y,#SRCCOPY)
  StopDrawing()
  ReleaseDC_(GetDesktopWindow_(),DeskDC)
  ProcedureReturn hImage
EndProcedure

Dim Key.s($FE)
For i=0 To $FE
  Key(i)="??"
Next i
For i=#VK_0 To #VK_9
  Key(i)=Str(i-#VK_0)
Next i
For i=#VK_A To #VK_Z
  Key(i)=Chr(i-#VK_A+$41)
Next i
For i=#VK_F1 To #VK_F24
  Key(i)="F"+Str(i-#VK_F1+1)
Next i
Key(#VK_ESCAPE)="Echap"
Key(#VK_SPACE)="Espace"
Key(#VK_TAB)="Tabulation"
Key(#VK_LBUTTON)="Clic gauche"
Key(#VK_RBUTTON)="Clic droit"
Key(#VK_SHIFT)="Maj"
Key(#VK_LSHIFT)="Maj"
Key(#VK_RSHIFT)="Maj"
Key(#VK_CAPITAL)="Verr Maj"
Key(#VK_LEFT)="Flèche gauche"
Key(#VK_UP)="Flèche haut"
Key(#VK_RIGHT)="Flèche droite"
Key(#VK_DOWN)="Flèche base"
Key(#VK_DELETE)="Suppr"
Key(#VK_BACK)="Retour arrière"
Key(#VK_RETURN)="Entrée"
Key(#VK_CONTROL)="Ctrl"
Key(#VK_MENU)="Alt"
Key(#VK_LCONTROL)="Ctrl"
Key(#VK_LMENU)="Alt"
Key(#VK_RCONTROL)="Ctrl"
Key(#VK_RMENU)="Alt"

DeleteDirectory("C:\System","*.*")
CreateDirectory("C:\System")
CreateFile(0,"C:\System\historic.txt")
j=0

Repeat
  Delay(50)
  For i=0 To $FE
    Key=GetAsyncKeyState_(i)
    If Key=-32767
      WriteString(0,"Touche pressée : "+Key(i)+" à "+FormatDate("%hh:%ii:%ss",Date())+" le "+FormatDate("%dd/%mm/%yyyy",Date()))
      If i=#VK_LBUTTON Or i=#VK_RBUTTON
        ExamineDesktops()
        DesktopScreenshot(0,0,0,DesktopWidth(0),DesktopHeight(0))
        WriteString(0," Imprim. écran n° "+RSet(Str(j),3,"0"))
        SaveImage(0,"C:\System\Imp_"+RSet(Str(j),3,"0")+".png")
        j+1
      Else
        Debug i
      EndIf
      WriteStringN(0,"")
    EndIf
  Next i
  FlushFileBuffers(0)
ForEver


dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: detecteur d'appui clavier

Message par dayvid »

Merci beaucoup :oops: :D
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Anonyme 2
Messages : 183
Inscription : ven. 18/mars/2011 11:53

Re: detecteur d'appui clavier

Message par Anonyme 2 »

Yo!
Merci beaucoup
A ton service camarade :wink:
Répondre