IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Capturer la combinaison ALT + touche sous internet explorer


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut Capturer la combinaison ALT + touche sous internet explorer
    Bonjour à tous,

    Je suis devant un cas un peu tordu ... sachant que je ne suis pas développeur web à la base

    Nous avons une appli "métier" couplée à un clavier spécifique.
    A cette appli, va se greffer un seconde appli web, mais commandée par le même clavier spécifique.

    Mon problème : les flèches haut bas gauche droite sont vues comme des raccourcies par IE (ALT + quelque chose ...)
    Je me suis dit qu'avec un peu de javascript, on pourrait "capturer" la combinaison de touche envoyé par le clavier puis ré-affecter la bonne combinaison à la place (je fait peut être complètement erreur ... ).

    la config : IE6 ou 7 sur les postes clients.

    Je cherche dans un premier temps à capturer le combinaison de touches envoyés par le clavier, mais je bloque déjà à ce niveau !

    ci-dessous, mon code ou j'en suis pour l'instant ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
    <title>Page de test Javascript</title>
     
     
    <script type="text/javascript">
     
    // --- Appel de la fonction des qu une touche est pressée
    document.onkeydown = applyKey;
     
    // --- Fonction de test du navigateur (si IE)
    function checkEventObj ( _event_ ){
    	if (window.event) return window.event;
    	else return _event_;
    	}
     
    //Fonction de test évenement et actions retour
    function applyKey (_event_){
    	var winObj 			= checkEventObj(_event_);
    	var CodeTouchePress    = winObj.keyCode;
    	var ToucheAlt  		= winObj.altKey;
    	var ToucheCtrl 		= winObj.ctrlKey;
     
    	if (ToucheCtrl) {
    		if (CodeTouchePress != 17) {
    			winObj.keyCode = 0;
    			alert("Touche CTRL "+CodeTouchePress);
    			winObj.returnValue = false;
    			return false;
    		}
    	}
    	else if (ToucheAlt) {
    		if (CodeTouchePress != 18) {
    			winObj.keyCode = 0;
    			alert("Touche ALT "+CodeTouchePress);
    			winObj.returnValue = false;
    			return false;
    		}
    	}
    	else {
    			winObj.keyCode = 0;
    			alert("La touche pressée est : "+CodeTouchePress);
    			winObj.returnValue = false;
    			return false;
    	}
    	winObj.returnValue = false
    	return false;
    }
     
    </script>
    </head>
     
    <body>
    <div style="font-size:18pt;font-weight:bold;">Page de test pour connaitre les touches ou combinaisons de touches utilisées</div>
    </body>
    </html>

    Avec ce code, j'arrive à récupérer si les touches ALT ou CTRL sont pressées + le code de la seconde touche ... sur un clavier normal !

    Sur mon clavier spécifique, je ne récupère que du ALT+40 (flèche bas) ou ALT+35 (FIN), alors que le code de la touche enfoncé est bien différent (test sur un notepad, j'obtiens biens des caractères différents ...)

    Entre les onkeypress, onkeyup et onkeydown, le tout cumulé avec les touches ALT et CTRL, j'avoue que je m'y perd un peu ...
    Qu'y a t'il dans mon code qui pourrait me générer le fait que je ne capte que du ALT 40 ou ALT35 sur mon clavier spécifique ?

    Merci d'avance aux bonnes âmes du forum

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Bonjour,

    Je pense que tu fais fausse route, même si tu es capable d'intercepter la combinaison en Javascript et de déclencher un évènement avec une nouvelle combinaison, cet évènement ne sera compréhensible que par Javascript, dans le sens où il ne pourra pas être interprété comme "combinaison de touches saisie par l'utilisateur" et remonter cette combinaison au système.

    Il vaudrait mieux directement modifier le code de la web-app pour qu'elle utilise comme combinaisons celles voulues sur le clavier spécial. Quitte à différencier deux web-apps ou à passer un argument dans l'URL indiquant le clavier utilisé.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut
    Merci pour ta réponse.

    Problème résolu, après plusieurs heures de chercher ... c'était les tables de conversion des pages de codes qui étaient corrompues

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transparence des images PNG sous Internet Explorer
    Par Torpedox dans le forum Webdesign & Ergonomie
    Réponses: 12
    Dernier message: 14/10/2008, 23h41
  2. [CSS] Supprimer espace entre 2 div sous Internet explorer
    Par Torpedox dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 30/12/2005, 16h41
  3. Problème de calque transparent sous internet explorer
    Par Fred333.ver dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/12/2005, 11h40
  4. pb de rollover sous internet explorer
    Par gofono_bass dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/12/2005, 07h05
  5. Texte qui disparait sous internet explorer.
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 14/08/2005, 02h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo