automatischer RE/LI-Mausklick (RSI / Mausarm Beschwerden)

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: automatischer RE/LI-Mausklick (RSI / Mausarm Beschwerden)

Re: automatischer RE/LI-Mausklick (RSI / Mausarm Beschwerden)

Post by Rohwedder » 17 Apr 2018, 09:15

Hallo,
1. bis 4. sollten jetzt funktionieren (so wie definiert)

Code: Select all

#SingleInstance, Force
#Persistent
#NoEnv
#InstallKeybdHook
CoordMode, Mouse ,Screen
#NoEnv
Do_ToolTip:=1
mWait:=200
gosub Mouse_Check
return  ; end auto execute

Mouse_Check:
	mStill:=0
	MouseGetPos, Ox, Oy
	Sleep %mWait%
	loop {
		MouseGetPos, Mx, My
		if( Mx = Ox && My = Oy ) {
			mStill++
			if( mStill >= 5 ) {   ; 5 = 1000/mWait 
				mStill:=0
				if( !IS_MSTOPPED && Do_ToolTip )
					ToolTip, Mouse has stopped moving.
				IS_MSTOPPED:=1
				SetTimer, MOUSE_STOPPED, -1
			}
		} else  {
			IS_MSTOPPED:=0
			ToolTip
		}
		Ox:=Mx, Oy:=My
		Sleep %mWait%
	}
	return
	
MOUSE_STOPPED:
If GetKeyState("Alt","P")
{
	If GetKeyState("Str","P")
		Return
	Else
		Click, Right
}
Else If !GetKeyState(A_PriorKey,"P") ;keine Taste ist gedrückt
	Click
Return

!Esc:: ; Alt + Esc to quit
	ExitApp
^q:: ;Strg + q zum ein/aus	
	Suspend
	Pause,,1
Return
aber ich bezweifle, daß du damit glücklich wirst.
Meine Lösung war, lernen die Maus auch links zu betätigen (ohne die Linkshändereinstellung zu aktivieren!).
Jetzt kann ich jederzeit zur gesünderen Hand wechseln, auch an fremden Rechnern.

Ich habe den fürchterlichen Dauerloop zum Timer gemacht aber das Ergebnis wird nicht viel besser.

Code: Select all

#SingleInstance, Force
#Persistent
#NoEnv
#InstallKeybdHook
;CoordMode, Mouse ,Screen
#NoEnv
Do_ToolTip:=1
Mbewegt := False
diff = 10 ;Koordinatendifferenz im Quadrat
MouseGetPos, Ox, Oy
SetTimer, Mouse_Check, 200
return  ; end auto execute
Mouse_Check:
	MouseGetPos, Mx, My
	If ((Mx - Ox)*(Mx - Ox)+(My - Oy)*(My - Oy) > diff)
		SetTimer, MOUSE_STOPPED, -1000	
	Ox:=Mx, Oy:=My
Return
	
MOUSE_STOPPED:
if Do_ToolTip
{
	ToolTip, Mouse has stopped moving.
	SetTimer, ToolTip_Stopp, -500
}
If GetKeyState("Alt","P")
{
	If GetKeyState("Str","P")
		Return
	Click, Right
}
Else If !GetKeyState(A_PriorKey,"P") ;keine Taste ist gedrückt)	Click
	Click
Return

ToolTip_Stopp:
	ToolTip
Return

!Esc:: ; Alt + Esc to quit
	ExitApp
^q:: ;Strg + q zum ein/aus	
	Suspend
	Pause,,1
Return

automatischer RE/LI-Mausklick (RSI / Mausarm Beschwerden)

Post by Rick007 » 16 Apr 2018, 10:17

Hallo,

ich leide unter Schmerzen im Unterarm durch RSI / Mausarm und habe mir zur Entlastung ein Script mit Hotkeys etc. erstellt. Zusätzlich habe ich ein Script gefunden und abgeändert, sodas automatisch am Ende einer Mausbewegung einen Mausklick links macht. Dieses möchte wie folgt ergänzen, scheitert aber an tieferen AHK Kenntnissen.

Das unten angeführte Script soll so abgeändert werden dass, nach dem Beenden einer Mausbewegung:

1. automatischer Mausklick links ausgeführt wird, falls keine Taste gedrückt ist. Diese Funktion ist im Script umgesetzt, leider funktioniert es nicht ganz richtig, da es beim Text schreiben ständig einen automatischen Mausklick auf die Stelle macht, wo die Maus zuletzt hinbewegt wurde.
2. bei gleichzeitig gedrückter ALT - Taste ein automatischer Mausklick rechts ausgeführt wird
3. bei gleichzeitig gedrückter STRG+ALT Taste ein automatischer Mausklick unterdrückt wird - kein Klick durchgeführt wird
4. durch STRG + Q der automatische Klick bis zum nächsten STRG+ Q pausiert wird (toggle)

5. bei gleichzeitig gedrückter STRG- Taste ein automatischer DOPPEL-Mausklick links ausgeführt wird

und falls nicht zu kompliziert auch:
6. bei gleichzeitig gedrückter STRG+WIN Linke Taste die linke Maustaste gedrückt wird und solange gedrückt bleibt bis die Maus erneut stehen bleibt (Maus ziehen)

Es wäre super, wenn mich jemand hierbei unterstützen kann, am wichtigsten wäre mir, dass 1. bis 4. funktionieren, Funktionen unter 5 und 6 benötige ich seltener.

das aktuelle SCRIPT

Code: Select all

#NoEnv
Do_ToolTip:=1
mWait:=200
gosub Mouse_Check
return  ; end auto execute

MOUSE_STOPPED:

sleep, 500
    Send {LButton}
	return

Mouse_Check:
	mStill:=0
	MouseGetPos, Ox, Oy
	Sleep %mWait%
	loop {
		MouseGetPos, Mx, My
		if( Mx = Ox && My = Oy ) {
			mStill++
			if( mStill >= 5 ) {   ; 5 = 1000/mWait 
				mStill:=0
				if( !IS_MSTOPPED && Do_ToolTip )
					ToolTip, Mouse has stopped moving.
				IS_MSTOPPED:=1
				SetTimer, MOUSE_STOPPED, -1
			}
		} else  {
			IS_MSTOPPED:=0
			ToolTip
		}
		Ox:=Mx, Oy:=My
		Sleep %mWait%
	}
	return


!Esc::       ; Alt + Esc to quit
	ExitApp
danke
Rick

Mod edit: Code-Tags hinzugefügt.

Top