• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Maus Geschwindigkeit per AppleScript verändern

  • Ersteller Micky79
  • Erstellt am

Micky79

Gast
Hallo,

ich suche ein kleines Script, welches die Geschwindigkeit vom Maus Cursor um einen Wert erniedrigt und dann sofort wieder auf den alten Wert einstellt.

Der Hintergrund ist folgender:
Seit kurzem habe ich ein Logitech S530 for Mac Desktop. Bin da eigentlich sehr zufrieden mit, allerdings gibt es da ein Problem. Jedesmal wenn ich den Mac neu starte, gehen die Einstellungen bezüglich der Mausgeschwindigkeit verloren. Die Geschwindigkeit ist nach dem Neustart exterm schnell. Wenn ich mir dann die Eisntellungen in der Systemsteuerung ansehe, steht der Slider für die Mausgeschwindigkeit aber auf der korrekten Position, so, wie ich ihn eingestellt habe. Die Einstellung für die Mausgeschwindigkeit wird übrigens genauso eingestellt, wie bei anderen Mäusen auch. Logitech hat da kein extra Menüpunkt oder so. Es wird die von Tiger angebotene System.Pref verwendet. Wie auch immer. Wenn ich nun den Slider einmal nach links ziehe, also die Geschwindigkeit veringere und dann wieder auf den alten Wert einstelle, ist die Geschwindigkeit wieder normal. Wohl gemerkt, der Slider steht auf dem selben Wert wie zuvor. Die extrem schnelle Mausgeschwindigkeit ist aber verschwunden und es wird der korrekte Speed verwendet.

Wenn ich den Mac aus den Ruhezustand aufwecke, tritt das Problem nicht auf. Nur beim echten Neustart.

Da auch eine Anfrage beim Logitech Support keine Lösung brachte, dachte ich mir, man könnte evtl. ein AppleScript schreiben das genau die von mir getätigten Aktionen durchführt, und welches ich dann in den StartupItems eintrage, sodass es automatisch bei meiner Anmeldung geladen wird.

Sowas müsste doch möglich sein, oder?

Ich muss noch hinzufügen, dass ich von AppleScript keine Ahnung habe.

Vielen Dank im Voraus.

Micky
 

Micky79

Gast
alles schon probiert

Hab ich alles schon probiert. Leider ohne Erfolg.

Deshalb wollte ich ja so ein Script...


Micky
 

Micky79

Gast
Naja, eventuell kann man ja auch etwas mit XCode machen.
 

Macmissionar

Granny Smith
Registriert
19.04.06
Beiträge
16
Hallo Mickey,

ich klappere mal eben hier die wichtigsten Beiträge ab, die mich hier so unbeantwortet stören. Es tut mir leid, jenes zu sagen, aber für mich ist das hier ein wenig ein Bananenforum. Du stellst eine Frage und es kommt "Warum ist das denn nötig" oder "Das kann man so machen, aber ich kann das nicht" -- da kann man sich auch über's Wetter unterhalten. Bringt ja nichts.

Also, so kannst Du die Mausgeschwindigkeit ändern:

do shell script "defaults write -g com.apple.mouse.scaling 100"

Ein Einzeiler in AppleScript. Fertig. Führe einfach zwei Schritte aus; einmal evtl. mit 100 oder auch nur 3 oder sonstwas und dann Deinen normalen Wert.

Das Problem ist allerdings, daß sich der Mac diesen Wert nicht sofort neu holt und daß es so erst nach nochmaliger Anmeldung ausgelesen wird, was Dir ergo nicht sonderlich viel bringt.

Damit das nun also beim Anmelden sofort automatisch ausgeführt
wird, egal, welcher User sich anmeldet, muß folgendes getan werden:

(Ich schreibe eine allgemein verständliche Schritt-für-Schritt-Anleitung):

1) Speichere Dir die gewünschten Anweisungen in eine normale Textdatei -- diese wird dann Dein ShellScript.

Also schreibe in eine reine Textdatei (mit dem Namen beispielsweise "login.sh":

defaults write -g com.apple.mouse.scaling 6
defaults write -g com.apple.mouse.scaling 3.5

2) Damit diese als Script ausgeführt werden kann, muß sie auch ausführbar gemacht werden. Das geht im Terminal mit:

