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 :

Désactiver le touchpad en Python [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Sans
    Inscrit en
    Mai 2017
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mai 2017
    Messages : 62
    Par défaut Désactiver le touchpad en Python
    Bonjour
    je suis sous Linux et je cherche le moyen de désactiver le Touchpad de l'ordi quand la souris est présente
    avec la commande xinput on peut voir les périphériques branchés
    ⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
    ⎜   ↳ 2.4G Mouse                              	id=11	[slave  pointer  (2)]
    ⎜   ↳ ETPS/2 Elantech Touchpad                	id=15	[slave  pointer  (2)]
    ⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
        ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
        ↳ Power Button                            	id=6	[slave  keyboard (3)]
        ↳ Asus Wireless Radio Control             	id=7	[slave  keyboard (3)]
        ↳ Video Bus                               	id=8	[slave  keyboard (3)]
        ↳ Power Button                            	id=9	[slave  keyboard (3)]
        ↳ Sleep Button                            	id=10	[slave  keyboard (3)]
        ↳ USB2.0 VGA UVC WebCam: USB2.0 V         	id=12	[slave  keyboard (3)]
        ↳ Asus WMI hotkeys                        	id=13	[slave  keyboard (3)]
        ↳ AT Translated Set 2 keyboard            	id=14	[slave  keyboard (3)]
    j'ai écris le code ci-dessous pour détecter si une souris est branchée et dans ce cas uniquement désactiver le touchpad

    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
    import os
    result=str(os.system("xinput > xinput_result.tmp"))
    print(result)
    fichier1=open("xinput_result.tmp",'r')
    flagmouse=0
     
    for line in fichier1:
      if "Mouse" in line:
        flagmouse=1
        print("la souris est présente")
    fichier1.close()
     
    fichier1=open("xinput_result.tmp",'r')
    for line in fichier1:
      if "Touchpad"  in line and flagmouse==1:
        print("je désactive le touchpad")
        p=line.find("id=")
        os.system("xinput disable "+line[p+3:p+6])
    fichier1.close()
    os.system("rm xinput_result.tmp")
    Je n'ai pas trouvé le moyen de réaliser cette action sans passer par la création de fichier. Avez-vous une idée ? et également pour simplifier le code ?

    Merci par avance de vos conseils

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par ptitjoz Voir le message
    Je n'ai pas trouvé le moyen de réaliser cette action sans passer par la création de fichier. Avez-vous une idée ? et également pour simplifier le code ?
    Peut être que vous pourriez jeter un œil à la bibliothèque externe xinput appelable directement.

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

  3. #3
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    920
    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 : 920
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Je n'ai pas trouvé le moyen de réaliser cette action sans passer par la création de fichier. Avez-vous une idée ?
    Oui, (pas testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    result=str(os.system("xinput"))
    result = result.split("\n")
    puis tu boucles dessus...

  4. #4
    Membre confirmé
    Homme Profil pro
    Sans
    Inscrit en
    Mai 2017
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mai 2017
    Messages : 62
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    Bonjour,


    Oui, (pas testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    result=str(os.system("xinput"))
    result = result.split("\n")
    puis tu boucles dessus...
    Merci j'y avais pensé mais je n'arrive pas à extraire quoique ce soit de cohérent.
    Quelqu'un peut essayer ?
    Merci

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par ptitjoz Voir le message
    Merci j'y avais pensé mais je n'arrive pas à extraire quoique ce soit de cohérent.
    Quelqu'un peut essayer ?
    Normal, os.system ne retourne qu'un entier correspondant au status.
    os.open('commande').read() devrait fonctionner mais il est plutôt recommandé d'utiliser les fonctionnalités du module subprocess.

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

  6. #6
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    920
    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 : 920
    Billets dans le blog
    8
    Par défaut
    testé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subprocess.check_output(["xinput", "list"], encoding='UTF-8')

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

Discussions similaires

  1. Touchpad désactivé dans Ubuntu 18.04
    Par sovo dans le forum Ubuntu
    Réponses: 0
    Dernier message: 08/10/2018, 15h55
  2. [BATCH] Désactivation Souris/Touchpad USB PC Fixe
    Par vlx360 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 28/07/2017, 17h34
  3. Désactiver bords touchpad
    Par ziad.shady dans le forum Windows 8
    Réponses: 1
    Dernier message: 16/05/2013, 00h14
  4. [XP] Désactiver le clic du touchpad sur MSI VR600
    Par Djakisback dans le forum Périphériques
    Réponses: 5
    Dernier message: 06/02/2008, 18h14
  5. Réponses: 8
    Dernier message: 17/05/2002, 09h08

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