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

Python Discussion :

keyboard: bloquer un raccourci clavier


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    Août 2021
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : Août 2021
    Messages : 69
    Par défaut keyboard: bloquer un raccourci clavier
    bonjour,
    j'utilise le module keyboard et particulièrement la méthode keyboard.block_key(key) pour bloquer des touches.
    Mais j'aimerai bloquer un raccourci clavier (ctrl+a par exemple) mais sans bloquer les touches individuellement (les touches ctrl et a restent utilisables, seul leur association est bloqué).
    Dymon

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    ctrl est une touche du clavier qui génère aucun "caractère" (comme la touche majuscule) si on appuie sur rien d'autre en même temps => votre problème n'existe pas ou est mal formulé.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Perso je n'utilise pas keyboard (une lib qui ne s'utilise que sous root... ) mais il y a un exemple ici qui utilise des hotkey, style 'ctrl+shift+a'.
    Donc peut-être que la syntaxe fonctionnera aussi pour keyboard.block_key => keyboard.block_key("ctrl+a")...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre confirmé
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    Août 2021
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : Août 2021
    Messages : 69
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour
    Donc peut-être que la syntaxe fonctionnera aussi pour keyboard.block_key => keyboard.block_key("ctrl+a")...
    j'ai déjà essayé e ça ne fonctionne pas

  5. #5
    Membre confirmé
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    Août 2021
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : Août 2021
    Messages : 69
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    ctrl est une touche du clavier qui génère aucun "caractère" (comme la touche majuscule) si on appuie sur rien d'autre en même temps
    si j'appuie sur Ctrl+a la touche a ne sera pas afficher et ne sera pas considéré comme pressé pour les applications
    ce que je veux c'est que quand on appuie sur a la touche fonctionne correctement mais que quand on appuie sur ctrl+a je ne veux pas que le raccourci fonctionne (pas de sélection de texte pour cet exemple)

  6. #6
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Je n'utilise pas cette lib, mais voici comment avec tkinter je ferais pour savoir si plusieurs touches spécifiques sont pressées en même temps:
    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
    import tkinter as tk
     
    root = tk.Tk()
    flag_evt = {'ctrl': False, 'toucheA': False}
     
    def on_press(evt):
        if evt.keycode == 37:#touche ctrl
            flag_evt['ctrl'] = True
        elif evt.keycode == 24:#touche "a"
            flag_evt['toucheA'] = True
        if all(flag_evt[value] for value in flag_evt):
            print('Appui touche "a" et Ctrl simultané')
     
    def release(evt):   
        if evt.keycode == 37:#touche ctrl
            flag_evt['ctrl'] = False
        elif evt.keycode == 24:
            flag_evt['toucheA'] = False
     
    root.bind('<KeyPress>', on_press)
    root.bind('<KeyRelease>', release)
     
    root.mainloop()
    Édit: Je m'aperçois que je suis hors sujet ... Tant pis je laisse!

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/05/2011, 19h51
  2. [JTable] Raccourci clavier sur une Table
    Par sylvain_2020 dans le forum Composants
    Réponses: 5
    Dernier message: 05/07/2007, 09h01
  3. bloquer raccourci clavier page precedente
    Par moog dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/11/2005, 20h25
  4. [BPW]Raccourcis clavier dans une fenêtre enfant
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 18/02/2004, 20h07
  5. [] Raccourci clavier pour bouton d'une barre d'outil
    Par Sébastien dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/03/2003, 17h02

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