Habilitar el bloqueo de teclas de función cuando se usa un teclado externo / Deshabilitar cuando se usa un teclado interno en Mac Book Pro

4

Cuando estoy desarrollando, casi siempre tengo un teclado Bluetooth externo conectado a mi Mac Book Pro, y prefiero que la función de bloqueo esté activa para que las teclas F1-F12 funcionen sin tener que presionar la tecla fn. Pero cuando uso el teclado interno, tiendo a hacer cosas más informales y el brillo / volumen, etc., se usan más comúnmente.

¿Puedo habilitar / deshabilitar el bloqueo de función dependiendo del teclado que esté usando?

    
pregunta Wellso 25.02.2016 - 12:26

1 respuesta

2

Para que esto funcione, debes utilizar una herramienta de terceros: Karabiner.

Para habilitar esto, debe crear un filtro para el teclado externo e invertir todas las teclas de función / consumidor.

Requisitos previos:

  1. Descargue, instale y abra Karabiner
  2. Abrir en la menulet Karabiner - > Preferencias
  3. Abra la pestaña Misc & Desinstalar
  4. Pulsa el botón Iniciar EventViewer
  5. Pulsa la pestaña Dispositivos
  6. Tome nota del proveedor y la ID del producto del teclado externo
  7. Cierre el EventViewer
  8. Pulsa el botón Abrir private.xml
  9. Abra el archivo private.xml con un editor apropiado
  10. Ingrese el código clave personalizado y reemplace el ID del proveedor y del producto por los ID que se encuentran arriba

    <?xml version="1.0"?>
    <root>
      <devicevendordef>
        <vendorname>Apple</vendorname>
        <vendorid>0x05ac</vendorid>
      </devicevendordef>
      <deviceproductdef>
        <productname>ExternalKeyboard</productname>
        <productid>0x0256</productid>
      </deviceproductdef>
      <item>
        <name>Function to Consumer for External Keyboard</name>
        <identifier>private.function2consumerExtK</identifier>
        <device_only>DeviceVendor::Apple, DeviceProduct::ExternalKeyboard</device_only>
        <autogen>__KeyToKey__ KeyCode::F1, ConsumerKeyCode::BRIGHTNESS_DOWN</autogen>
        <autogen>__KeyToKey__ KeyCode::F2, ConsumerKeyCode::BRIGHTNESS_UP</autogen>
        ...
      </item>
      <item>
        <name>Consumer to Function for External Keyboard</name>
        <identifier>private.consumer2functionExtK</identifier>
        <device_only>DeviceVendor::Apple, DeviceProduct::ExternalKeyboard</device_only>
        <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_DOWN, ModifierFlag::FN, KeyCode::F1</autogen>
        <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, ModifierFlag::FN, KeyCode::F2</autogen>
        ...
      </item>
    </root>
    

    Reemplace los puntos suspensivos por todas las demás teclas de función y de consumidor necesarias

  11. Guarda el archivo

  12. Abrir en la menulet Karabiner - > Preferencias de la pestaña Cambiar clave
  13. pulsa el botón ReloadXML
  14. Habilitar las remappings. Deben estar listados al principio.

El comportamiento final debe ser el siguiente con el bloqueo de función activado:

Teclado interno:

F1 : F1
Fn + F1 : brillo hacia arriba

Teclado externo:

F1 : brillo hasta
Fn + F1 : F1

etc.

Si deshabilita u omite la parte Consumer to Function for External Keyboard , debería actuar de la siguiente manera:

F1 : brillo hasta
Fn + F1 : brillo hacia arriba

lo que significa que la "capa de tecla de función" está deshabilitada y solo la capa de clave de consumidor está funcionando.

etc.

Otros posibles códigos clave:

KeyCode::EXPOSE_ALL,                 KeyCode::F3</autogen>
KeyCode::DASHBOARD,                  KeyCode::F4</autogen>
KeyCode::LAUNCHPAD,                  KeyCode::F4</autogen>
ConsumerKeyCode::KEYBOARDLIGHT_LOW,  KeyCode::F5</autogen>
ConsumerKeyCode::KEYBOARDLIGHT_HIGH, KeyCode::F6</autogen>
ConsumerKeyCode::MUSIC_PREV,         KeyCode::F7</autogen>
ConsumerKeyCode::MUSIC_PLAY,         KeyCode::F8</autogen>
ConsumerKeyCode::MUSIC_NEXT,         KeyCode::F9</autogen>
ConsumerKeyCode::VOLUME_MUTE,        KeyCode::F10</autogen>
ConsumerKeyCode::VOLUME_DOWN,        KeyCode::F11</autogen>
ConsumerKeyCode::VOLUME_UP,          KeyCode::F12</autogen>
    
respondido por el klanomath 25.02.2016 - 16:15

Lea otras preguntas en las etiquetas