Répétition des touches
Fermé
Anselmedu25
Messages postés
15
Date d'inscription
vendredi 1 novembre 2013
Statut
Membre
Dernière intervention
25 janvier 2014
-
1 janv. 2014 à 23:14
Anselmedu25 Messages postés 15 Date d'inscription vendredi 1 novembre 2013 Statut Membre Dernière intervention 25 janvier 2014 - 8 janv. 2014 à 14:31
Anselmedu25 Messages postés 15 Date d'inscription vendredi 1 novembre 2013 Statut Membre Dernière intervention 25 janvier 2014 - 8 janv. 2014 à 14:31
A voir également:
- Répétition des touches
- Touches rémanentes c'est quoi - Guide
- Les touches f1 f2 f3 f4 ne fonctionnent pas ✓ - Forum Clavier
- Les touches de mon clavier ne correspondent pas - Forum Clavier
- Réinitialiser android avec les touches - Guide
- Problème des trois touches du bas qui ne fonctionne plus - Forum Wiko
4 réponses
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 225
Modifié par gravgun le 2/01/2014 à 00:13
Modifié par gravgun le 2/01/2014 à 00:13
Salut, faut trouver une parade à ce comportement, vu qu'il dépend des paramètres du clavier de l'utilisateur, et qu'il n'existe pas de fonction pour imiter ça.
Donc dans ton JS, il faut faire joujou avec le keydown et keyup ainsi qu'un Timeout, exemple:
Pas testé, je sais pas si ça marchera du premier coup ;)
EDIT: corrigé le code, ça marche
Précision: ça gère plusieurs touches à la fois
Mais c'est loin d'être parfait
from human import idiocy
del idiocy
Donc dans ton JS, il faut faire joujou avec le keydown et keyup ainsi qu'un Timeout, exemple:
var attenteRepet = 500, intervalleRepet = 100; var timeoutRepet = []; window.onkeydown = function(event) { gererAppuiTouche(event.keyCode); if (!timeoutRepet[event.keyCode]) { timeoutRepet[event.keyCode] = setTimeout(function(){gererRepetition(event.keyCode);}, attenteRepet); } } function gererRepetition(keyCode) { gererAppuiTouche(keyCode); timeoutRepet[keyCode] = setTimeout(function(){gererRepetition(keyCode);}, intervalleRepet); } window.onkeyup = function(event) { if (timeoutRepet[event.keyCode]) { clearTimeout(timeoutRepet[event.keyCode]); } }
Pas testé, je sais pas si ça marchera du premier coup ;)
EDIT: corrigé le code, ça marche
Précision: ça gère plusieurs touches à la fois
Mais c'est loin d'être parfait
from human import idiocy
del idiocy
Anselmedu25
Messages postés
15
Date d'inscription
vendredi 1 novembre 2013
Statut
Membre
Dernière intervention
25 janvier 2014
3
2 janv. 2014 à 11:21
2 janv. 2014 à 11:21
Merci énormément! J'essaierai ton code au plus vite et je te dirai si il marche.
(Bonne année! :p)
(Bonne année! :p)
Anselmedu25
Messages postés
15
Date d'inscription
vendredi 1 novembre 2013
Statut
Membre
Dernière intervention
25 janvier 2014
3
2 janv. 2014 à 13:27
2 janv. 2014 à 13:27
Hum... Seulement, ou dois-je placer ce code? :/
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 225
2 janv. 2014 à 13:37
2 janv. 2014 à 13:37
Ce code n'était qu'un exemple de ce que tu peux faire pour simuler une répétition; je l'ai fait à la va-vite et c'est juste a titre indicatif. Tu ne peux pas placer ce code directement dans le tien, il faut que tu l'adaptes: ça dépend de comment tu gères déjà les touches, de comment le script est chargé, etc...
Donc y'a pas de réponse directe à cette question :)
Donc y'a pas de réponse directe à cette question :)
Anselmedu25
Messages postés
15
Date d'inscription
vendredi 1 novembre 2013
Statut
Membre
Dernière intervention
25 janvier 2014
3
8 janv. 2014 à 14:31
8 janv. 2014 à 14:31
Ok merci! :) Je vais me debrouiller :)