Ändra funktionen på F-tangenterna från terminalen (eller när program startas)

Tråden skapades och har fått 4 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Hedemora
  • 2009-04-27 16:27

Spelar EVE-online lite då och då på min Mac, och då använder man F-tangerterna ganska mycket. Så då är det ju skönt om man slipper hålla in "fn" varje gång man ska använda dem. Brukar därför klicka i "Use all F1, F2 etc as standard function keys" i Systemsettings -> Keyboard/Mouse.

Dock så vill man ju inte behöva trycka "fn" sen när man använder datorn till annat.

Och man är ju för lat för att ändra manuellt varje gång.

Så jag tänkte om det går att ändra funktionen via terminalen på något sätt, alternativt på nåt annat bra sätt.
Planen är att sätta ihop ett automator-script som ändrar F-tangenterna, startar EVE, och när EVE stängs, så ändras F-tangenterna tillbaka till standard.

Nån idé?

  • Medlem
  • 2009-04-27 17:04

Spara detta som en app i Manusredigeraren och kör från tex Dockan.
Koden kommer från http://forums.macrumors.com/archive/index.php/t-383969.html och jag lade på hantering för Svenska som systemspråk.

tell application "System Preferences"
	activate
	set current pane to pane "com.apple.preference.keyboard"
end tell


tell application "System Events"
	if UI elements enabled then
		try
			tell tab group 1 of window "Tangentbord och mus" of process "System Preferences"
				click checkbox "Använd alla funktionstangenter med de vanliga funktionerna"
			end tell
		on error
			tell tab group 1 of window "Keyboard & Mouse" of process "System Preferences"
				click checkbox "Use all F1, F2, etc. keys as standard function keys"
			end tell
		end try
	else
		tell application "System Preferences"
			activate
			set current pane to pane "com.apple.preference.universalaccess"
			display dialog "UI element scripting is not enabled. Check \"Enable access for assistive devices\""
		end tell
	end if
end tell

tell application "System Preferences"
	quit
end tell
  • Medlem
  • Hedemora
  • 2009-04-27 23:13

Ah, underbart. Tack!

Då var det nästa problem. Ovanstående funkar bra, men nu ändra s F-tangenterna, EVE startas, och sen ändras F-funktionerna tillbaka medans programmet är igång. Skulle vilka att scriptet väntade på att EVE avslutas.

Antar att det är möjligt på nåt sätt... I Linux så är det ju bara &/&& som gäller för liknande. Kanske går att baka in i apple-scriptet som körs efter att EVE startats?

  • Medlem
  • 2009-04-28 06:59

F-tangenterna ändras väl inte om du inte kör skriptet?

  • Medlem
  • 2009-04-28 07:10

Nu ändras inget så länge processen "EVE" går.

tell application "System Events"
	if UI elements enabled then
		if "EVE" is not in name of every process then
			try
				tell tab group 1 of window "Tangentbord och mus" of process "System Preferences"
					click checkbox "Använd alla funktionstangenter med de vanliga funktionerna"
				end tell
			on error
				tell tab group 1 of window "Keyboard & Mouse" of process "System Preferences"
					click checkbox "Use all F1, F2, etc. keys as standard function keys"
				end tell
			end try
		else
			tell application "System Preferences"
				activate
				set current pane to pane "com.apple.preference.universalaccess"
				display dialog "UI element scripting is not enabled. Check \"Enable access for assistive devices\""
			end tell
		end if
	end if
end tell

tell application "System Preferences"
	quit
end tell
1
Bevaka tråden