In aquamacs, how can I remap the capslock key to meta? I can remap command to control using:
(setq mac-command-modifier 'ctrl)
Is there a similar way to remap the capslock?
EDIT: I know that I can remap keys in the system preferences, but I'd really like to confine the damage to aquamacs only. Just like mapping the command key to ctrl, but for capslock.
Answer
Aside from the "Modifier Keys" System Preferences section, I don't think an application can override the behaviour of the caps lock key..
I'm fairly sure the Caps Lock key event is not passed to applications, nor can they override the toggle effect.. Maybe you could do something whereby you monitor caps lock key state, and send alt when it changes.. but this is extremely convoluted, and slightly useless (it wouldn't work if you hold the key..)
Do you really need the caps lock key in other applications?
If so, perhaps you could write an AppleScript to toggle the Caps Lock key mapping? For example, in pseudo-code:
loop forever:
if frontmost application == "Aquaemacs":
keys.capslock = "Meta"
else:
keys.capslock = "Default
Shouldn't be difficult using AppleScript, the code from this Apple support thread should be a good start:
tell application "System Preferences"
activate
set current pane to pane "com.apple.preference.keyboard"
end tell
tell application "System Events"
tell application process "System Preferences"
get properties
click button "Modifier Keys..." of tab group 1 of window "Keyboard & Mouse"
tell sheet 1 of window "Keyboard & Mouse"
click pop up button 1
click menu item "No Action" of menu 1 of pop up button 1
delay 3
click button "OK"
end tell
end tell
end tell
No comments:
Post a Comment