Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Software
>
Tastatureinstellungen automatisch ändern bei Spielstart?
Tastatureinstellungen automatisch ändern bei Spielstart?
jimcontact
01.09.11
12:24
Hallo Leutz,
ich versuche nun schon seit geraumer Zeit eine Möglichkeit zur Automatisierung für folgendes Szenario:
Ich öffnen vor jedem Spielstart die Tastatureinstellungen und setzte die F-Tasten auf "Standart-Funktionstasten", so dass ich sie im Spiel als Aktionstasten einsetzen kann.
(siehe Bild-für das genannte Menü)
Ich spiele... dann beende ich das Spiel und mache meinen Kram weiter... wenn ich dann die Lautstärke, Bildschirmhelligkeit, etc. ändern will, geschehen seltsame Dinge... denn ich vergesse fast immer, wieder die Tastatureinstellungen zu öffnen und das ganze umzustellen.
Ich habe schon gegoogelt und versucht mir was mit Automator zu basteln... alles ohne Erfolg, AppleSkript kann ich nicht.
Meine Idealvorstellung:
Ich starte das Spiel (auf welche Art auch immer Skript oder normal) die Tastatureinstellungen ändern sich automatisch auf "Standartbelegung" - ich spiele- ich beende das Spiel und die Tastatureinstellungen stellen sich wieder um auf die Belegung mit den aufgedruckten Sonderfunktionen.
Sowas... oder etwas was nah dran ist, würde mir das Leben sehr viel leichter machen
Hat da Jemand eine Idee... mir sind meine Ausgegangen
Danke euch schon mal im vorhinein
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
Kommentare
_mäuschen
01.09.11
13:33
Ändere
theApp
zu deinem Spiel Programm-Namen
set theApp to "TextEdit"
global isRunning, theApp
CheckUI()
on runMe()
set isRunning to true
keyboard()
delay 2
tell application theApp to launch
delay 2 -- let the app launch
tell application "System Events" to tell application process theApp to set frontmost to true
repeat while isRunning
delay 5
tell application "System Events" to if not (exists application process theApp) then set isRunning to false
end repeat
delay 3
keyboard()
end runMe
on keyboard()
tell application "System Preferences"
set currentPane to current pane
set flag to true
try
currentPane -- throws an error if current pane is empty
on error
set flag to false
end try
set current pane to pane "com.apple.preference.keyboard"
tell application "System Events"
tell application process "System Preferences"
click radio button 1 of tab group 1 of window 1
click checkbox 1 of tab group 1 of window 1
end tell
end tell
if flag then
set current pane to currentPane
else
set show all to true
end if
end tell
end keyboard
on CheckUI()
tell application "System Events"
if UI elements enabled then
my runMe()
else
tell application "System Preferences"
set current pane to pane "com.apple.preference.universalaccess"
display dialog "UI element scripting is not enabled. Check \"Enable access for assistive devices\"" buttons {"Continue…"}
end tell
end if
end tell
end CheckUI
Hilfreich?
0
jimcontact
01.09.11
13:45
Cool! Danke _mäuschen
(insgeheim hatte ich auf eine Antwort von dir gehofft
)
Drei Fragen noch zu dem Skript:
1. Soll ich das als Apple-Skript bauen und dann das Skript starten, oder die App?
2. muss ich die App mit dem Suffix ".app" eingeben?
3. Soll muss ich
set theApp to "TextEdit"
mit ins Skript schreiben?
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
_mäuschen
01.09.11
14:09
1. Den script als Programm speichern. (ergibt z.Bsp.: QuakeMitFNkeys
.app
)
2. Der suffix ist von Hause aus ausgeblendet.
3. Ersetze ganz einfach TextEdit mit dem Namen deines Programms. z.Bsp.: Quake
Kannst das AppleScript-Programm dann ja ins Dock ziehen oder im Launchpad aufrufen.
Hilfreich?
0
jimcontact
01.09.11
15:21
Wie geil ist das denn?!?!
Es funktioniert!
Genau so habe ich mir das vorgestellt! Herrlich!
VIELEN DANK!
Du hast mir echt eine große Freude damit gemacht!
Anmachen (auf Skript.app klicken)...zocken (die Tasten machen was sie sollen)...Spiel beenden (einige Sekunden später, sind die Tasten wieder wie gewohnt)...
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
jimcontact
01.09.11
15:23
Komisch...
Bei Warcraft 3 geht es aber leider nicht, da bekomme ich beim beenden des Spiels eine Fehlermeldung (siehe Bild).
Beim Start wird allerdings alles schön umgestellt- nur zurück eben nicht.
Woran mag das liegen?
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
_mäuschen
01.09.11
15:42
Ändere
tell application "System Events" to tell application process theApp to set frontmost to true
zu
tell application theApp to activate
Hilfreich?
0
jimcontact
01.09.11
15:53
Hab ich probiert...
Beim Start, stellt er die Tastatur wie gewollt ein. Beim beenden das gleiche Problem: Er stellt es nicht zurück...
Nur die Fehlermeldung hat sich verändert (siehe Bild).
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
_mäuschen
01.09.11
16:08
Drücke "Bearbeiten" und sage welche Zeile
highligthed
ist.
Hilfreich?
0
jimcontact
01.09.11
16:16
Ich kann mir selber gar nicht helfen, denn ich blick bei Apple-Skript gar nicht durch
So sieht es aus wenn ich auf bearbeiten klicken:
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
_mäuschen
01.09.11
16:28
Sage mir wie "The Frozen Throne" in der Aktivitätsanzeige als Prozessname erscheint.
Hilfreich?
0
jimcontact
01.09.11
16:39
Er erscheint als
Warcraft III
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
_mäuschen
01.09.11
16:49
Ergänze
zuoberst
set theApp to "The Frozen Throne"
um
set theProc to " Warcraft III"
und ändere
tell application "System Events" to if not (exists application process theApp) then set isRunning to false
zu
tell application "System Events" to if not (exists process theProc) then set isRunning to false
Hilfreich?
0
jimcontact
01.09.11
16:57
Klappt nicht :'(
Fehlermeldung erscheint, Tasten bleiben "unumgestellt" (siehe Bild)
Warcraft III kann ich übrigens auch nicht mit dem Skript starten.... da passiert nix, obwohl im Dock unten die Prefs, das Skript und Warcraft III aufgehen, startet das Spiel nicht. Die Tasten werden aber umgestellt- nur eben nicht zurück...
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
jimcontact
01.09.11
16:58
Wenn ich auf "Bearbeiten" klicke kommt das:
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
jimcontact
01.09.11
16:58
Wenn dir das jetzt wegen diesem einen Spiel zu krampfig wird, dann kann ich auch ohne...
Bei den anderen Games funktioniert es ja einwandfrei!
Damit hast du mir schon
sehr
geholfen
Echt herrlich, dass diese nervige Umstellerei nun (fast ganz) der Vergangenheit angehört!
Ich setze den Thread daher schon mal auf gelöst.
Und bedanke mich dafür, dass es bei den anderen Spielen schon so wunderbar klappt, das ist auf jeden Fall mal sehr genial!
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
_mäuschen
01.09.11
19:22
Ersetze diesen obersten Teil des scripts
set theApp to "The Frozen Throne"
set theProc to "Warcraft III"
global isRunning, theApp, theProc
CheckUI()
on runMe()
keyboard()
delay 1
tell application theApp to launch
delay 1 -- let the app launch
set isRunning to true
tell application theProc to activate
repeat while isRunning
delay 1
tell application "System Events" to if not (exists application process theProc) then set isRunning to false
end repeat
delay 1
keyboard()
end runMe
So läuft es bei mir
Hilfreich?
0
jimcontact
01.09.11
19:34
Perfekt!
Klappt einwandfrei, mit Frozen Throne!
Aber warum geht das partout nicht mit Warcraft III...
Komisches Verhalten... startet, aber erscheint nicht- das Spiel...
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
_mäuschen
01.09.11
20:01
Sehr eigenartig
Mit
tell application theApp to
activate
geht es
Hilfreich?
0
jimcontact
01.09.11
20:04
Stimmt!
Geiles Skript!
Das muss ich jetzt erst mal auf der iDisk, der Dropbox, Evernote und auf dem USB-Stick sichern! Damit ich es nie wieder verliere!
Absolut geil! Danke... das rockt!
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
jimcontact
03.09.11
13:13
Eine Kleinigkeit noch:
Kann man es auch so machen, dass das Systemeinstellungen-Fenster auch wieder zu gehen, wenn das Skript fertig durchgelaufen ist.
Wenn ich jetzt das Spiel beende, dann sind zwar alle Tasten richtig eingestellt aber das Systemeinstellungen-Fenster bleibt im Hintergrund geöffnet.
Das wäre noch ganz schick
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
_mäuschen
03.09.11
13:28
tell application "System Preferences" to quit
oder
tell application "System Events" to set visible of process "System Preferences" to false
vor
end
runMe
einfügen
Hilfreich?
0
jimcontact
03.09.11
14:04
Klasse!
Mit
tell application "System Preferences" to quit
geht es prima!
Nur bei Starcraft 2 bekomme ich einen Fehler... das Skript schliesst dann auch nicht die SysPrefs.
Dann kommt:
error "„System Events“ hat einen Fehler erhalten: „application process \"StarCraft II\"“ kann nicht als „true“ gesetzt werden." number -10006 from application process "StarCraft II"
Liegt wohl daran, dass die Eigentlich StarCraft 2 App (wie bei den anderen Blizz-Games) anderes heißt.
Mit
set theApp to "StarCraft II"
set theProc to "SC2"
global isRunning, theApp, theProc
CheckUI()
on runMe()
keyboard()
delay 1
tell application theApp to launch
delay 1 -- let the app launch
set isRunning to true
tell application theProc to activate
repeat while isRunning
delay 1
tell application "System Events" to if not (exists application process theProc) then set isRunning to false
end repeat
delay 1
keyboard()
end runMe
tell application "System Preferences" to quit
on keyboard()
tell application "System Preferences"
set currentPane to current pane
set flag to true
try
currentPane -- throws an error if current pane is empty
on error
set flag to false
end try
set current pane to pane "com.apple.preference.keyboard"
tell application "System Events"
tell application process "System Preferences"
click radio button 1 of tab group 1 of window 1
click checkbox 1 of tab group 1 of window 1
end tell
end tell
if flag then
set current pane to currentPane
else
set show all to true
end if
end tell
end keyboard
on CheckUI()
tell application "System Events"
if UI elements enabled then
my runMe()
else
tell application "System Preferences"
set current pane to pane "com.apple.preference.universalaccess"
display dialog "UI element scripting is not enabled. Check \"Enable access for assistive devices\"" buttons {"Continue…"}
end tell
end if
end tell
end CheckUI
Geht es dann...
Apple-Skript ist geil...
Hast du einen Tipp, wie man sich als Apple-Skript-Noob da mal reinlesen kann?
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
_mäuschen
03.09.11
14:27
keyboard
()
end r
unMe
tell
application
"System Preferences" to
quit
on
keyboard
()
muss zwingend sein
keyboard
()
tell
application
"System Preferences" to
quit
end
runMe
on keyboard
()
Hilfreich?
0
_mäuschen
03.09.11
14:38
developer.apple.com
AppleScript Language Guide
.
pdf
O Reilly -
AppleScript in a Nutshell
.pdf
Hilfreich?
0
jimcontact
03.09.11
14:39
Ok...hab's geändert... klappt auch
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
jimcontact
03.09.11
14:58
Ah ok... danke!
Werd mich mal reinlesen und schauen wie weit ich komme
Danke noch mal für die Hife... ich liebe dieses Skript
„An alle die gerade mit-, zu- oder abhören: Wer wo, warum, mit wem und wann, dass geht euch einen Scheißdreck an! (W.Schmickler)“
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Bessere Fotos: Adobe mit neuer iPhone-App für C...
Test Nubert nuZeo 3
iOS 18.4 kann bei CarPlay große Probleme machen...
TechTicker
Kurz "Severance" könnte zwei Spin-offs erhalten...
Flugtickets unter iOS 26
Das smarte Fahrrad
Apple Refurbished: MacBook Air M4 in vielen Var...