Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Appui long sur le clavier
Auteur Message
Répondre en citant
Message Appui long sur le clavier 
Salut,
je ne sais pas trop comment expliquer ce problème, en fait quand on reste appuyé sur une touche (la barre espace dans mon exemple), ça émet un signal, puis il faut attendre un certain laps de temps pour que la touche soit bien restée appuyée, testez ce code et vous allez vite comprendre Sad

Nécessite batbox dans le dossier courant.

Vous démarrez le code, le curseur va avancer tout seul, maintenant enfoncez la barre espace et ne la relâchez pas (au moins 5sec) et vous verrez se dessiner à l'écran ce dont je vous parle Shocked
Code:
@echo off
:loop
batbox /k_
if %errorlevel%==32 (
batbox /d "#" /w 50
) else batbox /d " " /w 50
goto loop


Donc, y'a moyen de supprimer l'espace produit afin que l'appui de la touche ait un effet prolongé immédiat? merci d’avance.




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :

Hugo7, sans faire exprès... a écrit:
Il conviendra de [...] supprimer le panneau de la liste des panneaux présente dans une variable liste dans la liste des variables.
Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Re: Appui long sur le clavier 
Hugo7 a écrit:
Salut,
je ne sais pas trop comment expliquer ce problème, en fait quand on reste appuyé sur une touche (la barre espace dans mon exemple), ça émet un signal, puis il faut attendre un certain laps de temps pour que la touche soit bien restée appuyée, testez ce code et vous allez vite comprendre Sad

Nécessite batbox dans le dossier courant.

Vous démarrez le code, le curseur va avancer tout seul, maintenant enfoncez la barre espace et ne la relâchez pas (au moins 5sec) et vous verrez se dessiner à l'écran ce dont je vous parle Shocked
Code:
@echo off
:loop
batbox /k_
if %errorlevel%==32 (
batbox /d "#" /w 50
) else batbox /d " " /w 50
goto loop


Donc, y'a moyen de supprimer l'espace produit afin que l'appui de la touche ait un effet prolongé immédiat? merci d’avance.


Je t'avoue que je comprend pas pourquoi ça produit cet effet puisque au moment où tu appui sur espace il met l'erreur level à 32 puis on ne sait pas pourquoi il nous pond un autre erreur level à la place dans la boucle suivante.
Ce problème vient de windows j'en suis sûr à 100%.

Pour prouver que ça vient de windows, c'est très simple : ouvrez le bloc note et restez appuyer sur une touche, vous observerez le même résultat.
J'ai jamais fait attention à ce petit détail de windows Mr. Green

Le seul moyen pour contrer ça et d'attendre que notre petit windows ce rende compte qu'il s'agit d'un appui prolongé et que le keycode retourné doit être celui de la touche concerné.
Bon après il doit exister d'autres solutions je pense Mr. Green


Donc j'ai fait un truc comme ça à l'arrache et ça à l'air d'être bon :
Code:
@echo off
set press=false
:loop
  batbox /k_
  if errorlevel 32 (
    batbox /d "#" /w 50
    if "%press%"=="false" @ping localhost -n 2 >nul
    set press=true
  ) else (
    batbox /d " " /w 50
   set press=false
  )
goto loop



p.s : je pense que l'on peut modifier ce délai dans les paramètres de windows mais c'est pas très bon
car si tu veux partagé l'un de tes programmes qui utilise ceci ce serai con de dire au début du prog : alors allé dans paramètre....
xDDD




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message Appui long sur le clavier 
Merci de ta réponse.
Ton code fonctionne pour les appuis longs, mais il y a un temps d'attente.
En fait je voulais faire un batch pour y taper du code morse alors t'as des appuis simples et des appuis prolongés, donc ça va dépendre du cas, et il faudrait trouver une astuce qui rend possible ces deux cas.




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :

Hugo7, sans faire exprès... a écrit:
Il conviendra de [...] supprimer le panneau de la liste des panneaux présente dans une variable liste dans la liste des variables.
Visiter le site web du posteur Skype
Répondre en citant
Message Appui long sur le clavier 
Wtf Batbox c'est outdated les mecs xDD



Répondre en citant
Message Appui long sur le clavier 
Y'a pas que batbox, ce phénomène de "100001111111" se produit aussi sur les éditeurs de textes, ouvre un notepad et reste appuyé sur la barre espace, tu verras que ça t'ajoute un espace, puis après un certain temps ça commence enfin à t'en envoyer plusieurs, c'est une marge car certains restent appuyés plus longtemps sur les touches que d'autres, et pour l'instant je ne connais qu'un seul code JS qui et capable de détecter un appui continu sans ce temps : c'est de mesurer le temps entre keydown et keyup Okay




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :

Hugo7, sans faire exprès... a écrit:
Il conviendra de [...] supprimer le panneau de la liste des panneaux présente dans une variable liste dans la liste des variables.
Visiter le site web du posteur Skype
Message Appui long sur le clavier 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch