Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Schnelles Scrollen mit Mausrad und RButton

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe!
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Riccardo



Anmeldedatum: 06.12.2006
Beiträge: 14

BeitragVerfasst am: Mi Dez 06, 2006 11:43 am    Titel: Schnelles Scrollen mit Mausrad und RButton Antworten mit Zitat

Hallo Foren-TN,

wie im Titel schon dargestellt möchte ich schnellens vertikales Bildschirm-Scrollen damit erreichen, dass ich die rechte Maustaste drücke und halte während nach oben oder unten mit dem Mousewheel gescrollt wird. Dazu gibt es folgendes Script.

=======================================
Code:

Flag = false                  ; by default, the rbutton should be sent

RButton & WheelUp::
Flag = true                  ; this says the rbutton shouldn't be sent
Send, {PgUp}
Return

RButton & WheelDown::
Flag = true
Send, {PgDn}
Return

; if rbutton alone or in any combination
$*RButton::
{
If ! %Flag%            ; if we haven't set the flag to say don't send it....
   Send, {RButton}
Else
   Flag = false        ; if we have set the flag, reset it
Return
}

=======================================

Dieses Script funktioniert leider nicht in allen Programme zuverlässig. Manchmal kommt schon beim Runterdrücken der rechten Maustaste das Kontextmenü, welches eigentlich erst erscheinen sollte, wenn die rechte Taste wieder losgelassen wird. Das funtkioniert erst dann wieder, wenn erst die linke und dann die rechte Maustaste gedrückt wird. Das ist ziemlich lästig, wenn das nur gelegentlich funktioniert. Besonders zeigt sich dieses Problem beim meinem Internetbrowser (SeaMonkey). Nicht z. B. bei NotePad.

Vielleicht habt Ihr da eine Idee, wie man das optimieren kann? Vielleicht irgendwas mit VM_VSCROLL?

Gruß

Richard
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
denick



Anmeldedatum: 15.09.2006
Beiträge: 1240
Wohnort: Berlin

BeitragVerfasst am: Do Dez 07, 2006 6:11 am    Titel: Antworten mit Zitat

Moin,

die Variablen True und False können nur mit der Syntax für Expressions korrekt verwendet werden. Flag = True weist Flag den String "True" zu, Flag := True setzt Flag auf 1. Deshalb könnte
Code:
Flag := false                  ; by default, the rbutton should be sent

RButton & WheelUp::
Flag := true                  ; this says the rbutton shouldn't be sent
Send, {PgUp}
Return

RButton & WheelDown::
Flag := true
Send, {PgDn}
Return

; if rbutton alone or in any combination
$*RButton::
{
If ! Flag            ; if we haven't set the flag to say don't send it....
   Send, {RButton}
Else
   Flag := false        ; if we have set the flag, reset it
Return
}

ein wenig besser laufen. Mit Seamonkey konnte ich nicht probieren, mit Firefox scheint es aber zu funktionieren. Du verlierst allerdings den ersten Rechtsklick nach jeder "schnellen" Scrollaktion.
_________________
Hilfe zur Hilfe

(de)nick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Riccardo



Anmeldedatum: 06.12.2006
Beiträge: 14

BeitragVerfasst am: Do Dez 07, 2006 2:44 pm    Titel: Danke Antworten mit Zitat

Hallo & vielen Dank für die Antwort!

denick hat Folgendes geschrieben:
Deshalb könnte (obiges Script) ein wenig besser laufen. Mit Seamonkey konnte ich nicht probieren, mit Firefox scheint es aber zu funktionieren. Du verlierst allerdings den ersten Rechtsklick nach jeder "schnellen" Scrollaktion.


Ausprobiert! Und läuft tatsächlich zuverlässiger. Der Nachteil, dass nach jedem "SchnellScroll" die Rechte Maustaste nicht mehr (auf dem ersten Klick) funktioniert hat sich beim Ausprobierten als lästiger herausgestellt als zunächst angenommen.

Vielleicht fällt jemand noch ein Lösung ein, die dieses Manko nicht aufweist?

