Automatice el interruptor de tecla Fn al abrir Excel

Entonces, Microsoft lanzó una vista previa gratuita de Office para Mac, y es bastante bueno.

Uno de mis mayores problemas al usar Excel en una Mac siempre ha sido que el atajo más popular/frecuente (F2 -> editar celda) no estaba disponible en Mac (había un reemplazo predeterminado, cmd-T, creo, pero ni la mitad de práctico como F2).

Ahora F2 está aquí en la vista previa, ¡genial! Pero uno todavía tiene que presionar la tecla Fn o cambiar toda la fila de teclas Fn ( enlace desde la página de Apple ). De ahí la pregunta:

¿Hay alguna manera de:

  • seleccionar solo cambiar la tecla F2, o
  • cambiar la fila de teclas Fn automáticamente al abrir Excel?
El equivalente de F2 en Office 2011 es Control-U. Dada la "codificación dura" de la tecla Fn, puede ser igual de molesto presionar :-)
Ctrl-U es simplemente insoportable, aunque solo sea porque requiere ambas manos. Cuando se auditan archivos grandes, a menudo se presiona repetidamente la flecha F2 para verificar rápidamente las fórmulas. Cualquier otra cosa que no sea una sola pulsación de tecla no funciona. Y años de hábitos de WinXL son difíciles de cambiar (especialmente cuando se usa tanto win como mac)
¿Y por qué el voto negativo?

Respuestas (2)

Creo que la mejor manera de lograr esto es instalar un programa mapeador de teclado. Yo uso mosquetón . Una vez instalado (¿podría necesitar un reinicio?), Verá un icono de la barra de menú que parece un cuadrado redondeado, probablemente con la palabra 'Predeterminado' al lado; sugiere que está utilizando el perfil de mapeo predeterminado. Haga clic en él y seleccione 'Preferencias' para acceder al subprograma de preferencias de Karabiner para que pueda editar el private.xmlarchivo y agregar el mapeo a continuación. Debería poder encontrar un botón para "Abrir private.xml" en la pestaña "Misc & Uninstall" de la ventana de preferencias.

Pon esto en tu private.xmlarchivo:

<?xml version="1.0"?>
<root>

  <!-- ============================================================ -->
  <!-- Make F2 send as Ctrl-U for formula editing -->

  <appdef>
    <appname>Excel</appname>
    <equal>com.microsoft.Excel</equal>
  </appdef>

  <item>
    <name>F2 becomes Ctrl-U in Excel</name>
    <identifier>private.map_F2_to_ctrlU</identifier>
    <only>Excel</only>
    <autogen>__KeyToKey__ KeyCode::F2, KeyCode::U, ModifierFlag::CONTROL_L</autogen>
  </item>
</root>

Eso ahora hará que cuando presione F2, envíe a Excel la secuencia Ctrl-U en su lugar. Lo que F2 estaba haciendo antes ya no funcionará, pero parece ser una especie de cortar y pegar.

Tenga en cuenta que estoy haciendo esto en un teclado extendido de Apple con cable (de una Mac Pro) donde F2 no requiere Fn (las funciones alternativas como el volumen lo hacen), por lo que no sé qué hará el teclado no numérico o los teclados de las computadoras portátiles hacer, pero tal vez deba agregar KeyCode::FN o ModifierFlag::FN al lado izquierdo de esa asignación si no funciona de inmediato. Por otra parte, el comportamiento de Fn podría ser una preferencia de teclado, no recuerdo en la parte superior de mi cabeza.

Vale la pena señalar que en el archivo de mapeo que creé para esto, lo definí de manera que este mapeo solo será válido para la aplicación de Excel, no lo hará para ninguna otra aplicación.

Lo único que debe hacer en la ventana de preferencias es en la pestaña "Cambiar clave", ahora habrá una casilla de verificación para "F2 se convierte en Ctrl-U en Excel" que deberá marcar.

Déjame saber si eso funciona. FWIW, he usado Karabiner durante algunos años como una forma de asignar la tecla de opción derecha como una tecla de menú/contexto de Windows cuando se ejecuta en Citrix Receiver (inicio de sesión remoto para PC de trabajo) y ha funcionado bien para mí y actualizaciones han sido indoloros.

