Cómo intercambiar las teclas modificadoras de comandos y opciones con un script en OS X Lion

2

Utilizo un teclado USB para PC con mi macbook. Entonces, entré en System Preferences > Keyboard > Modifier Keys ... e intercambié comandos y opciones para el teclado USB. Esto coloca esas teclas en la posición "correcta" para un mac.

Pero, durante parte del día, realizo un escritorio remoto en una máquina con Windows. Así que ahora, necesito volver a intercambiar las claves, para que el cliente de escritorio remoto no esté confundido.

Es bastante fácil hacerlo a través de la interfaz de usuario Preferencias , pero es engorroso.

Me gustaría usar un script de algún tipo (tal vez applecript), para poder intercambiar rápidamente de un lado a otro.

He encontrado varios scripts en línea, pero ninguno de ellos es para Lion.

    
pregunta ryanman 12.10.2013 - 21:51

2 respuestas

2

Pude modificar algunos de los scripts que ya existen y hacer que funcionen en Lion. Para crear estos scripts:

  • Ejecutar el editor de AppleScript
  • Cree dos nuevos archivos de script vacíos (command-N)
  • Pegar en estos dos scripts
  • Guárdalos como algo como "opción de comando de intercambio" y "opción de comando de restauración" o lo que quieras
  • Puede probarlos ejecutándolos en el editor de Applecript.

Aquí está el script para cambiar el comando a la opción, y la opción para mandar:

#
# Script to swap the Command and Option keys
# in the System Preferences Keyboard settings.
#
# Helpful if using a PC keyboard
#

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


tell application "System Events"
    tell process "System Preferences"
    click button "Modifier Keys…" of tab group 1 of window "Keyboard"

    # Select keyboard: pop up button
    click pop up button 5 of sheet 1 of window "Keyboard"
    # The 4th choice there.. my USB Keyboard
    click menu item 4 of menu 1 of pop up button 5 of sheet 1 of window "Keyboard"

    # The Option Key pop up
    click pop up button 2 of sheet 1 of window "Keyboard"
    # Change it to Command, the 4th choice
    click menu item 4 of menu 1 of pop up button 2 of sheet 1 of window "Keyboard"

    # The Command Key pop up
    click pop up button 1 of sheet 1 of window "Keyboard"
    # Change it to Option, the 3rd choice
    click menu item 3 of menu 1 of pop up button 1 of sheet 1 of window "Keyboard"

    click button "OK" of sheet 1 of window "Keyboard"

    end tell
end tell

tell application "System Preferences"
    quit
end tell

Aquí está el script para volver a intercambiarlos:

#
# Script to restore the Command and Option keys to their defaults 
# in the System Preferences Keyboard settings.
#

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


tell application "System Events"
    tell process "System Preferences"
    click button "Modifier Keys…" of tab group 1 of window "Keyboard"

    # Select keyboard: pop up button
    click pop up button 5 of sheet 1 of window "Keyboard"
    # The 4th choice there.. my USB Keyboard
    click menu item 4 of menu 1 of pop up button 5 of sheet 1 of window "Keyboard"

    # The Option Key pop up
    click pop up button 2 of sheet 1 of window "Keyboard"
    # Change it to Option, the 3rd choice
    click menu item 3 of menu 1 of pop up button 2 of sheet 1 of window "Keyboard"

    # The Command Key pop up
    click pop up button 1 of sheet 1 of window "Keyboard"
    # Change it to Command, the 4th choice
    click menu item 4 of menu 1 of pop up button 1 of sheet 1 of window "Keyboard"

    click button "OK" of sheet 1 of window "Keyboard"

    end tell
end tell

tell application "System Preferences"
    quit
end tell

Para facilitar el acceso a estos scripts, puede ir a las Preferencias del Editor de Applescript y marcar "Mostrar el menú del Script en la barra de menú". Luego, copie sus scripts al directorio de inicio Biblioteca / Scripts, es decir, / Users / ryan / Library / Scripts

Ahora puede acceder a ellos directamente desde el menú del script de la barra de menú.

    
respondido por el ryanman 12.10.2013 - 21:56
1

También puede usar un private.xml como este con KeyRemap4MacBook:

<?xml version="1.0"?>
<root>
  <item>
    <name>test</name>
    <identifier>test</identifier>
    <not>REMOTEDESKTOPCONNECTION</not>
    <autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen>
    <autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen>
    <autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::COMMAND_R</autogen>
    <autogen>__KeyToKey__ KeyCode::COMMAND_R, KeyCode::OPTION_R</autogen>
  </item>
</root>

REMOTEDESKTOPCONNECTION se define en appdef.xml .

Esto haría que el comando y la opción de intercambio fn-escape cambien:

<?xml version="1.0"?>
<root>
  <item>
    <name>test</name>
    <identifier>test</identifier>
    <autogen>__KeyToKey__ KeyCode::ESCAPE, ModifierFlag::FN, KeyCode::VK_CONFIG_TOGGLE_swapoptcmd</autogen>
  </item>
  <item>
    <name>swapoptcmd</name>
    <identifier vk_config="true">swapoptcmd</identifier>
    <autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen>
    <autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen>
    <autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::COMMAND_R</autogen>
    <autogen>__KeyToKey__ KeyCode::COMMAND_R, KeyCode::OPTION_R</autogen>
  </item>
</root>
    
respondido por el user495470 13.10.2013 - 01:04

Lea otras preguntas en las etiquetas