Und nochmal Hotkeys

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Und nochmal Hotkeys

Beitragvon INFACT » Freitag 23. Januar 2009, 17:26

Sehr geehrtes Python-Forum!
Ich möchte für ein Programm Keys abfragen.
Ich habe das in diesem Forum schon gesucht und bin zu folgendem Script gekommen:

Code: Alles auswählen

import msvcrt
import thread
def SetHotKey(key,func,funcargs=None,CommandPrompt=False):
   
    otherkeys={"{LEFT}":"ÓK"}
   
    if key in otherkeys.keys():
       key=otherkeys[key]
       print "test",key
      
    def keylogger(taste,func,funcargs=None):
        while 1:
            x=msvcrt.getch()
            if x==taste:
                if funcargs:
                    func (funcargs)
                else:
                    func()
                   
    if CommandPrompt:
        keylogger(key,func,funcargs)
    else:
        thread.start_new_thread(keylogger,(key,func,funcargs))

das otherkeys dict kommt daher, dass, wenn man bestimmte Tasten bei diesem Script:

Code: Alles auswählen

def keylogger():
    while 1:
        x=msvcrt.getch()
        print "gedrückt:",x

drückt dieses herauskommt (ich habe NUR die up taste gedrückt):[code=]gedr³ckt: Ó
gedr³ckt: H[/code]
Wie kann ich verhindern, dass das da ^ passiert und wenn man eingibt

Code: Alles auswählen

>>> def hello(x):
    print "gedrückt",x
>>> SetHotKey("{LEFT}",hello,("left"),True)
#hier würde man dann left drücken
gedrückt left


Ich freue mich auch Antworten!
ein kleines game für die die lust haben http://konaminut.mybrute.com
;-)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Beitragvon Dauerbaustelle » Samstag 24. Januar 2009, 20:59

HÄ? wtf
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Re: Und nochmal Hotkeys

Beitragvon derdon » Samstag 24. Januar 2009, 21:32

INFACT hat geschrieben:Leute mit einenr minimalen Immunität gegen Aluminium leiden an einer Aluminiumminimumimmunität.


Bild
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Beitragvon Dauerbaustelle » Samstag 24. Januar 2009, 21:38

Habs in 1,4 Sek geschafft, fehlerfrei!
Benutzeravatar
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Beitragvon INFACT » Montag 26. Januar 2009, 12:58

Wow, ich nicht, sonst würde ich nicht Fragen...
ein kleines game für die die lust haben http://konaminut.mybrute.com

;-)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Beitragvon Dauerbaustelle » Montag 26. Januar 2009, 14:32

"Hä?" und "wtf" deuten meist auf Unverständnis hin...
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Beitragvon sea-live » Montag 26. Januar 2009, 14:51

welche python version benutzt du und welches OS
Benutzeravatar
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Beitragvon INFACT » Montag 26. Januar 2009, 21:42

Dauerbaustelle hat geschrieben:"Hä?" und "wtf" deuten meist auf Unverständnis hin...

Hä? wtf, ich denk du hast es in 1.4 sekunden geschafft?
Sieht mir eher nach 39 minuten aus, wenn ich mir die Zeit zwischen deinen Posts anschaue...("Hä? wtf" und "Habs in 1,4 Sek geschafft, fehlerfrei!") ...oder du brauchst 38:58,60 minuten um es zu verstehen. Dann würde mich allerdings dein letzter Post wundern

Sea-life hat geschrieben:welche python version benutzt du und welches OS
2.5.2 / Windows32 (noch, siehe unten, was ich davon halte...)
ein kleines game für die die lust haben http://konaminut.mybrute.com

;-)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Beitragvon Dauerbaustelle » Montag 26. Januar 2009, 22:03

Das Aufsahen von Aluminiumminimumimmunität dauerte 1,3 sek -.-
Benutzeravatar
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Beitragvon INFACT » Mittwoch 28. Januar 2009, 16:29

Dann schilder mal was du nicht verstehst... :wink:
ein kleines game für die die lust haben http://konaminut.mybrute.com

;-)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Beitragvon Dauerbaustelle » Mittwoch 28. Januar 2009, 17:56

Die Fragestellung :O
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Mittwoch 28. Januar 2009, 20:08

Dauerbaustelle hat geschrieben:Die Fragestellung :O

Sie kann nicht wirklich wichtig sein, wenn sich der OP so wenig Mühe gibt das ganze besser darzustellen ;-)
Benutzeravatar
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Beitragvon INFACT » Mittwoch 28. Januar 2009, 20:23

Hyperion hat geschrieben:
Dauerbaustelle hat geschrieben:Die Fragestellung :O

Sie kann nicht wirklich wichtig sein, wenn sich der OP so wenig Mühe gibt das ganze besser darzustellen ;-)

Ich möchte verhindern das das:

Code: Alles auswählen

gedr³ckt: Ó
gedr³ckt: H


passiert und stattdessen:

Code: Alles auswählen

gedrückt: {left}


vielleicht mit einem dict?

Code: Alles auswählen

dict={"Ó","H":"{left}"}
gedrückt=mscvrt.getch()
if gedrückt in dict.keys:  gedrückt=dict[gedrückt]


Ich habe nur das builtin dict als dictionari genommen, weil es ein beispiel ist.
ein kleines game für die die lust haben http://konaminut.mybrute.com

;-)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Beitragvon Dauerbaustelle » Mittwoch 28. Januar 2009, 21:34

INFACT hat geschrieben:Ich möchte verhindern das das:

Code: Alles auswählen

gedr³ckt: Ó
gedr³ckt: H

Soll ich dir Fragestellung aus dem Arsch ziehen? Ich habe echt besser zu tun! ....*abreg* Okay, und warum passiert das und wann?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Mittwoch 28. Januar 2009, 23:05

Das Enconding ist falsch und INFACT versucht das jetzt irgendwie über Textersetzung zu lösen, was eher keine gute Idee ist.

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]