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.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

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: Alles auswählen

gedr³ckt: Ó
gedr³ckt: H
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!
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Samstag 24. Januar 2009, 20:59

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

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

Samstag 24. Januar 2009, 21:38

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

Montag 26. Januar 2009, 12:58

Wow, ich nicht, sonst würde ich nicht Fragen...
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

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

Montag 26. Januar 2009, 14:51

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

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...)
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Montag 26. Januar 2009, 22:03

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

Mittwoch 28. Januar 2009, 16:29

Dann schilder mal was du nicht verstehst... :wink:
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

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:

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 ;-)
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

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.
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

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?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
Antworten