Se ve interesante, gracias. De hecho, uso Excel en un MBA, donde F2 se enciende/apaga con la tecla Fn (MS ha movido sabiamente el atajo ^U a F2 pero Fn lo borra). Sin embargo, exploraré posibilidades.
@AlexH., en el paquete Karabiner hay una herramienta para mostrar qué secuencia de teclas se está presionando; así es como puede determinar los nombres de las asignaciones. Creo que podría estar en la pestaña "misc" con algún nombre como inspector o visor de eventos. Podría ver qué tecla informa cuando presiona la tecla F2 sin la tecla Fn y modifica mi archivo de mapeo para usar eso en su lugar.

Desafortunadamente, la Fn clave se interpreta incluso antes de que salga del teclado, por lo que no hay forma de 'falsificarla' más tarde.

Todavía no he visto esa versión de Office, pero... si hay un elemento de menú para la función, debería poder reemplazarlo usando Preferencias del sistema > Teclado > Accesos directos / Accesos directos de aplicaciones.
Presione el botón + debajo del cuadro de la derecha, marque la aplicación adecuada, escriba el nombre del menú y agregue cualquier combinación de teclas que desee.

Editar

Pensándolo bien, a menos que Microsoft haya dejado de ignorar las pautas de la caja de herramientas de Mac, eso puede no ser posible...

Consulte Crear o eliminar un método abreviado de teclado para conocer la forma deliciosamente no estándar que MS ha elegido para implementar esta funcionalidad.

Crear un atajo de teclado para una tarea

  1. En el menú Herramientas, haga clic en Personalizar teclado.

  2. En la lista Categorías, haga clic en un nombre de menú.

  3. En la lista junto a Categorías, haga clic en la tarea a la que desea asignar un método abreviado de teclado.
    Cualquier método abreviado de teclado que esté actualmente asignado a la tarea seleccionada aparece en el cuadro Teclas actuales.
    SUGERENCIA Si prefiere usar un atajo de teclado diferente, agregue otro atajo a la lista y luego utilícelo en su lugar.

  4. En el cuadro Presionar nueva tecla de método abreviado, escriba una combinación de teclas que incluya al menos una tecla modificadora (COMANDO , CONTROL , OPCIÓN , MAYÚS ) y una tecla adicional, como COMANDO+ F11 .
    Si escribe un método abreviado de teclado que ya está asignado, la acción asignada a esa combinación de teclas aparece junto a Asignado actualmente a.

  5. Haga clic en Agregar.

NOTAS

  • Para cancelar la asignación de atajos de teclado, presione ESC .

  • Las descripciones de los métodos abreviados de teclado se refieren a la disposición del teclado de EE. UU. Es posible que las teclas de otras distribuciones de teclado no se correspondan con las teclas de un teclado estadounidense. Los métodos abreviados de teclado para computadoras portátiles también pueden diferir.


Editar
Encontré este Applescript para alternar el estado de la tecla F...

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


tell application "System Events"
    if UI elements enabled then
        tell tab group 1 of window "Keyboard" of process "System Preferences"
            click checkbox "Use all F1, F2, etc. keys as standard function keys"
        end tell
    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\""
        end tell
    end if
end tell

tell application "System Preferences"
    quit
end tell

Fuente MacRumours
Post #12 tiene una solución automatizada mucho más completa, pero es demasiado compleja para publicarla aquí.

gracias: el elemento del menú Personalizar teclado ya no está aquí (o aún, la vista previa probablemente no sea definitiva). Probaré tu primera sugerencia, pero creo que la función "editar celda" no tiene nombre (lo estoy buscando).
Bienvenido. Espero sinceramente que hayan utilizado el método estándar de la caja de herramientas de Mac para esta nueva versión. La vida se vuelve mucho más fácil cuando ya sabes cómo lograr algo como esto, sin necesidad de un artículo de kb completo sobre "cómo lo hacemos de manera diferente en Redmond". ';) Mi punto clave, desafortunadamente, es que a menos que proporcionen algún método para personalizar, no hay forma de 'falsificar' una tecla Fn :(
de hecho, ahora estoy bastante seguro de que "F2" (que activa o desactiva el modo de edición) no está en los menús (probablemente porque es muy "básico"). También es posible que no haya sido claro en mi pregunta: el atajo realmente existe ahora, es F2 . Pero todavía existe la interferencia Fn (tiene que presionar Fn+F2 cada vez, no, o cambiar toda la fila Fn desde Preferencias del sistema> Teclado. Esto último es factible, pero prefiero no cambiar los automatismos de años solo para XL (y uso subir/bajar el volumen con bastante frecuencia).
Por supuesto, de ahí mi idea original de simplemente hacer una sustitución... que luego me di cuenta de que no iba a ser fácil en el software de MS.