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

Interfaces Graphiques Perl Discussion :

Captures d'événements clavier avec Tk


Sujet :

Interfaces Graphiques Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2021
    Messages : 27
    Par défaut Captures d'événements clavier avec Tk
    Bonjour à tous.

    Je suis non-voyant, et débutant en langage perl.

    J'utilise un logiciel de revu d'écran appelé JAWS.

    J'ai un petit Script perl Tk, qui renvoi dans un print dans la consol la touche qui a été pressée.

    J'ai un soucis avec la touche f10.
    Mon script renvoi bien la touche, mais la bar de menu de windows s'ouvre sur ma fenêtre Tk.

    J'aurai besoin d'une âme charitable pour régler ce problème!!
    merci par avance!

    Voici mon script.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    use Tk; 
    $mw = MainWindow->new;
     
    $mw->bind("<Key>", [ sub {
    print "Touche : $_[1]\n";
     }, 
                         Ev('K')] ); 
    MainLoop;

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Bonsoir,
    J'ai fait le même test :
    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
    #!/usr/bin/perl
    use strict;
    use warnings;
    use utf8;
     
    use Tk;
    my $mw = MainWindow->new;
     
    $mw->bind(
    	"<Key>",
    	[
    		sub {
    			print "Touche : $_[1]\n";
    		},
    		Ev('K')
    	]
    );
     
    MainLoop;
    et j'ai le résultat suivant :
    Touche : 0
    Touche : 1
    Touche : 2
    Touche : 3
    Touche : 4
    Touche : 5
    Touche : 6
    Touche : 7
    Touche : 8
    Touche : 9
    Touche : F1
    Touche : F2
    Touche : F3
    Touche : F4
    Touche : F5
    Touche : F6
    Touche : F7
    Touche : F8
    Touche : F9
    Touche : F10
    Touche : L1
    Touche : L2
    L1 et L2 pour F11 et F12. Il faut bien positionner la souris à l'intérieur de la fenêtre Tk. Sinon, est-ce un clavier particulier ? Il est peut-être paramétré différemment non ?

    Cordialement,

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2021
    Messages : 27
    Par défaut
    Bonjour, merci de la réponce.

    J'utilise un clavier azerty standar.
    Il y aurai un moyen avec Tk de placer le curseur de la souris sur la fenêtre Tk?
    Je peux manipuler le focus avec mon logiciel revu d'écran, mais pour la souris, c'est plus compliqué de savoir où on se trouve.

    cordialement

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Bonsoir,

    en fait, je me suis mal exprimé. Ce n'est pas un souci de placement de souris mais de focus. Il faut bien que la fenêtre Tk ait bien le focus, ce qui est le cas par défaut au lancement.
    On peut le forcer avec le code $mw->focus;Néanmoins, cela ne résoud pas le souci car j'ai un comportement bizarre chez moi.

    Si je lance le programme en ligne de commande et je tape les touche F1 à F10, ça fonctionne par contre, F11 et F12 ne répondent pas. Je bouge la souris, sur la fenêtre voir clic dessus et là F11 et F12 fonctionnent.
    Mais ça ne répond pas toujours correctement, je n'ai pas de solutions pour le moment, j'essayerai de chercher quand j'aurais un peu plus de temps.

  5. #5
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2021
    Messages : 27
    Par défaut
    Bonjour, de mon coté j'ai ajouté $mw->focus; mais quand je fait F10, la touche F10 est bien affiché, mais la bar de menu s'ouvre. et F11 et F12 ne fonctionne pas.

  6. #6
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2021
    Messages : 27
    Par défaut
    Il y a vraiment un soucis qui est même aléatoire. j'ai retirer la ligne qui force le focus, et la même F11 et f12 ne sont retourné, alors qu'ils l'étaient avant. Il y a effectivement quelque-chose d'étrange

Discussions similaires

  1. capture d'événement clavier
    Par roland34 dans le forum Débuter
    Réponses: 4
    Dernier message: 11/03/2013, 22h43
  2. Capture d'évênement clavier par un composant non visible
    Par _Ulysse_ dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/05/2012, 16h14
  3. Capturer frappe au clavier avec un hook
    Par Baud10 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/09/2009, 19h56
  4. Capturer les événement claviers sous Webdev
    Par Dedalerun dans le forum WebDev
    Réponses: 0
    Dernier message: 19/01/2009, 08h26
  5. [JTabbedPane] capture des événements clavier
    Par sepas dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 13/06/2008, 23h10

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