Partage
  • Partager sur Facebook
  • Partager sur Twitter

pyautogui sur ubuntu

ou comment écrire le bon caractère avec pyautogui.write()

    25 mai 2022 à 19:28:09

    Bonjour à tous,

    je code en python3 sous ubuntu 20.04 LTS avec un clavier Logitech "MX Keys" azerty french legacy alt

    j'utilise pyautogui.write() pour écrire des caractères précis sur une application que je ne peux contrôler que de cette manière.

    sous windows, aucun problème, chaque caractère demandé produit bien le caractère souhaité exemple :

    pyautogui.write('a')

    écrit bien en résultat le caractère "a"

    cependant, sous ubuntu, il y a des petites "bizarreries" exemple :

    pyautogui.write('1')

    produit le caractère "&", ou encore :

    pyautogui.write('9')

    produit "ç" tandis que :

    pyautogui.write('ç')

    produit " " (un espace)

    je me suis donc "amusé" à taper tous les caractères de mon clavier afin de trouver les correspondances. Le seul caractère que je n'arrive pas à écrire est le "7".

    je vous invite à lancer le code suivant et à cliquer sur un éditeur de texte (en moins de deux secondes)

    import pyautogui
    from time import sleep
    
    def traduction(tab):
        sleep(2)
        for s in tab:
            pyautogui.write(s)
            pyautogui.press('enter')
    
    azerty_min = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    traduc_min = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    azerty_maj = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
    traduc_maj = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
    azerty_chiffre = ['0','1','2','3','4','5','6','7','8','9']
    traduc_chiffre = ['à','&','é','"',"'",'(','-','è','_','ç']
    azerty_symbole_min = ['œ','&','é','"',"'",'(','-','è','_','ç','à',')','=','^','$','ù','*',',',';',':','!','<']
    traduc_symbole_min = [' ','1',' ','3',"'",'5','-',' ','8',' ',' ','°','=','9','£',' ','µ',',',';','/','§','>']
    azerty_symbole_maj_ver = ['Œ','&','É','"',"'",'(','-','È','_','Ç','À',')','=','^','$','Ù','*',',',';',':','!','<']
    traduc_symbole_maj_ver = [' ','1',' ','3',"'",'5','-',' ','8',' ',' ','°','=','9','£',' ','µ',',',';','/','§','>']
    azerty_symbole_touche_maj = ['Œ','1','2','3',"4",'5','6','7','8','9','0','°','+','¨','£','%','µ','?','.','/','§','>']
    traduc_symbole_touche_maj = [' ','&','é','"',"'",'(','-','è','_','ç','à',' ','+',' ',' ','%',' ','?',';',':',' ','>']
    azerty_symbole_touche_alt_gr = ['“','´','~','#','{','[','|','`',' ','^','@',']','}','~','ê','²','³','¿','×','÷','¡','|']
    traduc_symbole_touche_alt_gr = [' ',' ','2','3','4','(','6','p',' ','9','0',')','+','2',' ',' ',' ',' ',' ',' ',' ','6']
    azerty_symbole_touche_maj_alt_gr = ['”','·','É','¸','´','¨','¦','È','¯','Ç','À','ÿ','°',"'",'ë','Ù','¥','º','×','÷','˙','¦']
    traduc_symbole_touche_maj_alt_gr = [' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',"'",' ',' ',' ',' ',' ',' ',' ',' ']
    azerty_autre = ['\n','\t','\\']
    traduc_autre = ['\n','\t','_']
    
    azerty = [azerty_min, azerty_maj, azerty_chiffre, azerty_symbole_min, azerty_symbole_maj_ver, azerty_symbole_touche_maj, azerty_symbole_touche_alt_gr, azerty_symbole_touche_maj_alt_gr, azerty_autre]
    
    traduc = [traduc_min, traduc_maj, traduc_chiffre, traduc_symbole_min, traduc_symbole_maj_ver, traduc_symbole_touche_maj, traduc_symbole_touche_alt_gr, traduc_symbole_touche_maj_alt_gr, traduc_autre]
    
    for a in azerty:
        traduction(a)
        
    for t in traduc:
        traduction(t)

    chaque list commençant par "azerty" est les caractères possibles de mon clavier

    chaque list commençant par "traduc" est le resultat produit par la focntion pyautogui.write()

    comme vous pouvez le constater, j'ai même re-traduit les traduc eux-mêmes. Et pas moyen de trouver le "7" !!!

    quelqu'un aurais une idée ???

    est-ce un problème de table ASCII ? de compatibilité de clavier ? pyautogui n'est pas compatible ubuntu !?

    je rame un peu là

    merci d'avance





    • Partager sur Facebook
    • Partager sur Twitter

    pyautogui sur ubuntu

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown