[gelöst] Mausbewegung spiegeln

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Sunny
Beiträge: 290
Registriert: 19.02.2009 06:02

[gelöst] Mausbewegung spiegeln

Beitrag von Sunny »

Hi @all,
ich denke mal, der titel erklärt schon fast alles...
ich würde gerne wissen, wie ich mausbewegungen spiegeln kann, d.h. der mauszeiger soll sich nach unten bewegen, wenn ich die maus nach oben bewege und das gleiche natürlich auch mit links- und recht-bewegungen.

ich danke euch schonmal im foraus für eure hilfe.
Zuletzt geändert von Sunny am 03.06.2010 01:26, insgesamt 1-mal geändert.
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Re: Mausbewegung spiegeln

Beitrag von PureLust »

Sunny hat geschrieben:ich würde gerne wissen, wie ich mausbewegungen spiegeln kann, d.h. der mauszeiger soll sich nach unten bewegen, wenn ich die maus nach oben bewege und das gleiche natürlich auch mit links- und recht-bewegungen.
Nicht schön, aber dafür selten: :twisted:

Code: Alles auswählen

SwapMouseButton_(#True)
ExamineDesktops()
GetCursorPos_(MousePos.Point)
OldMouseX = MousePos\x
OldMouseY = MousePos\y
Repeat
	GetCursorPos_(MousePos.Point)
	If MousePos\x <> OldMouseX
		MousePos\x - (MousePos\x - OldMouseX) * 2
		If MousePos\x < 1
			MousePos\x = 1
		ElseIf MousePos\x > DesktopWidth(0)-2
			MousePos\x = DesktopWidth(0) -2
		EndIf
		OldMouseX = MousePos\x
		MousePosChanged = #True
	EndIf
	If MousePos\y <> OldMouseY
		MousePos\y - (MousePos\y - OldMouseY) * 2
		If MousePos\y < 1
			MousePos\y = 1
		ElseIf MousePos\y > DesktopHeight(0) -2
			MousePos\y = DesktopHeight(0) -2
		EndIf
		OldMouseY = MousePos\y
		MousePosChanged = #True
	EndIf
	If MousePosChanged
		SetCursorPos_(MousePos\x,MousePos\y)
		MousePosChanged = #False
	EndIf
	Delay(1)
Until GetAsyncKeyState_(#VK_ESCAPE)
SwapMouseButton_(#False)
Als kleines "Schmankerl" gibt's 'ne Maustasten-Spiegelung auch noch gratis dazu. :mrgreen:

Gruß, PL.

[Edit] Code nochmal verändert, weil Maus an den Rändern fest hing.
Zuletzt geändert von PureLust am 02.06.2010 23:53, insgesamt 2-mal geändert.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Mausbewegung spiegeln

Beitrag von STARGÅTE »

Aber es reicht auch einfach die Maus um 180° zu drehen :allright:
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Re: Mausbewegung spiegeln

Beitrag von PureLust »

STARGÅTE hat geschrieben:Aber es reicht auch einfach die Maus um 180° zu drehen :allright:
Jo ... war auch mein erster Gedanke. :mrgreen:
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
Sunny
Beiträge: 290
Registriert: 19.02.2009 06:02

Re: Mausbewegung spiegeln

Beitrag von Sunny »

großes DANKESCHÖN an PureLust, der Code is das was ich gesucht habe, das mit dem tastentausch hätte ich auch selber mit eingebaut, aber so isses schon mit drinn, super...

aber wie das meistens so is hab ich noch ne frage dazu.

das programm treibt die CPU-Auslastung ganz schön in die höhe, und wenn ich den Delay-Wert auf z.B. 50 oder so hochsetze ruckelt der mauszeiger logischerweise.

Gibts da ne möglichkeit, die Auslastung niedrig zu halten?
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Mausbewegung spiegeln

Beitrag von Josh »

@PureLust
bei zwei bildschirmen bleibt der mousezeiger auf einem schirm gefangen
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Re: Mausbewegung spiegeln

Beitrag von PureLust »

Sunny hat geschrieben:das programm treibt die CPU-Auslastung ganz schön in die höhe, und wenn ich den Delay-Wert auf z.B. 50 oder so hochsetze ruckelt der mauszeiger logischerweise.
Gibts da ne möglichkeit, die Auslastung niedrig zu halten?
Au jo ... ist mir gar nicht aufgefallen. :?
Delay(50) ist ein bisserl heftig - da ruckelt es verständlicher Weise.
Ein Delay(1) hingegen reicht aus, um die CPU-Auslastung niedrig zu halten und dennoch den Refresh oft genug durchzuführen damit es nicht ruckelt (hab den Source oben auch mal entsprechend geändert).
Josh hat geschrieben:@PureLust
bei zwei bildschirmen bleibt der mousezeiger auf einem schirm gefangen
Jupp, das es mit dieser Variante Probleme bei Multimonitorsystemen gibt war mir schon klar (ich frage ja nur die Ausmaße des ersten Desktops ab und beschränke die Mausbewegung darauf).
Da ich hier jedoch nur an einem Einmonitorsystem sitze konnte ich eben auch nicht ausprobieren wie man das für ein Multimonitorsystemen umsetzen kann.
Mann kann die zusätzlichen Bildschirme ja über, unter, links und rechts vom Hautdesktop platzieren - da wird man dann vermutlich so einiges beachten müssen.

Ich hatte aber mal angenommen, das Sunny bei dieser "Spielerei" eine Multimonitorsystemenunterstützung nicht wirklich wichtig war. :mrgreen:
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
Sunny
Beiträge: 290
Registriert: 19.02.2009 06:02

Re: Mausbewegung spiegeln

Beitrag von Sunny »

wow, hätte nich gedacht das ein Delay(1) ausreicht, um die CPU-Auslastung so runterzudrücken, deshalb hab ichs nich ausprobiert aber damit haut alles super hin...

nochmals dankeschön
Benutzeravatar
KeauHou
Beiträge: 133
Registriert: 23.06.2009 00:22
Computerausstattung: Q9550, GTX260, Corsair Dominator 4GB 1066mhz, 22" Asus 16:10
Wohnort: Vorm Monitor
Kontaktdaten:

Re: [gelöst] Mausbewegung spiegeln

Beitrag von KeauHou »

...und dann landet der fremde Code 1:1 als 'eigenes Programm' auf der eigenen Homepage?
http://schabernack.de.ki/index.php?seit ... simspiegel
If x = 1 and x = 2
MessageRequester("!!!", "WTF")
EndIf
Es ist möglich!
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: [gelöst] Mausbewegung spiegeln

Beitrag von Josh »

KeauHou hat geschrieben:...und dann landet der fremde Code 1:1 als 'eigenes Programm' auf der eigenen Homepage?
... und ist bei zwei bildschirmen nicht mehr zu beenden. wenn mein taskmanager auch noch auf dem anderem schirm gelandet wäre, dann hätte ich mich mit der tastatur abplagen können um den taskmanager zu bedienen. naja, bin ja selber schuld, wenn ich alles ausprobieren muss.
Antworten