Mausbewegungen Tasten wandeln

R

Reudaeaeae

Gast
Hallo allerseits...

Ich bin neu hier und habe auch schon mein erstes Problem...
Ich habe ein USB Gadget welches sich nur über die Pfeiltasten und Enter bedienen lässt...
Nun würde ich dieses Gadget gerne per Mausbewegung steuern und brauche dazu ein Prog was aus meiner Mausbewegung eine Pfeiltasten eingabe macht...
Hat vll jemand schon sowas oder zumindest eine Idee wie ich das am Besten angehe?

Danke im vorraus
 

max2k3

Lt. Commander
Dabei seit
Apr. 2003
Beiträge
1.818
möglichkeiten gäbe es glaube genug, AutoIT, VBS-Skripte, eigenes programm (.net/java) etc..

im prinzip musste auf eien mauseingabe warten (in einer dauerschleife zb. ) und wenn es sich um eine gültige eingabe handelt (zb. eine verschiebung um 20 pixel nach links etc) , müsstest du einen keycommand left-cursor ausgeben..

code-syntax hab ich grad aber nicht zu hand, such eventuell bei google mit "mouse command to keyboard script"

was ist denn ein usb gadget?=
 
R

Reudaeaeae

Gast
ja ein usb raketenwerfer...
um genau zu erklären was ich eigentlich machen will...
ich habe eine EZ430 chronos von TI und diese hat eingebaute bewegungssensoren... und mit einer bewegung der uhr soll sich der raketenwerfer bewegen und per knopdruck abfeuern...

erst wollte ich die software der uhr umschreiben... aber sowohl als auch einer meiner profs sind daran gescheitert da der code einfach zu umfangreich und zu undurchsichtig ist...

da diese software allerdings die möglichkeit bietet mit der uhr die maus zu bedienen, wollte ich nun über ein extra programm die mausbewegung in die benötigten tasteneingaben wandeln... und da hänge ich nun auch wieder...
 

nApfelkuchen+SL

Lt. Junior Grade
Dabei seit
Aug. 2008
Beiträge
508
Hi mit folgendem Autohotkey Script sollte das gehen.
Wenn der MausZeiger im oberen drittel ist wird immer wieder nach oben gedrückt, im unteren drittel nach unten, etc. (rechts-unten ist immer abwechselnd unten,rechts etc.)

Linksklick ist Enter und mit Escape wird das skript beendet.

-Einfach Autohotkey runterladen.
- Das Skript in eine Textdatei speichern.
- Die Skriptdatei per Drag and Dropp auf die autohotkey.exe schieben
- Have Fun!!

Man kann auch eine Exe machen mit dem Compiler, der bei Autohotkey dabei ist.

Wenn die Bewegung zu langsam ist den "sleep 500" runtersetzten (also die Zahl, hier 500, auf z.B. 100)
oder die Zeile löschen

SysGet, tmpMon, MonitorWorkArea
tmpMonWidth := tmpMonRight - tmpMonLeft
tmpMonHeight := tmpMonBottom - tmpMonTop
unten := tmpMonHeight / 3 *2
oben := tmpMonHeight / 3
links := tmpMonWidth / 3
rechts := tmpMonWidth / 3 * 2
Loop
{
sleep 500
mousegetpos, X, Y
if ( Y < oben)
{
oben()
}

if ( Y > unten)
{
unten()
}

if ( X < links)
{
links()
}

if ( X > rechts)
{
rechts()
}

}




lbutton::
Send, {enter}
return


~esc::
ExitApp
return

oben(){
Send, {up}
}

unten(){
Send, {down}
}

rechts(){
Send, {right}
}

links(){
Send, {left}
}
 

pcw

Lt. Commander
Dabei seit
Juli 2001
Beiträge
1.676
Ich würde das MausPos-Script noch anpassen und in abhängigkeit von der zurückgelegten entfernung mehrere male die Pfeiltasten senden.
Außerdem wäre es evtl. eine gute Idee, die MausPos am Ende jedes Schleifendurchlaufs wieder zu zentrieren, damit sie sich weiterhin in alle Richtungen bewegen kann.

Sinnvollerweise arbeitet man dann auch zweimal mit sleep. Einmal für jeden Schleifendurchlauf mit einer Dauer abhängig vom Geschmack des Benutzers und einmal für die Schleife zum mehrfachen Senden der Richtungspfeile jeweils mit Sleepdauer = Dauer, die das USB-Gerät für die zugehörige Bewegung braucht.
 
R

Reudaeaeae

Gast
Also als aller erstes vielen lieben Dank für eure Mithilfe... habe mir das Script mal vorgenommen und getestet und auch den Rat von pcw befolgt und mal ein wenig mit sleep und mehreren Tasteneingabe pro Aufruf gearbeitet....

Nun hab ich allerdings das Problem, dass sich das Gadget (USB-Raketenwerfer) kein bisschen zuckt... aber das Programm selber funktioniert einwandfrei sobald ich beispielsweise in einem Texteditor bin.

Also Script kann Pfeiltastenbefehle wieder geben, das Gerät nimmt diese aber nicht an. Wenn ich aber währenddem laufenden Script die Pfeiltasten drücke reagiert das Gadget wiederum.
 

pcw

Lt. Commander
Dabei seit
Juli 2001
Beiträge
1.676
Mit dem problem hab ich schon gerechnet. Ich nehm an, dass das Programm nicht auf "KeyPress X" reagiert, sondern auf "KeyDown" und "KeyUp". Es sich also bewegt, sobald die Taste runtergedrückt wird und stoppt, wenn die Taste losgelassen wird.

Jetzt ist es an dir rauszufinden, ob das Teil auf WinAPI-Messages reagiert und du nur ein KeyDown und KeyUp an das Gerät senden musst, oder ob es sich über einen Spaß wie DirectX das Keyboard ausliest. Dann würde es um einiges komplizierter.
 
Top