#7967: Update menu modifier images to more accurately reflect the corresponding key that appears on the keyboard ------------------------------+---------------------------- Reporter: jscipione | Owner: stippi Type: enhancement | Status: new Priority: normal | Milestone: R1 Component: User Interface | Version: R1/Development Resolution: | Keywords: Blocked By: | Blocking: Has a Patch: 0 | Platform: All ------------------------------+---------------------------- Comment (by jscipione): Replying to [comment:20 tangobravo]: > Another problem is what about other mentions of these keys - eg in the HTML documentation or forum posts etc? I don't think it is as big a deal as you think it is. And this is a problem already. In fact making the menu bitmaps static only worsens the problem. > Although I share your frustration that key roles add an indirection that harms usability, there isn't really an alternative when we are an alternative OS that wants to support both Mac/PC hardware. Allow me to disagree. My above proposed solution is exactly that, more or less. > Right now I'm typing this on OS X on a new MacBook Pro, but using a Microsoft UK PC keyboard plugged in by USB. It annoys me that I can't set independent keymaps for the two keyboards (so the @ is in the right place on the USB one but no longer where it is shown on the mac keyboard); but there is simply no way for the OS to give me a modifier bitmap corresponding to the key I should press for a shortcut, as the same key is marked differently on the two keyboards. I agree that is annoying but that is a different problem. In order to solve that we'd have to change keymaps to work per keyboard. Also, you are going to probably want to have multiple keymaps per keyboard as well. It is certainly a problem that could be solved, but, again, it is a different problem then the one described in this ticket. File a bug report about it. > > We should of course optimise for the common case, which may well be the bitmaps you suggest for the standard PC keyboard mapping. My main concern is then which convention should be followed for static documentation - key roles would suddenly not be exposed at all top those with the "common case" setup so would cause confusion, but using the WinPC bitmaps directly would be plain wrong for the significant minority with different setups. The 3 modes I outlined above represent the 3 most common cases in descending order. PC, PC w/Control and Command flipped, Mac. Replying to [comment:21 bonefish]: > Now I'm utterly confused. I thought you agree with the key roles approach. But that would imply labeling the keys on the keyboard in Keymap with "CTRL", "OPT", "CMD" and also use respective shortcut bitmaps. We are in agreement that key roles are the best approach, meaning that the bitmap that appears in the menu would not rely on the keymap. > Er, maybe people have different visions of how a key roles based approach would work. To clarify, mine (which I find simple and stringent) would ... > 1. switch the legends on the keyboard in Keymap when switching between Mac/Haiku and Windows mode as done already (r43228), You must have meant a different commit because r43228 has nothing to do with this. > 1. not switch the shortcut bitmaps *ever*. If you are willing to live with the fact that on a PC keyboard the Windows key corresponds to a menu bitmap that says "OPT" and the Alt key corresponds to a menu that reads "CMD" and you are willing to live with the fact that when you switch the control and command keys via the "Switch shortcuts to Windows/Linux mode" button in Keymap the Control key corresponds to a bitmap that says "CMD" and the Alt key corresponds to a menu item that reads "CTRL" and are willing to live with the fact that on a Mac keyboard the Option key corresponds to a bitmap that says "CMD" and the Command key corresponds to a menu bitmap that reads "OPT" then ok. I find all that terribly confusing though and I think that the input server could take care of all of it for you without you having to do anything. > Particularly the last point is why they are key roles. CMD is the main shortcut key role. Always. Keymap would visualize the mapping of physical keys to key roles. That might be considered confusing, since the key physically labeled CTRL wouldn't be mapped to the CTRL key role in Windows shortcut mode, but as we already established keyboards with localized legends don't quite match anyway. The "ideal" solution would be to invent names for the key roles that don't clash with actual key labels, but given the obscure kinds of key labels that do already exist (Meta, Super, ...) that's not really practical. How is that an ideal solution? That is equivalent to saying "this problem is hard, let's ignore it." > > Regarding the Haiku/Mac vs. Windows mode, how/where that is implemented -- i.e. as a change to the keymaps or a flag for the input server -- is really an implementation detail. I suppose a flag would be easier to implement, but I don't care as long as it works correctly. It won't be an implementation detail if we support multiple keymaps because multiple keymaps break the control/command switching feature. However, if we implement this in input server instead, it would no longer have to. And while we are modifying input server to support this feature, we could use this to also change the menu bitmaps too. -- Ticket URL: <http://dev.haiku-os.org/ticket/7967#comment:22> Haiku <http://dev.haiku-os.org> Haiku - the operating system.