chmod 755 login.sh

So, jetzt ist diese Datei ausführbar. Lege diese dann im Hauptordner Library/Scripts (NICHT der Userordner!) ab.

3) Dann weist Du das System noch an, diese Datei beim Anmelden auszuführen:

sudo defaults write com.apple.loginwindow LoginHook /Library/Scripts/login.sh


Fertig. Dein ShellScript -- mit der Anweisung, die Maus einmal schnell und einmal langsamer zu stellen (mit den Werten mußt Du selbst experementieren!) wird nun bei jedem Anmelden ausgeführt.

Viele Grüße,

Martin Wolter
 

Micky79

Gast
Eigentlich genaus dass, was ich brauche

Hallo Martin,

vielen Dank für Deinen Beitrag. Eigentlich genau das, was ich brauche. Das Problem ist nur, dass nach dem Neustart die Maus Geschwindigkeit immer noch auf max geht. Wenn ich mich dann abmelde und wieder anmelde, ist die Geschwindigkeit OK.

Also irgendwas scheint da nach dem ausfühen des Scripts zu geschehen. Schade, dass man dem System nicht angeben kann, die Einstellungen direkt zu aktualisieren, ohne das man sich ab- und wieder anmelden muss.

Aber die Lösung scheint relativ Nahe.

Noch eine Frage der vollständigkeitshalber. Wie bekomme ich das Script denn wieder aus der com.apple.loginwindow Datei raus? Ich habe mit mit dem Property Editor mir die com.apple.loginwindow.plist angeschaut, da finde ich nirgendwo den hinzugefügten Eintrag???

Nochmals Vielen Dank für Deine Antwort. Wenn Du jetzt noch rausfindest, wie man das System dazu bringen kann, die Einstellungen direkt zu aktualisieren, wäre ich am Ziel.

Gruß Michael
 

Kwoth

Kalterer Böhmer
Registriert
06.07.05
Beiträge
2.905
pete schrieb:
Jetzt gibt Macmissionar den Ton an.

Und das zu Recht! o_O

pete7jl.png
 

Dante101

Ralls Genet
Registriert
11.10.05
Beiträge
5.048
Anscheinend sind Bananenforen ja in, wenn man sich so den Mitgliederzuwachs dieses Forums hier ansieht. o_O

Ich persönlich bevorzuge es aber, ein Problem bei der Wurzel zu packen, anstatt die Symptome einzeln zu bekämpfen.

Und das kommt bei Deiner Methode raus:
... Wenn Du jetzt noch rausfindest, wie man das System dazu bringen kann, die Einstellungen direkt zu aktualisieren, wäre ich am Ziel...
Ich weiss nicht ob es grundsätzlich nicht ratsamer wäre, vorher ein bisschen nachzufragen. Oder wie siehst Du das?

Oder haben wir es hier einfach mit einem kleinen Unruhestifter zu tun?

D.
 

Micky79

Gast
Sachlich bleiben

Hallo an alle,

ich finde es höchst interessant, welche Wege eine an sich sachliche Diskussion einschlagen kann. Hiebei scheint es sich teilweise um Kompetenz Gerangel zu handeln.

Also, um dass nochmal klar zu stellen: Ich würde auch liebend gerne die Ursache des Problems beheben. Allerdings habe ich nach mehreren Versuchen aufgegeben. Auch mehere Anfragen beim Support von Logitech haben leider nichts ergeben.
Also, was macht man nun? Man denkt sich, dass wenn sich die Ursache nicht finden lässt, man das Problem mit einem kleinen Trick beheben könnte. Und da man ja faul ist, soll der Rechner das gefälligst selber machen. - Da ich mich nicht in Apple Script auskenne, und ich bis jetzt noch nicht dazu gekommen bin, mich ein wenig näher mit der Materie zu beschäftigen, habe ich mir gedacht, ich könnte doch mal in einem Forum nachfragen, da gibt es bestimmt jemanden, der weiß, wie das funktioniert. Und wenn dann jemand als Antwort auf meine Frage schreibt, ich solle die Ursache des Problems finden, ist das zwar gut gemeint, hilft mir aber nicht wirklich weiter. Außerdem macht mich das ein wenig ärgerlich, da man ja quasi für etwas blöd verkauft wird. Aber gut, derjenige kann ja nicht wissen, dass ich da schon seit einiger Zeit mit kämpfe.