Gruß

Richard
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
denick



Anmeldedatum: 15.09.2006
Beiträge: 1240
Wohnort: Berlin

BeitragVerfasst am: Do Dez 07, 2006 3:25 pm    Titel: Antworten mit Zitat

Hallo Riccardo,

hast Du das eigentlich schon mal ohne die Flag-Prüfung probiert? Bei mir ist mit
Code:
RButton & WheelUp::
Send, {PgUp}
Return

RButton & WheelDown::
Send, {PgDn}
Return

; if rbutton alone or in any combination
$*RButton::
Send, {RButton}
Return

die Welt in Ordnung, soweit ich das auf die Schnelle testen konnte, und auch der einfache Rechtsklick tut, was er soll. Aber ich habe ja auch keinen Seamonkey.

Alternativ gäbe es noch die Möglichkeit, das Flag über einen Timer zurücksetzen zu lassen:
Code:
Flag := false                  ; by default, the rbutton should be sent

RButton & WheelUp::
Flag := true                  ; this says the rbutton shouldn't be sent
Send, {PgUp}
SetTimer, _Reset, 250
Return

RButton & WheelDown::
Flag := true
Send, {PgDn}
SetTimer, _Reset, 250
Return

; if rbutton alone or in any combination
$*RButton::
If ! Flag            ; if we haven't set the flag to say don't send it....
   Send, {RButton}
Else
   Flag := false        ; if we have set the flag, reset it
Return

_Reset:
SetTimer, _Reset, Off
Flag := False
Return

Ich weiß nur nicht, warum das ein anderes Ergebnis haben sollte, als wenn man ihn gar nicht erst setzt?!? Man kann ja aber nie wirklich wissen! Confused
_________________
Hilfe zur Hilfe

(de)nick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Riccardo



Anmeldedatum: 06.12.2006
Beiträge: 14

BeitragVerfasst am: Do Dez 07, 2006 6:27 pm    Titel: That's it ! Antworten mit Zitat

Hallo,

Dein Script ist genau das was ich so lange gesucht habe, aber nie danach zu fragen gewagt habe.

denick hat Folgendes geschrieben:
Hast Du das eigentlich schon mal ohne die Flag-Prüfung probiert?

Nein. Aber ohne scheint's tatsächlich prima zu laufen...

Das scheint genau DAS Richtige zu sein:

Code:

;*****************************************
;**** PageDWN/UP by RButton & MouseWheel
;*****************************************
;**** by Denick

RButton & WheelUp::
Send, {PgUp}
Return

RButton & WheelDown::
Send, {PgDn}
Return

; if rbutton alone or in any combination
$*RButton::
Send, {RButton}
Return


Das läuft mit SeaMonkey/FireFox/Thunderbird und wahrscheinlich mit allem anderen genauso wie ich es gerne hätte.

Problem gelöst & vielen Dank

Richard
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
momme



Anmeldedatum: 28.03.2006
Beiträge: 13
Wohnort: Hamburg

BeitragVerfasst am: Di Dez 12, 2006 8:53 pm    Titel: Antworten mit Zitat

wie währe es mit
Code:

~RButton & WheelUp::
Send, {PgUp}
Return

~RButton & WheelDown::
Send, {PgDn}
Return



Gruß

Momme
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Riccardo



Anmeldedatum: 06.12.2006
Beiträge: 14

BeitragVerfasst am: Mi Dez 13, 2006 6:30 pm    Titel: Nachteil! Antworten mit Zitat

momme hat Folgendes geschrieben:
wie währe es mit ...
Code:

~RButton & WheelUp::
Send, {PgUp}
Return

~RButton & WheelDown::
Send, {PgDn}
Return



Das funktioniert im Prinzip auch, allerdings hat es den Nachteil, dass nach dem Auslassen der rechten Maustaste das Kontextmenü wieder auftaucht. Das stört und ist nicht immer zweckmäßig. Sad

Question Gibt's da irgendeinen Weg, das Auftauchen der Kontext-Menü-Box zu umgehen?

Gruß

Richard
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe! Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de