Script Javascript : Reconnaissance d'un touch

Résolu
Ralsalerm -  
kij_82 Messages postés 4260 Statut Contributeur -
Bonjour,
J'ai besoin de votre aide pour un script javascript.

En fait, j'aimerai faire un script qui réagis lorsque l'on appui sur une touche. Par exemple, lorsque l'on appui sur la flèche Haut, ben une image apparait etc ...

Si jamais vous avez un script qui correspond, merci de bien vouloir me le faire parvenir ici même ( Cela permettra aux autres d'avoir la solution a leurs problèmes plutôt que de refaire un sujet ).

Je vous remercie d'avance, et je vous ferai parvenir mon petit projet une fois terminé :D
A voir également:

5 réponses

imw Messages postés 233 Statut Membre 42
 
il faut utiliser l'événement onkeypress.

Tu peux l'appliquer sur document dans ton javascript :

document.onkeypress = KeyPress;

function KeyPress( event )
{
	
    alert( window.event.keyCode ); // pour IE
    alert( event.keyCode ); // pour les autres
}

Attention, le KeyCode, ce n'est pas la lettre, mais le numéro de la touche appuyée
Après, tu en fait ce que tu veux
1
Ralsalerm
 
Et quel sont ces fameux numéros ?
0
imw Messages postés 233 Statut Membre 42
 
avec le code que je t'ai donné, appuie sur une touche, il te donnera le numéro ...
0
kij_82 Messages postés 4260 Statut Contributeur 857
 
Bonsoir,

Un exemple complet, avec la liste des valeurs pour les touches les plus utilisées:

Fichier 'keyboard.js':

KEY_DOWN	= 40;
KEY_UP		= 38;
KEY_LEFT	= 37;
KEY_RIGHT	= 39;

KEY_END		= 35;
KEY_BEGIN	= 36;

KEY_BACK_TAB 	= 8;
KEY_TAB				= 9;
KEY_SH_TAB  	= 16;
KEY_ENTER			= 13;
KEY_ESC				= 27;
KEY_SPACE			= 32;
KEY_DEL				= 46;

KEY_A		= 65;
KEY_B		= 66;
KEY_C		= 67;
KEY_D		= 68;
KEY_E		= 69;
KEY_F		= 70;
KEY_G		= 71;
KEY_H		= 72;
KEY_I		= 73;
KEY_J		= 74;
KEY_K		= 75;
KEY_L		= 76;
KEY_M		= 77;
KEY_N		= 78;
KEY_O		= 79;
KEY_P		= 80;
KEY_Q		= 81;
KEY_R		= 82;
KEY_S		= 83;
KEY_T		= 84;
KEY_U		= 85;
KEY_V		= 86;
KEY_W		= 87;
KEY_X		= 88;
KEY_Y		= 89;
KEY_Z		= 90;

KEY_PF1		= 112;
KEY_PF2		= 113;
KEY_PF3		= 114;
KEY_PF4		= 115;
KEY_PF5		= 116;
KEY_PF6		= 117;
KEY_PF7		= 118;
KEY_PF8		= 119;

REMAP_KEY_T	= 5019;

function upEventKeyCode (_event_, _value_){
	if ( window.event)
		window.event.keyCode = _value_;
	else
		_event_.keyCode = _value_;
}
	
function upRetValue (_event_, _value_){
	if ( window.event)
		window.event.returnValue = _value_;
	else
		_event_.returnValue = _value_;
}
	
function applyKey (_event_){
	
	var intKeyCode = null;
	var intAltKey = null;
	var intCtrlKey = null;
	
	if ( window.event ){
		intKeyCode = window.event.keyCode;
		intAltKey = window.event.altKey;
		intCtrlKey = window.event.ctrlKey;
	}
	else{
		intKeyCode = _event_.keyCode;
		intAltKey = _event_.altKey;
		intCtrlKey = _event_.ctrlKey;
	}
		
	// --- Access with [ALT/CTRL+Key]
	if (intAltKey || intCtrlKey) {
		
		if ( intKeyCode == KEY_RIGHT || intKeyCode == KEY_LEFT ){
			// --- Display Message
			alert("Hello with ALT/CTRL !");
			// --- Map the keyCode in another keyCode not used
			intKeyCode = REMAP_KEY_T;
			upEventKeyCode(REMAP_KEY_T);
			upRetValue(false);
			return false;
		}
		
	}
	// --- Access without [ALT/CTRL+Key]
	else {
		
		if ( intKeyCode == KEY_RIGHT || intKeyCode == KEY_LEFT ){
			// --- Display Message
			alert("Hello !");
			// --- Map the keyCode in another keyCode not used
			intKeyCode = REMAP_KEY_T;
			upEventKeyCode(REMAP_KEY_T);
			upRetValue(false);
			return false;
		}
		
	}
	
}



Fichier 'index.html':
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript" 	SRC="keyboard.js"></SCRIPT>
</HEAD>

<BODY>

<script language="javascript">
document.onkeydown = applyKey;
</script>

</BODY>
</HTML>


Testé et approuvé, il ne devrait pas y avoir de raison pour que cela ne fonctionne pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kij_82 Messages postés 4260 Statut Contributeur 857
 
Bonjour,

Juste pour information, une astuce a été créée pour ce sujet :
https://www.commentcamarche.net/faq/18760-javascript-manipulation-des-controles-clavier

Bonne journée.
0