FUNCTION KEYS Please fix it, it has been too long

Discussion in 'Windows Virtual Machine' started by dghpts, Oct 18, 2010.

  1. dghpts

    dghpts Junior Member

    Messages:
    10
    I know this has been discussed many times in many places.
    I'm thinking it needs to be in one place so that someone in the Parallels organization will see how many of us are frustrated with this issue.
    But there is yet to be an answer that works.

    I have been programing building automation systems for 30 years and they tend to use Windows based software exclusively.

    I have seen the forum admins just reply with "use the Fn+ whatever key, see it works" more times than I can imagine.

    It DOESN"T work, it causes a break in my train of thought when I have to remember a second key press to do something I have done for years.

    And I do everything else (docs, drawings, spreadsheets, etc) on the Mac side, so I want my function keys in the Mac apps to behave the way they should when in those applications.

    I have been using Parallels on my Mac to run windows since the Macs went to Intel processors, I have gone from P3 to P5 and now deciding whether to go to P6 or jump to another program altogether (and I'm not alone here).

    In that whole time the constant complaint from EVERYONE seems to be why can't Parallels map the normal Mac functions keys to the normal Windows functions keys without resorting to expensive and troublesome outside software.

    What is the problem with having the functions keys do Windows stuff when in a Windows program and Mac stuff when in a Mac application?????
    Why do I have to choose one over the other???
    If you are going to use the argument "some Mac people prefer their Mac keys" then make it an option check in the preferences.
    Isn't that why we are running Parallels to start with???
    So we can run Windows on our Mac hardware and have the best of both??
    So what is the problem?
    You remap the other keys, why not the function keys.

    And please don't take six months to answer, there are several of these threads where there was seriously six months between the post and the less than helpful "use the fn+" answer replied.
     
  2. Alexander Haltman

    Alexander Haltman Parallels Developers

    Messages:
    116
    Hi, dghpts

    What exactly key combination do you mean?
     
  3. 1. Please specify which exact combination of keys does not work for you?
    2. Please say do you have 'System Preferences -> Keyboard -> Use all F1, F1, etc keys as standard function keys' checkbox enabled or disabled?

    Please also try the following options:
    - disable 'Parallels Desktop -> Preferences -> Keyboard -> Enable MacOS system shortcuts'
    - enable 'Virtual Machine -> Configuration -> Options -> Advanced -> Optimize modifiers for games'

    One of those options should help.
     
  4. Christopher Simmons

    Christopher Simmons Bit poster

    Messages:
    1
    Please click one of the Quick Reply icons in the posts above to activate Quick Reply.
     
  5. dghpts

    dghpts Junior Member

    Messages:
    10
    WOW what a pain

    When I say Function keys I am referring to F1 through F12, when I say Modifier keys I mean Crtl, Alt, Command, Option, fn, Shift.

    When in Windows (the Parallels desktop has focus) I (and many others) would like the function keys F1 through F12 to work as they do in Windows for example F1 will bring up help, the other should do what ever the standard Windows functions are for the programs, for more examples F2 should rename, F3 should show links, these are specific to one program I use all the time, other programs use other F1-F12 key mappings. But the point is that when I am in Windows I shouldn't have to push the FN key while pushing F1-F12.

    Now, when a standard Apple application has focus, like Mail, the Function keys should do the Mac thing F1 would dim the screen brightness, F2 would make it brighter, and so on.
     
  6. JimInFL

    JimInFL Bit poster

    Messages:
    7
    Even as a brand new Mac user, I have to go along with this. I'm looking to use both OSs as they were intended. F1-F14, when Mac OS is in from of me, have normal function e.g. F10 = mute etc. But I work in development Visual Studio on W7, and when in that environment F10 needs to Step in the VS debugger. Even the Fn+F10 doesn't work either - not that I want to pick up that habit anyway.

    If Parallels won't do it alone, is there another option ? Maybe some 3d party add-on, to do this key remapping ?
     
  7. acjohnson55

    acjohnson55 Bit poster

    Messages:
    4
    More than anything, this seems like an issue between the OS'es rather than a Parallel's issue. In PC, the F keys are typically left open for applications to define, but in Mac, some of them are reserved for global usage. If it's possbile, it would be nice if Parallels could temporarily remap keys while it was active, but that seems pretty hacky to me.

    I use the program KeyRemap4MacBook for some other key remappings, and I notice that it does have some settings that apply to Parallels/Fusion, but it doesn't seem to have anything specifically for remapping the F keys for those applications. Maybe try e-mailing the developer of that application
     
  8. acjohnson55

    acjohnson55 Bit poster

    Messages:
    4
    I'm not saying automatic switching of the F-key functions wouldn't be convenient, but how often do you use volume up/down anyway? Would it kill you to set those to Fn+ F-key?
     
  9. brett@vitaz.net

    brett@vitaz.net Bit poster

    Messages:
    11
    The option is in the Mac control panel. Please look at the attached screen shot. "Use all F1, F2, keys as standard function keys."
     

    Attached Files:

  10. JimInFL

    JimInFL Bit poster

    Messages:
    7
    I must be confused - as a new Mac and Parallels user, I admit that.

    I do not use the Mac mappings at all. Don't need them. Whether that box is checked or not, seems only to determine, when I hit F11, do I get Volume Down, or Clear the Desktop, regardless of whether I'm working in the vm or Mac.

    What I'm referring to, is when I'm in Visual Studio (which is the majority of the time), I need F11 to 'Step Into'. No other keys - just F11 Step Into, F10 Step Over etc. Same for Sql Server Management tools - F5 = Execute etc. I guess what would be called the 'real' windows mappings for that application.

    Am I missing something in my readings that others here seem to understand ? Quite possible. Thanks.

    jim
     
  11. brett@vitaz.net

    brett@vitaz.net Bit poster

    Messages:
    11
    Some F keys have shortcuts already mapped. Switch to the "Keyboard Shortcut" area of the same pref pane and you can disable or remap everything you don't want.
     
  12. JimInFL

    JimInFL Bit poster

    Messages:
    7
    Thanks Brett. That's the part I was missing - unmapping those mapped keys. Works now.

    jim
     
  13. MAleckson

    MAleckson Bit poster

    Messages:
    1
    When a Windows window has focus...

    it should act like Windows. Function keys should work as they do on a Windows machine.

    Then, when I switch focus to a Mac application, the function keys should revert to the default behavior specified in the Mac System Preferences.

    This seems so obvious as not to require a ton of explanation - but apparently many people have requested Parallels to work this way - all to no avail.

    I agree with dghpts, Parallels makes this WAY TOO HARD!
     
  14. Chri12345

    Chri12345 Junior Member

    Messages:
    12
    I don't know if you can do this in Parallels already with the Preferences > Keyboard mappings. It is surprisingly non-intuitive how to use that part of the system. When I've tried it, I get surprised and disappointed: some mappings clearly do not work.

    The feature being requested, if it's not plain by now, is for Parallels to intercept the keyboard at a low level -- lower than the function key interpretation specified by the System Preferences > Keyboard settings. We want it so that when a VM app has focus, pressing the F1 key will cause the Windows keyboard device driver to see the F1 key press (regardless of whether the Mac preferences have that set to do F1 or to do Dim).

    I'm not familiar with the Apple system APIs or kernel extensions or anything -- I can see how this might possibly be difficult to implement due to Apple, but I do not know that it is in fact difficult at all.

    The least that Parallels could do is improve the documentation and KB in this confusing area, including acknowledging that this particular feature is/isn't available.

    I wish it worked like this, too. Really, everyone does. And it should be the default behavior.
     
  15. Dennis Wahlgren

    Dennis Wahlgren Junior Member

    Messages:
    10
    I'll throw my hat in the ring here, too, and agree with the OP. I use a DOS app that not only uses F keys but also uses shift+Fkeys. I was ok with pressing the Fn key and an F-key, but pressing Fn + shift + F-key gets old fast. Seems trivial on the surface, but like others have said, when you've memorized how to operate the basic F-keys in an app, having to use the Fn key can be a subtle but efficient productivity-killer.
     
  16. CGraffix

    CGraffix Bit poster

    Messages:
    4
    I'll pile on here. Yes this is a major pain with no good work around. Disabling FN in OS X and disabling Parallels mapping causes a whole other set of problems. A simple check box in Parallels preferences to use F1-12 as F1-12 would fix this.
     
  17. mdrejhon3

    mdrejhon3 Member

    Messages:
    24
    I solved the problem!!!

    Hello!

    I use function keys, including Visual Studio, in Parallels.
    - I wanted regular MacOS behaviour outside Parallels
    - I wanted Windows function key behaviour when Parallels in foreground.

    I solved the problem with the function keys !!!

    1. Go to Mac Preferences
    ENABLE "Use all F1, F2, etc. as standard function keys."
    (Don't worry, the below fix will automatically turn them to MacOS keys whenever Parallels is not in foreground)

    2. Go to Parallels Desktop (main menu) -> Preferences
    ENABLE "MacOS X System Shortcuts"

    3. Go to Parallels Desktop -> Virtual Machine -> Configure... -> Advanced
    ENABLE "Optimize modifier keys for games"
    (this makes CTRL / SHIFT / ALT keys work properly, like copying shortcuts or rectangle copy & pastes in Visual Studio)

    4. Download and install "KeyRemap4MacBook", a freeware program.

    5. Open KeyRemap4Macbook Preferences and select "Misc & Uninstall" tab.
    -> Click "Open private.xml" and copy and paste the below file (between the Start and End lines, but not including the Start and End dashed lines)

    6. In KeyRemap4Macbook Preferences, click "Change Key" and then enable all 5 or 6 settings in the "Macbook Air" (these also probably also works for the new Macbook Pro's with Thunderbolt port, or you can modify them)

    7. Now, you have bliss!
    MACOS: The icons on the Mac keys behave normally, like brightness, volume, play, pause, etc.
    PARALLELS: When Windows is running in the foreground, it will now behave like normal function keys, and Visual Studio users are happy, happy, happy, happy. (You can still hold Fn key while inside Parallels to access the MacOS keys)

    (Note, the below private.xml also includes a way to make PgUp/PgDn/Home/End/Insert/Delete much easier on a MacBook Air keyboard, when using Visual Studio, Word, Excel, or other Mircosoft product etc.)
    And yes, Spaces still works great too!

    --------Start of Custom private.xml for KeyRemap4MacBook--------

    <?xml version="1.0"?>
    <root>
    <list>
    <item>
    <name>Macbook Air: Keyboard Preferences Configured to Standard Function Keys</name>
    <list>
    <item>
    <name>F1,F2 to Brightness Adjust (except in Parallels/RDP)</name>
    <appendix>F1 to Brightness Down</appendix>
    <appendix>F2 to Brightness Up</appendix>
    <identifier>remap.air_f1f2</identifier>
    <not>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</not>
    <autogen>--KeyToConsumer-- KeyCode::F1, ConsumerKeyCode::BRIGHTNESS_DOWN</autogen>
    <autogen>--KeyToConsumer-- KeyCode::F2, ConsumerKeyCode::BRIGHTNESS_UP</autogen>
    </item>
    <item>
    <name>F3,F4 to Expose/Dashboard (except in Parallels/RDP)</name>
    <appendix>F3 to Expose</appendix>
    <appendix>F4 to Dashboard</appendix>
    <identifier>remap.air_f3f4</identifier>
    <not>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</not>
    <autogen>--KeyToKey-- KeyCode::F3, KeyCode::EXPOSE_ALL</autogen>
    <autogen>--KeyToKey-- KeyCode::F4, KeyCode::DASHBOARD</autogen>
    </item>
    <item>
    <name>F6,F7,F8 to Music Controls (except in Parallels/RDP)</name>
    <appendix>F6 to Music Prev</appendix>
    <appendix>F7 to Music Play/Pause</appendix>
    <appendix>F8 to Music Next</appendix>
    <identifier>remap.air_f6f7f8</identifier>
    <not>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</not>
    <autogen>--KeyToConsumer-- KeyCode::F6, ConsumerKeyCode::MUSIC_PREV</autogen>
    <autogen>--KeyToConsumer-- KeyCode::F7, ConsumerKeyCode::MUSIC_PLAY</autogen>
    <autogen>--KeyToConsumer-- KeyCode::F8, ConsumerKeyCode::MUSIC_NEXT</autogen>
    </item>
    <item>
    <name>F9,F10,F11 to Speaker Controls (except in Parallels/RDP)</name>
    <appendix>F9 to Mute</appendix>
    <appendix>F10 to Volume Down</appendix>
    <appendix>F11 to Volume Up</appendix>
    <identifier>remap.air_f9f10f11</identifier>
    <not>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</not>
    <autogen>--KeyToConsumer-- KeyCode::F9, ConsumerKeyCode::VOLUME_MUTE</autogen>
    <autogen>--KeyToConsumer-- KeyCode::F10, ConsumerKeyCode::VOLUME_DOWN</autogen>
    <autogen>--KeyToConsumer-- KeyCode::F11, ConsumerKeyCode::VOLUME_UP</autogen>
    </item>
    <item>
    <name>F12(Eject) to Forward Delete/Insert</name>
    <appendix>F12 to Forward Delete (Auto-Repeating!)</appendix>
    <appendix>Fn+F12 to Insert</appendix>
    <identifier>remap.air_f12</identifier>
    <autogen>--KeyToKey-- KeyCode::F12, KeyCode::FORWARD_DELETE</autogen>
    <autogen>--ConsumerToKey-- ConsumerKeyCode::EJECT, KeyCode::pC_INSERT</autogen>
    </item>
    <item>
    <name>Disable Right Option Key, except when pressed with cursor/delete keys (Works better in Parallels)</name>
    <appendix>Option_R+Up/Down/Left/Right Arrow Keys to PageUp/PageDown/Home/End (Allows one handed operation)</appendix>
    <appendix>Option_R+Delete to Forward Delete</appendix>
    <identifier>remap.modified_optionR_behaviours</identifier>
    <autogen>--KeyToKey-- KeyCode::OPTION_R, KeyCode::VK_MODIFIER_EXTRA1</autogen>
    <autogen>--KeyToKey-- KeyCode::CURSOR_UP, ModifierFlag::EXTRA1, KeyCode::pAGEUP</autogen>
    <autogen>--KeyToKey-- KeyCode::CURSOR_DOWN, ModifierFlag::EXTRA1, KeyCode::pAGEDOWN</autogen>
    <autogen>--KeyToKey-- KeyCode::CURSOR_LEFT, ModifierFlag::EXTRA1, KeyCode::HOME</autogen>
    <autogen>--KeyToKey-- KeyCode::CURSOR_RIGHT, ModifierFlag::EXTRA1, KeyCode::END</autogen>
    <autogen>--KeyToKey-- KeyCode::DELETE, ModifierFlag::EXTRA1, KeyCode::FORWARD_DELETE</autogen>
    </item>
    </list>
    </item>
    </list>
    </root>

    --------End of Custom private.xml for KeyRemap4MacBook--------
     
    Last edited: Mar 31, 2011
  18. mdrejhon3

    mdrejhon3 Member

    Messages:
    24
    Good news!!!!

    The author of KeyRemap4Macbook has included my custom key remapping into Version 7.2.21 of KeyRemap4Macbook which will be released as a public version at: http://pqrs.org/macosx/keyremap4macbook/index.html
    If you don't see Version 7.2.21 or 7.3 or later yet, please download it directly from:
    http://pqrs.org/macosx/keyremap4macbook/files/KeyRemap4MacBook-7.2.21.pkg.zip

    SIMPLE INSTRUCTIONS
    (you no longer need to deal with private.XML files)
    For MacBook Air, but probably also works for the new Macbook Pro's with Thunderbolt port.

    1. Go to Mac Preferences
    ENABLE "Use all F1, F2, etc. as standard function keys."
    (Don't worry, the below fix will automatically turn them to MacOS keys whenever Parallels is not in foreground)

    2. Go to Parallels Desktop (main menu) -> Preferences
    ENABLE "MacOS X System Shortcuts"

    3. Go to Parallels Desktop -> Virtual Machine -> Configure... -> Advanced
    ENABLE "Optimize modifier keys for games"
    (this makes CTRL / SHIFT / ALT keys work properly for Windows power users, like copying shortcuts or rectangle copy & pastes in Visual Studio)

    4. Download and install "KeyRemap4MacBook", a freeware program, VERSION 7.2.21 OR NEWER.
    Download Version 7.3 from: http://pqrs.org/macosx/keyremap4macbook/index.html
    (NOTE: If 7.3 doesn't show up there yet, get 7.2.21 from here instead)

    5. In KeyRemap4Macbook Preferences, click "Change Key" and search for "macbook air standard function" in the Search box. Enable all the checkboxes to have this behaviour:
    OUTSIDE Parallels: Function keys behaves as regular brightness/volume/dashboard/expose keys (logo keys)
    INSIDE Parallels: Function keys behaves as standard Windows function keys, without needing to hold Fn key

    (Fn key can still be used to adjust brightness/volume/dashboard/expose while inside Parallels)
    (Bonus: You can optionally make F12/Eject behave as a Forward Delete key, PC-style)

    6. OPTIONAL -- In "Change Key", search for "Option_R arrow parallels" and enable this option. This allows easier one-handed Parallels operation of Home/End/PgUp/PgDn/Insert/Delete on constrained MacBook Air keyboards that don't have these keys, without being forced to use the Fn key with your left hand. You simply hold down the rightmost option key while using the arrow keys for easy PgUp/PgDn/Home/End.

    There you go. Pretty easy if followed carefully step by step. No hassle with private.xml, thanks to my corresponding with the KeyRemap4Macbook author to include this feature that most of you in this thread have been requesting!!

    Screenshot attached below, showing the function key solution!
     

    Attached Files:

    Last edited: Apr 3, 2011
  19. gkratkin

    gkratkin Member

    Messages:
    21
    Thanks for the excellent post. Here's a private.xml that adds to your work by providing settings for the Macbook Pro, which unlike the Air has the sound functions on F10-F12.

    <?xml version="1.0"?>
    <root>
    <list>
    <item>
    <name>Macbook Pro: Keyboard Preferences Configured to Standard Function Keys</name>
    <list>
    <item>
    <name>F1,F2 to Brightness Adjust (except in Parallels/RDP)</name>
    <appendix>F1 to Brightness Down</appendix>
    <appendix>F2 to Brightness Up</appendix>
    <identifier>remap.mbpro_f1f2</identifier>
    <not>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</not>
    <autogen>--KeyToConsumer-- KeyCode::F1, ConsumerKeyCode::BRIGHTNESS_DOWN</autogen>
    <autogen>--KeyToConsumer-- KeyCode::F2, ConsumerKeyCode::BRIGHTNESS_UP</autogen>
    </item>
    <item>
    <name>F3,F4 to Expose/Dashboard (except in Parallels/RDP)</name>
    <appendix>F3 to Expose</appendix>
    <appendix>F4 to Dashboard</appendix>
    <identifier>remap.mbpro_f3f4</identifier>
    <not>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</not>
    <autogen>--KeyToKey-- KeyCode::F3, KeyCode::EXPOSE_ALL</autogen>
    <autogen>--KeyToKey-- KeyCode::F4, KeyCode::DASHBOARD</autogen>
    </item>
    <item>
    <name>F7,F8,F9 to Music Controls (except in Parallels/RDP)</name>
    <appendix>F7 to Music Prev</appendix>
    <appendix>F8 to Music Play/Pause</appendix>
    <appendix>F9 to Music Next</appendix>
    <identifier>remap.mbpro_f6f7f8</identifier>
    <not>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</not>
    <autogen>--KeyToConsumer-- KeyCode::F7, ConsumerKeyCode::MUSIC_PREV</autogen>
    <autogen>--KeyToConsumer-- KeyCode::F8, ConsumerKeyCode::MUSIC_PLAY</autogen>
    <autogen>--KeyToConsumer-- KeyCode::F9, ConsumerKeyCode::MUSIC_NEXT</autogen>
    </item>
    <item>
    <name>F10,F11,F12 to Speaker Controls (except in Parallels/RDP)</name>
    <appendix>F10 to Mute</appendix>
    <appendix>F11 to Volume Down</appendix>
    <appendix>F12 to Volume Up</appendix>
    <identifier>remap.mbpro_f9f10f11</identifier>
    <not>VIRTUALMACHINE, REMOTEDESKTOPCONNECTION</not>
    <autogen>--KeyToConsumer-- KeyCode::F10, ConsumerKeyCode::VOLUME_MUTE</autogen>
    <autogen>--KeyToConsumer-- KeyCode::F11, ConsumerKeyCode::VOLUME_DOWN</autogen>
    <autogen>--KeyToConsumer-- KeyCode::F12, ConsumerKeyCode::VOLUME_UP</autogen>
    </item>
    </list>
    </item>
    </list>
    </root>
     
  20. mdrejhon3

    mdrejhon3 Member

    Messages:
    24
    Excellent, I've emailed that to the author, Takayama Fumihiko <tekezo[at]pqrs.org>

    It appears it probably will need to be merged because F1-F4 is the same, and F6-F12 is different.
    Do you have any functions that should act on F5 or F6 key outside Parallels?
     

Share This Page