Lange Rede kurzer Sinn: Man sollte in solchen Sach-Foren sich nicht provozieren lassen. Und das hat MacMissionar sicherlich ein wenig getan. Ansonsten war seine Antwort eigentlich gut. Es is unnötig, da mit Gegen-Gehätze drauf loszugehen. Das gehört nicht zum Thema. Steht da doch einfach drüber. Und fertig.

Hinzukommt, dass dieses Problem nicht Logitech spezifisch ist. Auch andere Hersteller von USB Destops haben da Probleme mit. Auch hier im Forum sind einige User bekannt, die damit Probleme haben. Es sind aber wohl auch nicht alle Rechner betroffen, meiner leider schon (ein G5 Dual 2.7GHz).

Ich bin übrigens nicht ganz Fremd in der Materie. Ich bin Softwareentwickler für den PC Bereich und behersche einige Programmiesprachen. Deshalb habe ich mir auch gedacht, dass dies eigentlich kein Problem sein dürfte und auch nur ein paar Zeilen Code sein dürften. Leider kenne ich mich progarmmiertechnisch mit dem Mac noch nicht so gut aus. Wenn ich mal Zeit habe, beschaffe ich mir die entsprechende Litaratur dazu.

Und bevor jetzt wieder irgendeiner fragt: Die Macs haben wir vor einem dreiviertel Jahr gekauft, weil mir und meinen Mitarbeitern das Arbeiten mit den Teilen einfach besser gefällt. Für Office Aufgaben und Bild- sowie Videobearbeitung sind die einfach besser geeignet bzw. der Worklflow ist angenehmer. Konsequenterweise habe ich alle Rechner, bei denen es sich nicht um produktiv Systeme handelt, auf Macs umgestellt. Und habe es bis heute nicht bereut. Auch nicht, wenn die Maus ein wenig nervt, weil sich die Geschwindigkeit ändert. Im Gegensatz zu Windows Machinen ist das harmlos. Natürlich würde mich trotzdem die Lösung des Problems interessieren.

Der Fehler tritt übrigens nicht auf, wenn der Rechner aus dem Ruhezustand erwacht.
Das dürfte Interessant sein.

Also wie gesagt, geht etwas gelassener an die Sache ran. Das Leben ist zu kurz, um sich über belanglose Sachen zu streiten!

P.S.: Ich habe gestern übrigens meinen Mac neu installiert, weil ich ein RAID System aufgesetzt habe. Das Problem ist immer noch vorhanden. Es liegt also anscheinend nicht an irgendwelchen Systemeinstellungen, die durcheinander gekommen sind.


Gruß
Michael
 
Zuletzt bearbeitet von einem Moderator:

Micky79

Gast
Naja, ich schätze, ich muss mich erst mal mit diesem Fehler anfreunden. Evtl. wird dieses Problem ja auch mit dem nächsten OS X Update behoben??? :)

Eine andere Maus? Ich könnte ja wieder die alte Apple BT Maus aus der Schublade holen... Ne, dann lieber doch nicht.

Ich weiß nicht, ob Du die besagte Maus-Tastatur Kombi kennst. Ich finde die einfach nur gut. Sowohl in der Ergonomie als auch vom Funktionsumfang. Hier hängen die originalen Apple Produkte leider etwas zurück.

Der Logitech S530 Cordless Desktop ist so cool, dass ich zur Not auch mit dem Problem leben kann. Schließlich benutze ich meistens sowieso nur den Ruhezustand und fahre den Rechner selten ganz runter.

Nicht falsch verstehen. Es wäre natürlich trotzdem schön, eine Lösung zu finden. Das ist logischerweise kein Dauerzustand. Und ich gebe Dir nach wie vor Recht, dass die Ursache zu finden das ideale wäre. Aber leider kann da Keiner mit dienen. Evtl. kontaktiere ich am Montag mal den Apple Support. Schließlich habe ich da ja genug Rechner gekauft.

Da das Problem mit mehreren USB Mäusen auftritt, bin ich guter Dinge, dass da irgendwann mal eine Lösung präsentiert wird.

