The function keys works only on Mac together with the fn key, e.g. fn-F4 etc.
You should change the short key description in your menus like that.
Originally Posted by bcn
With genuine Apple keyboards, or?
At least here with a Win style keyboard and a MAC mini the F-keys are working as expected.
I believe this is only the case on laptops, and it depends on a setting: System Preferences > Keyboard > Use all F1, F2, etc. keys as standard function keys
When that box is unchecked (default) the function keys perform functions like screen brightness, volume, etc. Then Fn must be used to send the F-key codes. When it is checked, it is the other way around.
However, there is an additional complication: some of the function keys such as F11 already have standard system-wide functions, such as Show Desktop and Show Spaces. (See System Preferences > Mission Control.) For these keys, instead of pressing Fn+F11 (for example), you have to Press Ctrl+Fn+F11.
Due to all this complication, and as I have stated above, I would like to change these shortcuts anyway. Function keys are not used in OS X apps.
Also, even if we have to keep these keys, I don't believe it is either correct or possible to relabel them. The problem is twofold:
First, the label is set internally by wxWidgets based on the menu item shortcut set when calling wxMenu::Append. So far as I am aware, the only way to customise this would be (as you have done, Gerhard, I believe) to avoid setting a shortcut on the menu item directly, and include the key description in the menu label.
However, this is far from ideal, because (apart from the incorrect alignment, as seen in your screenshots, Gerhard) the set of keys you have to press changes depending on the system config as described above. We can't detect this. So, the only solution is to use the plain "F4" etc labels and let the user work it out for themselves.
Again, the only good solution here is to change the shortcuts.
Yes, Ctrl+Cmd+F is the standard shortcut to enter full screen mode on OS X. Every App I can find uses it. (Cmd+Shift+F sometimes performs "alternative" full screen actions, such as Slideshow in Preview.)
Others that I can think of right now that are problematic are F4 (Measure), F5 (Change Colour Scheme) and F9 (Toggle Quilting).
In fact any F-key is a problem, but most of the others either have alternatives already (eg switching up or down the chart stack with Cmd+Left and Cmd+Right), or else they do not work on OS X anyway (eg the F6 function for darkening the screen.)
One other issue is the MOB shortcut. Most of the Windows shortcuts that use Ctrl become Cmd on Mac, but Cmd+Sace is globally reserved for Spotlight. So, I have force it to remain as Ctrl+Space, even on Mac.
Also try to consider that making the shortcuts different will make the users having to use more than one platform thank us all, obviously....
I know... I am one of those people!
Ideally, I would say that it would be best to change these shortcuts on all platforms. (Except the ones which have a per-platform "standard", such as fullscreen which must remain as F11 on Windows and Linux.)
Failing that, we must at least keep per-platform differences to a minimum.
The next question is, what are logical alternatives? I would have suggested Cmd+M for Measure, but it is already used for Drop Mark at Cursor (why M for cursor and O for boat???). Cmd+Q for quilting is obviously impossible, too.
On the other hand, many shortcuts in OCPN currently don't use modifier keys at all. (There is a certain amount of inconsistency, I feel, in which ones do and don't.) So maybe just M for measure, Q for quilt, and C for colours.
Oh, another thing is the undo/redo shortcuts. Cmd+Z is right, but on Mac the shortcut for redo should be Cmd+Shift+Z, not Cmd+Y.
I know that shortcuts are a difficult problem cross-platform. We've been around this mulberry bush many times before.
Please keep in mind that the target OCPN Release is an upgrade for ~70% of the user base, ie. Windows. Not quite fair to ask them to learn all new shortcuts for the sake of helping Mac users, however nice they may be
So lets make minimal changes to existing app-wide shortcuts, please.
Also, we won't be adding Sparkle to the Mac menu system in the default distribution anytime soon.
I absolutely agree with what you say about minimizing changes to shortcuts.
To be clear, I do not suggest abolishing the existing shortcuts, but rather that any new shortcuts could work "in parallel with"/as alternatives to the existing troublesome shortcuts.
This is already the case with several shortcuts - for example, chart scale in can be performed by F7 or Ctrl-Left (Cmd-Left on Mac), ditto for scale out. There are others like this, I can't remember them offhand.
So perhaps, for example, measure could be activated by M and by F4, etc.
This would seem to provide the best of both worlds; usable shortcuts that work on all platforms, without breaking backwards compatibility with existing users.
Re Sparkle, I fully understand and agree. I do think some kind of auto update would be nice, but it's not a priority.
I have implemented the shortcut key changes we discussed.
The following shortcuts have been added:
M - Measure
Q - Toggle Quilting
C - Change colourscheme
Shift-Cmd-Z - Redo (this is the standard shortcut on OS X)
The old shortcuts all still work, for those who remember and want to continue using them. The new ones are better, since they are cross-platform, and the letters are more memorable than F-keys.
So I have changed the labels in the popup menu to also refer to these single-letter shortcuts. (Except redo, which I have only changed for OS X - though in fact both shortcuts will work on all platforms.)
I have also added an AIS menu to the OS X menu bar, with the following items:
Many thanks to Mollymawk [Caesar] Who has engineered OsX Menu improvements which also work in Windows and Linux and has completed the first steps towards User Definable shortcuts by giving commands unique names/identifiers. [Caesar please correct me if I have mistated or missed something.]
Here is the new optional menu in Windows. Some will like it and others will not. That is inevitable, it is an option which expands our choices and it can always be expanded and improved!