Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

Mission Control has freed up a couple of my function keys, I'd like to try using one of them to activate the application switcher. I've tried the Keyboard Shortcuts preference pane, and Spark.app, but no luck. Any other ideas?

share|improve this question

3 Answers 3

Try the free KeyRemap4MacBook from the site below

http://pqrs.org/macosx/keyremap4macbook

share|improve this answer

Keyboard Maestro will accomplish this (and many other things). It is not freeware, however.

http://www.keyboardmaestro.com/main/

share|improve this answer
    
Not freeware, but you free up lots of time using it :) –  hced Nov 17 '12 at 11:51

Uber Key

https://gist.github.com/lsfalimis/55b776c1f69d678b22fa

Use: http://lsfalimis.github.io/mac/2014/05/08/my-no-programmer-window-management-and-keyboard-shortcuts-settings/

(Just a suggestion: a disadvantage is that it's hard to memorise these shortcuts; since I have used up all my keys, so now I'm using Keyboard Maestro's typed string trigger.)

Gist:

<?xml version="1.0"?>
<root>
    <!-- Next part belongs to lucifr https://gist.github.com/lucifr/4971978                                                        -->

    <item>
        <name>F19 to F19</name>
        <appendix>(F19 to Hyper (ctrl+shift+cmd+opt) + F19 Only, F19)</appendix>
        <identifier>private.f192f19</identifier>
        <autogen>
            --KeyOverlaidModifier--
            KeyCode::F19,
            KeyCode::COMMAND_L, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
            KeyCode::F19
        </autogen>
    </item>
<!--
    <item>
        <name>Remap F18 to Uber Key</name>
        <identifier>uber_key.f18_as_uber_key</identifier>
        <autogen>--KeyToKey-- KeyCode::F18, KeyCode::VK_MODIFIER_EXTRA1</autogen>
    </item>
-->

    <!-- I have used PCKeyboardHack to remap Caps Lock to F19 as Hyper key, Shift_R to F18 as input source switcher, Command_R to  -->
    <!-- Eudic Light Peek key, and so Uber key will be Option_R mapped as F16. -->
    <item>
        <name>KeyOverlaidModifier of F16 to VK_MODIFIER_EXTRA1</name>
        <identifier>f16_over_laid</identifier>
        <autogen>
            --KeyOverlaidModifier--
            KeyCode::F16,
            KeyCode::VK_MODIFIER_EXTRA1,
            KeyCode::F16
        </autogen>
    </item>

    <item>
        <name>KeyOverlaidModifier of F17 to ⌃⌥⌘</name>
        <identifier>f17_over_laid</identifier>
        <autogen>
            --KeyOverlaidModifier--
            KeyCode::F17,
            KeyCode::COMMAND_L, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L,
            KeyCode::F17
        </autogen>
    </item>

    <item>
        <name>KeyOverlaidModifier of F18 to ⌃⌥⇧</name>
        <identifier>f18_over_laid</identifier>
        <autogen>
            --KeyOverlaidModifier--
            KeyCode::F18,
            KeyCode::SHIFT_L, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L,
            KeyCode::F18
        </autogen>
    </item>

    <!-- Next part belongs to David Conner https://gist.github.com/dcunited001/4188771                                             -->
    <!-- refer to this post of Google Groups https://groups.google.com/forum/#!topic/ukelele-users/QO1mTJZEOVo                     -->
    <!-- I comment on some lines because I want to keep ⌃F2 for "Move focus to the Dock" and ⌃F3 for "Move focus to the menu bar", -->
    <!-- and I am unable to unmap ⌃F9, ⌃F10 and ⌘F1 for some reason I don't know.                                                  -->

    <item>
        <name>Uber+[1-90-=] mapped to Shift+F1-F12)</name>
        <identifier>uber_key.uber_row1_to_shift_fn</identifier>
        <autogen>--KeyToKey-- KeyCode::KEY_1, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F1, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_2, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F2, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_3, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F3, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_4, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F4, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_5, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F5, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_6, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F6, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_7, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F7, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_8, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F8, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_9, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F9, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::KEY_0, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F10, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::MINUS, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F11, ModifierFlag::SHIFT_L</autogen>
        <autogen>--KeyToKey-- KeyCode::EQUAL, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F12, ModifierFlag::SHIFT_L</autogen>
    </item>

    <item>
        <name>Uber+[qwertyuiop\[\]] mapped to Ctrl+F1-F12). Unused keys: W, E | O, P </name>
        <identifier>uber_key.uber_row2_to_ctrl_fn</identifier>
        <autogen>--KeyToKey-- KeyCode::Q, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F1, ModifierFlag::CONTROL_L</autogen>
        <!-- <autogen>--KeyToKey-- KeyCode::W, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F2, ModifierFlag::CONTROL_L</autogen> -->
        <!-- <autogen>--KeyToKey-- KeyCode::E, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F3, ModifierFlag::CONTROL_L</autogen> -->
        <autogen>--KeyToKey-- KeyCode::R, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F4, ModifierFlag::CONTROL_L</autogen>
        <autogen>--KeyToKey-- KeyCode::T, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F5, ModifierFlag::CONTROL_L</autogen>
        <autogen>--KeyToKey-- KeyCode::Y, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F6, ModifierFlag::CONTROL_L</autogen>
        <autogen>--KeyToKey-- KeyCode::U, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F7, ModifierFlag::CONTROL_L</autogen>
        <autogen>--KeyToKey-- KeyCode::I, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F8, ModifierFlag::CONTROL_L</autogen>
        <!--<autogen>--KeyToKey-- KeyCode::O, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F9, ModifierFlag::CONTROL_L</autogen> -->
        <!-- <autogen>--KeyToKey-- KeyCode::P, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F10, ModifierFlag::CONTROL_L</autogen> -->
        <autogen>--KeyToKey-- KeyCode::BRACKET_LEFT, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F11, ModifierFlag::CONTROL_L</autogen>
        <autogen>--KeyToKey-- KeyCode::BRACKET_RIGHT, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F12, ModifierFlag::CONTROL_L</autogen>
    </item>

    <item>
        <name>Uber+[asdfghjkl\;\'] mapped to Opt+F1-F12)</name>
        <identifier>uber_key.uber_row3_to_opt_fn</identifier>
        <autogen>--KeyToKey-- KeyCode::A, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F1, ModifierFlag::OPTION_L</autogen>
        <autogen>--KeyToKey-- KeyCode::S, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F2, ModifierFlag::OPTION_L</autogen>
        <autogen>--KeyToKey-- KeyCode::D, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F3, ModifierFlag::OPTION_L</autogen>
        <autogen>--KeyToKey-- KeyCode::F, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F4, ModifierFlag::OPTION_L</autogen>
        <autogen>--KeyToKey-- KeyCode::G, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F5, ModifierFlag::OPTION_L</autogen>
        <autogen>--KeyToKey-- KeyCode::H, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F6, ModifierFlag::OPTION_L</autogen>
        <autogen>--KeyToKey-- KeyCode::J, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F7, ModifierFlag::OPTION_L</autogen>
        <autogen>--KeyToKey-- KeyCode::K, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F8, ModifierFlag::OPTION_L</autogen>
        <autogen>--KeyToKey-- KeyCode::L, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F9, ModifierFlag::OPTION_L</autogen>
        <autogen>--KeyToKey-- KeyCode::SEMICOLON, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F10, ModifierFlag::OPTION_L</autogen>
        <autogen>--KeyToKey-- KeyCode::QUOTE, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F11, ModifierFlag::OPTION_L</autogen>
        <!-- OPT+F12 unassigned - tilda? -->
    </item>

    <item>
        <name>Uber+[zxcvbnm\,\.\/] mapped to Cmd+F1-F12)</name>
        <identifier>uber_key.uber_row4_to_cmd_fn</identifier>
        <autogen>--KeyToKey-- KeyCode::Z, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F1, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::X, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F2, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::C, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F3, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::V, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F4, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::B, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F5, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::N, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F6, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::M, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F7, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::COMMA, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F8, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::DOT, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F9, ModifierFlag::COMMAND_L</autogen>
        <autogen>--KeyToKey-- KeyCode::SLASH, ModifierFlag::EXTRA1 | ModifierFlag::NONE, KeyCode::F10, ModifierFlag::COMMAND_L</autogen>
        <!-- CMD+F11 unassigned - delete? -->
        <!-- CMD+F12 unassigned - backslash? -->
    </item>

</root>
share|improve this answer
    
Welcome to Ask Different! While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. –  George Garside Jun 17 at 12:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.