Eine Scriptlösung als Fix wäre immer noch OK. Da hätte ich kein Problem mit. Ein Apple Script als Startobjekt, welches die Mausgeschwindigkeit einmal switched und dann das Systemverhalten aktualisiert, voila. Was soll da bei einem Systemupdate schon passieren??? Da müsste Apple schon Apple Script selber abändern oder die referenzierte Bibliothek (falls so etwas der Fall ist, bei Windows wäre das z.B. so). Und selbst wenn, dann würde ich das Script wieder aus dem Startprozess rausnehmen.

Wenn ich das Script von MacMissionar richtig verstehe, ändert es nur die Werte in der entsprechenden plist Datei. Deshalb klappt es auch, wenn man sich ab- und wieder anmeldet. Man müsste dieses einlesen der Settings irgendwie manuell machen können, oder, anstatt die plist Datei zu ändern, eine Art API-Aufruf (da kommt wieder der Win Progger durch) durchführen, sodass die Änderung sofort umgesetzt wird...o_O

So, nun aber endgültig genug von mir zu diesem Thema. Ich hätte nicht gedacht, dass ich damit so Wellen schlage.

Allen noch ein schönes Wochende!

Gruß Michael
 

Micky79

Gast
Hi Pete,

das Handling klappt soweit. Um die Position rauszufinden wollte ich von dem PrefPane ein Bildschirmfoto machen und dies dann in einem Bildbearbeitungsprogramm durchmessen. Dann hätte ich die genauen Koordinaten.

Alledings weiß ich nicht, wie Apple das Koordinatensystem gestaltet hat. Gehen negative Werte nach oben oder nach unten. Ist ja schon nen Unterschied ob ich 100 nach oben oder 100 nach unten gehe.

Rein Intuitiv würde ich dann y-100 wählen, weil es dann nach unten gehen müsste.
Außerdem wäre es gut zu wissen, wo genau der Nullpunkt liegt.
Hast Du da ne Ahnung von??

Nicht schlecht wäre auch, wenn man dass SystemPref Fenster nach Beendigung des Scripts automatisch wieder schließen würde. In etwa so:

tell application "System Preferences"
close
end tell

Falls das der Code ist (Wie gesagt, keine Ahnung vom Mac Proggen). Aber dies zu realisieren ist, denke ich mal, die kleinste Schwierigkeit.

Ansonsten müsste das Script den gewünschten Erfolg bringen. Da bin ich Deiner Meinung.

Schon mal vielen Dank!
 

Micky79

Gast
Also, ich hab mal nen bischen mit dem Code rumexperimentiert. Der Nullpunkt scheint in etwa da zu liegen, wo Du ihn eingezeichnet hast. Ich komme allerdings auf einen y Wert von 87. Ich hab das durch verschieben des SystemPref Fensters über meinem Bildschirm rausbekommen.

Mit Werten die in der Nähe von 87 liegen bin ich dann mal alle Slider Nummern durchgegangen. Leider ohne Erfolg. Ich hab auch mal Slider 0 probiert. Geht auch. Es wird kein Fehler gemeldet! Bei Slider 3 allerdings schon! Slider 1 und Slider 2 gehen auch. Hm, da fragt man sich doch, was Slider 0 ist.

Naja, sagmal, kann man das Dialogfenster, welches die Koordinaten anzeigt, nicht an einer bestimmten Stelle auf dem Bildschirm anzeigen lassen? Dann könnte man den Dialog an der Stelle mit den berechneten Werten anzeigen lassen. Dann würde man sehen, wo man sich befindet.

Es gibt ja eigentlich nur 2 Möglichkeiten, warum das nicht klappt:
1. Wir befinden uns im falschen Bereich (also zuweit oben, unten, links oder rechts)
2. Oder es wird nicht der richtige Slider angesprochen.

Oder der Slider lässt sich gar nicht mit "click" ansprechen. Eventuell will er einen absoluten Wert haben, z.B. in etwa "move Slider 1 to position 30". (Ja, ich weiss, man merkt, ich hab keine Ahnung von Apple Script. Aber hoffe du erkennst, worauf ich hinaus will)

Hmm, also eigentlich sind wir nicht mehr soweit entfernt vom Ziel, oder was meinst Du?