7 Replies Latest reply: Jun 13, 2010 1:33 PM by Francesco Laffi
Steve Herman1 Level 4 Level 4 (2,545 points)
I was trying to set up a keyboard shortcut for a Service in Sys.Prefs -> Keyboard -> Keyboard Shortcuts and discovered that if I attempt to use a function key as a part of the shortcut that it disappears out of the key entry field as soon I click off the item. The keys I press (including an "F#" representing the function key that I've pressed) show up briefly in the field but then go away.

Entering keystrokes that do not include a function key seem to work fine.

Function keys are used as a part of many of the default keyboard shortcuts. So is there maybe a trick for entering a function key in the pref pane as part of a user defined shortcut that I just don't know about? Or is this maybe a bug in the pref pane? Or any other explanation for what I'm seeing?

This is on a Snow Leopard 10.6.3 machine.

Thanks,
Steve

20" iMac G5, Mac OS X (10.5.5)
  • R C-R Level 6 Level 6 (14,875 points)
    Function keys are regular keystrokes, just like for letters, numbers, or punctuation marks. Thus, just like the others, you can use them only by themselves or in combination with modifier keys (shift, command, control, & option) in keyboard shortcuts.

    IOW, a valid shortcut would be F4 or command + F4 but not F4 + any regular key.
  • Steve Herman1 Level 4 Level 4 (2,545 points)
    R C-R wrote:
    Function keys are regular keystrokes, just like for letters, numbers, or punctuation marks. Thus, just like the others, you can use them only by themselves or in combination with modifier keys (shift, command, control, & option) in keyboard shortcuts.

    IOW, a valid shortcut would be F4 or command + F4 but not F4 + any regular key.


    It's good to know that regular keys are not allowed with function keys, but it doesn't explain the problem. I initially tried using command + various function keys and when that wouldn't "stick" I tried just various function keys which also wouldn't work.

    And like I said... it looks like it's going to accept the key(s) I press by showing the textual representation of the key in the key field (such as "F4" or "F5") but as soon as I click outside the text field it vanishes.

    The problem was mentioned to me by another person and I was able to duplicate it, so it's not just me or my machine. Just out of curiosity, does it work for you?

    Steve
  • R C-R Level 6 Level 6 (14,875 points)
    Yes, it works as expected for me.
  • Steve Herman1 Level 4 Level 4 (2,545 points)
    Hmmm... I wonder if it might only be a problem in the "Services" section of the keyboard shortcuts?

    I was able to change one of the items in my "Expose & Spaces" section and set it to F5 and it stays set. And I was also able to add a new item under "Application Shortcuts" section and set it to command-option-F5 and that also stays set. And both work as expected.

    But nothing in my "Services" section will keep a function key set as all or part of it's shortcut.

    Steve
  • Roger Wilmut1 Level 9 Level 9 (69,195 points)
    Try going to System Preferences>Keybord and in the Keyboard pane checking 'Use all F1, F2 etc. keys as standard function keys'. Doing this means that you will have to hold the 'fn' key while using a function key for brightness, volume and so on.
  • Steve Herman1 Level 4 Level 4 (2,545 points)
    Roger Wilmut1 wrote:
    Try going to System Preferences>Keybord and in the Keyboard pane checking 'Use all F1, F2 etc. keys as standard function keys'.

    Thanks for the suggestion. I gave that a try but it didn't seem to make any difference... I can still set Fn keys for shortcuts in other sections of the pref pane just not in the Services section.

    I also tried it under another user account on my machine and it doesn't work there either.

    Weird.

    Steve
  • Francesco Laffi Level 1 Level 1 (0 points)
    This is pretty annoying, but I found a workaround, you can set a shortcut to menu item with the name of your service for all application. There's a plus symbol for adding shortucts to menu items.