wie kann ich das loslassen einer taste erfassen?

  • hi alle

    ich möchte für mein notebook mit 2tastentouchpad ein kleines script schreiben, welches dessen nachteile ein wenig aufwiegt.
    Alt GR + up für mouseWeel up und Alt GR + down für mouseWeel down - das funktioniert auch prima
    und jetzt will ich noch die mausrad taste klicken bzw auch geklickt halten (für mausgesten) da dachte ich an Alt GR + left und erst wenn
    Alt GR losgelassen wird soll auch die mausradtaste losgelassen werden.

    bis jetzt sieht das bei mir so aus

    [autoit]

    #include <Misc.au3>
    hotkeySet("{F8}", "appClose")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $MiddleMouseVar = 0
    $dll = DllOpen("user32.dll")

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep ( 250 )
    If _IsPressed("12", $dll) Then ;alt key
    If _IsPressed("11", $dll) Then ;ctrl key
    If _IsPressed("26", $dll) Then MouseWheel("up", 1);up key
    if _IsPressed("28", $dll) Then MouseWheel("down", 1);down key
    if _IsPressed("25", $dll) Then ;left key
    $middleMouseVar = mousedown("middle")
    XXXXXXXX


    EndIf
    EndIf
    EndIf
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    func appClose()

    [/autoit][autoit][/autoit][autoit]

    mouseup("middle")
    exit
    EndFunc

    [/autoit]

    bei den XXXXX oder ein paar zeilen später müsste halt noch der mouseUp rein. nur ist halt die frage wie...


    EDIT:
    ich seh grad ALT GR + up oder down machen sich im Firefox schlecht - zumindest zum rauf und runter scrollen. - da muss ich nacher noch eine andere tastenkombi einsetzen

    Für Rechtschreibfehler gibt es keinen Finderlohn!!

    Einmal editiert, zuletzt von WiDDoW (15. Juni 2009 um 16:44)

  • hi

    und danke für das File aber ich such eigentlich nichts zum thema mausgesten
    1. Dein tool kenn ich schon (es ist doch DEIN Tool oder?), ist sehr nett, dadurch bin ich überhaupt auf das thema gekommen
    2. auch mit diesem tool muss ich irgendwie die mittlere Maustaste drücken um die geste zu aktivieren - und das ist ja das problem (nicht nur für mausgesten sondern auch so geht das bei mir total bescheiden)

    kleine randanekdote: ich hab ein Dell Studio Schleppdoof mit 2 Maustasten; 2 finger aufs Touchpad tippen (wie bei Synaptics) gibts bei dell nicht (dafür sollte sich Dell übrigens schämen!!); und eigentlich macht man ein mittelklick hier durch gleichzeitiges drücken von linker + rechter maustaste - aber so über die beiden Tasten im FF einen link in neuem tab öffnen zu können ist schon zufall wenn das klappt

    3. ich hab ein anderes mausgesten tool entdeckt - es nennt sich strokIt (google hilft hier gern weiter) das kann man direkt an Seine Anwendungen anpassen und für verschiedene anwendungen, verschiedeneaktionen angeben (zB auch "eine ebene zurück im Arbeitsplatz").


    wenn ich die mausradtaste nicht so häufig brauchen würde, würd ich sagen okay - Alt GR + left zum drücken und dann nochmal space zum loslassen, aber wenn man dann zB im FF nur mal nen link in neuem tab auf haben will besteht die gefahr das loslassen zu vergessen oder schlimmeres

    hab eigentlich auch nicht gedacht das es ein problem darstellt, da ja andere leute mit autoit auch schon keylogger und son sch**** programmiert haben, dacht ich, das ist keine große sache...

    Für Rechtschreibfehler gibt es keinen Finderlohn!!

  • hat niemand eine idee, wie man das umsetzen könnte?
    oder gehts vielleicht auch irgendwie mit hotKeySet() ???

    ps: sry fürs hochpushen... :whistling:

    Für Rechtschreibfehler gibt es keinen Finderlohn!!

  • Ggf. funktioniert es so:

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3>
    hotkeySet("{F8}", "appClose")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $MiddleMouseVar = 0
    $dll = DllOpen("user32.dll")

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep ( 250 )
    If _IsPressed("12", $dll) Then ;alt key
    If _IsPressed("11", $dll) Then ;ctrl key
    If _IsPressed("26", $dll) Then MouseWheel("up", 1);up key
    if _IsPressed("28", $dll) Then MouseWheel("down", 1);down key
    if _IsPressed("25", $dll) Then ;left key
    $middleMouseVar = mousedown("middle")
    ; XXXXXXXX


    EndIf
    EndIf
    Else
    If $MiddleMouseVar = 1 Then
    ; wenn 'alt' losgelassen wird
    mouseup("middle")
    $MiddleMouseVar = 0
    EndIf
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    func appClose()
    mouseup("middle")
    exit
    EndFunc

    [/autoit]

    Nur probieren konnte ich es nicht, weil Dein Script allgemein bei mir schon nicht funktionert !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • oh gott bin ich blödddd X( (about me)

    ich hab selbst schon viel mit else experimentiert, weil ich mir dachte es kann ja nur so gehen
    aber irgendwie hats bei mir doch nie richtig funktioniert...

    naja - seis drum
    jetzt gehts - vielen dank


    bleibt nur die frage warum das script bei dir algemein schon nicht läuft.
    die XXXXX hast du ja wie ich sehe auch um ein " ; " ergänzt, daran kanns also nicht liegen...


    naja wer weiß - bei dir muss es ja auch nicht funktionieren ;) hauptsache, bei mir gehts
    also nochmal vielen dank - prob. gelöst

    Für Rechtschreibfehler gibt es keinen Finderlohn!!