KEYCODE : QUELLE TOUCHE À ÉTÉ PRESSÉE ?

cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008 - 27 mars 2002 à 02:50
cs_fafal Messages postés 15 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 20 octobre 2008 - 8 mai 2008 à 13:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/15761-keycode-quelle-touche-a-ete-pressee

cs_fafal Messages postés 15 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 20 octobre 2008
8 mai 2008 à 13:15
bizard!!! j'ai copié ton code mais il ne marche pas sous firefox... savez vous ce qu'il faut modifier pour qu'il soit compatible??
LogansRun Messages postés 3 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 27 février 2010
17 nov. 2007 à 06:33
function process_keypress() {
// si nous avons un évênement clavier
if (window.event.type == "keypress" & window.event.keyCode > 0) {
alert(String.fromCharCode(window.event.keyCode)); // sous forme compréhensible
}
return true;
}

document.onkeypress = process_keypress;

au cas où ça intéresserait quelqu'un
cs_harry_cover Messages postés 15 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 12 juin 2006
4 juil. 2006 à 13:56
ok merci
lueurbleue Messages postés 3 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 22 février 2006
2 juil. 2006 à 19:18
pour ce faire utilise onkeydown et onkeyup plutot:

onkeypress détecte que tu as pressé une touche. Point barre.

onkeydown indique que tu viens d'enfoncer une touche et onkeyup que tu viens de la relacher:

essaies ceci pour comprendre ou je veux en venir:

<html>
<head>
</head>


<script>
UP=false;
DOWN=false;
LEFT=false;
RIGHT=false;
function keyUpdate()
{
code=""
if (UP) code+="En haut
";
if (DOWN) code+="En bas
";
if (LEFT) code+="A gauche
";
if (RIGHT) code+="A droite
";
document.getElementById("result").innerHTML=code;
}
function keyManager(e,down)
{
switch(e.keyCode)
{
case 38:
UP=down;
keyUpdate();
break;
case 37:
LEFT=down;
keyUpdate();
break;
case 39:
RIGHT=down;
keyUpdate();
break;
case 40:
DOWN=down;
keyUpdate();
break;
}
}

document.onkeydown=function(e)
{
if(!e) e=window.event;
keyManager(e,true);
}

document.onkeyup=function(e)
{
if(!e) e=window.event;
keyManager(e,false);
}
</script>

</html>


Il faut remplacer le contenu de keyUpdate par ton gestionnaire de touche après...

Bonne chance... côté serveur tu télécommande ta voiture comment? (en 2 mots parceque ce n'est pas le lieu pour parler côté serveur :p)
cs_harry_cover Messages postés 15 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 12 juin 2006
12 juin 2006 à 18:08
salut!!! en fin de compte ça fonctionne, mais je voudrais pouvoir associer deux touches. faire la touche 8 et 4 en simultanée. j'ai essayé avec keycode==56 && keycode==52 mais apparemment, le keycode refuse les touches simultanées. j'ai donc pensé faire une tempo.
si touche 8 presser
{
voiture avance
tempo 1 milliseconde
si touche 4 presser
{
voiture avance et tourne à gauche
}
}

mais je bloque avec la tempo. si quelqu'un peu m'aider? merci
cs_harry_cover Messages postés 15 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 12 juin 2006
30 mai 2006 à 16:16
j'ai mis de coté l'utilisation des touches directionnelles car je suis tombé sur un os. en fait mon programme devait par la suite utiliser ma page html pour piloter une voiture télécommandée par bus I2C mais apparemment il y a un bug avec le javascript.

voici mon code :

<html>
<head>
<title>Untitled</title>
</head>

<script language="JavaScript">
function process_keypress() {
// si nous pressons la touche 8 (code ascii 56)
if (window.event.type "keypress" & window.event.keyCode 56)
{

document.location.href="voiture?29999"
}

}
document.onkeypress = process_keypress;
</script>

Programme de test du clavier


</html>

si quelqu'un a une idée?
cs_harry_cover Messages postés 15 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 12 juin 2006
28 mai 2006 à 15:19
je vais essayer. Merci
cs_p2 Messages postés 10 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 27 mai 2006
27 mai 2006 à 12:54
cs_harry_cover Messages postés 15 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 12 juin 2006
22 mai 2006 à 18:29
Merci grâce à cela j'ai pu réaliser le prog que je voulais. c'est-à-dire utiliser une touche comme lien. il me reste à le faire avec les fleches directionnelles. si quelqu'un sait ?
cs_p2 Messages postés 10 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 27 mai 2006
24 juin 2005 à 10:28
En fait, c'est bon j'ai trouvé ce qu'il me fallait (http://www.javascriptfr.com/forum.v2.aspx?ID=376251&post=ok). Merci de votre aide, votre site est génial, on trouve tout ;)
cs_p2 Messages postés 10 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 27 mai 2006
24 juin 2005 à 10:28
En fait, c'est bon j'ai trouvé ce qu'il me fallait (http://www.javascriptfr.com/forum.v2.aspx?ID=376251&post=ok). Merci de votre aide, votre site est génial, on trouve tout ;)
cs_p2 Messages postés 10 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 27 mai 2006
23 juin 2005 à 12:14
Bonjour,
Comment fait on pour gérer les touches de déplacement (les touches du curseurs).
Merci d'avance!
pleejulien Messages postés 9 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 9 juin 2003
9 juin 2003 à 14:52
j'ai finallement trouvé une manière d'associer l'évenement document.onkeypress à moi.onkeypress et celà se fait comme suit :

document.onkeypress = function (e) {document.getElementById('moi').onkeypress(e)};
pleejulien Messages postés 9 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 9 juin 2003
8 juin 2003 à 14:20
Ben je vais être embêtant, mais ca aurait été bien complet si tu avais précisé comment on peut gérer dans moi.onkeypress l'évènement document.onkeypress ;)
En fait si je dit ca, c'est parce que je n'y aurrive pas lol
Avec :
function moi_keypress (e) {
if (e) this.value = e.keyCode;
else this.value = window.event.keyCode;
};

document.getElementById("moi").onkeypress = moi_onkeypress;
document.onkeypress = document.getElementById("moi").onkeypress;

En fait, dans ce bout de code, moi_keypress() ne s'exécute pas avec this == moi comme je m'y attendais...

Si quelqu'un a un idée qu'il en fasse part ici, ca me permettra à moi de me débloquer et à Yves d'améliorer son source :-)))
cs_Yves Messages postés 31 Date d'inscription samedi 2 mars 2002 Statut Membre Dernière intervention 21 décembre 2003
4 mai 2003 à 12:14
Que le résultat de la fonction n'est pas celui attendu. Dans certains cas, ça peut bloquer l'exectution demandée (on click pour un lien par exemple).
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
4 mai 2003 à 04:25
c important le 'return true', et si on met 'return false' quest-ce que cela produit ?
cs_Yves Messages postés 31 Date d'inscription samedi 2 mars 2002 Statut Membre Dernière intervention 21 décembre 2003
27 mars 2002 à 20:04
Dans divers, j'y vois des scripts utilisables tels quel et n'entrant pas dans une autre catégorie.
Ce script est inutile tel quel, par contre il prermet de voir comment utiliser l'évènement onkeypress. Ce n'est donc qu'une information.
Cette section s'appelle tutorial, et non tutorial complet. Je trouve qu'il y a sa place.
cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008
27 mars 2002 à 02:50
Un tutorial ?????? ou sa, sa devrai être dans divers !!!
Rejoignez-nous