Abilita blocco tasti funzione quando si utilizza la tastiera esterna / Disabilita quando si utilizza la tastiera interna su Mac Book Pro

4

Quando sto sviluppando, quasi sempre ho una tastiera Bluetooth esterna collegata al mio Mac Book Pro, e preferisco che il blocco funzioni sia attivo in modo che i tasti F1-F12 funzionino senza dover premere il tasto fn. Ma quando uso la tastiera interna, tendo a fare cose più casuali e luminosità / volume ecc. Sono più comunemente usati.

Posso abilitare / disabilitare il blocco della funzione a seconda della tastiera che sto usando?

    
posta Wellso 25.02.2016 - 12:26
fonte

1 risposta

2

Per fare questo devi usare uno strumento di terze parti: Karabiner.

Per abilitare questo devi creare un filtro per la tastiera esterna e invertire tutti i tasti funzione / consumatore.

Prerequisiti:

  1. Scarica, installa e apri Moschettone
  2. Apri la menulet Karabiner - > Preferenze
  3. Apri la scheda Misc e amp; Disinstalla
  4. Premi il pulsante Avvia EventViewer
  5. Premi la scheda Dispositivi
  6. Prendi nota del fornitore e dell'ID prodotto della tastiera esterna
  7. Chiudi EventViewer
  8. Premi il pulsante Apri private.xml
  9. Apri il file private.xml con un editor appropriato
  10. Inserisci il codice chiave personalizzato e sostituisci il fornitore e l'ID prodotto con gli ID trovati sopra

    <?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>
    

    Sostituisci i puntini di sospensione con tutti gli altri tasti utente e funzione necessari

  11. Salva il file

  12. Apri la menulet Karabiner - > Preferenze la scheda Cambia chiave
  13. Premi il pulsante ReloadXML
  14. Abilita i remapping. Dovrebbero essere elencati all'inizio.

Il comportamento finale dovrebbe essere il seguente con il blocco funzione attivato:

Tastiera interna:

F1 : F1
Fn + F1 : luminosità su

Tastiera esterna:

F1 : luminosità su
Fn + F1 : F1

ecc.

Se si disabilita o si ignora la parte Consumer to Function for External Keyboard , dovrebbe comportarsi in questo modo:

F1 : luminosità su
Fn + F1 : luminosità su

che significa che il "layer chiave funzione" è disabilitato e funziona solo il layer chiave consumatore.

ecc.

Altri possibili codici chiave:

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>
    
risposta data 25.02.2016 - 16:15
fonte

Leggi altre domande sui tag