Option/Command/Alt Confusion

A Windows symbol, unfortunately. If I could change that as easily as the code in Haiku, I would. :slight_smile:
If the OPT key has to be the Windows[tm] symbol, I find the one used in your screenshot above to “fat”, too much of a black blob. This symbol, 229E would be nicer, but it’s not in the Noto fonts…

I agree about the black blob being not very pretty, and I also agree on the Unicode “window” symbol being a good alternative.

You can change the symbol on your Windows key pretty easily with a sticker… but the point is to put something in the menu that is recognizable as the label on the key. Thankfully the meta/super/win/option key is not used in keyboard shortcuts very often anyway.

1 Like

For that to work there must be a default terminology. I call this default terminology “logical”. This terminology would be in the documentation and in the UI as default but can be changed to the actual naming or symbol (whatever is preferred) by the user/system. In the documentation there would be a section about which keys these logical functions correspond to in the most common keyboard layouts, which I guess is only two (Apple and PC).

I have suggested the logical naming to be either CTRL, OPT and CMD (Apple-style) or CTRL, ALT, SUP (PC-style).

This should be a simple change since it is only a rename. What is not so simple is adapting the UI depending on what keyboard the user uses, which requires a lot of new functionality. That is why I have suggested to first correct the current Haiku naming of CTRL/ALT/OPT that makes absolutely no sense to something that does.

I’d love if both options would be available for the user to chose.

Symbols is probably better if done correctly. They take up less space and our brains are naturally developed to recognize shapes. Words are a series of shapes that needs to be combined to a meaning, while a single symbol do not. Symbols are therefor good for dyslectics.

As a Windows user (7 is still my preferred version) I’d like to give some input on the “windows” key. Since it first appeared on keyboards, in Windows it has always been exclusively what I call the “OS” key (I.e. super?).
This key is never used by applications themselves, but instead is used exclusively at the OS level (although it might be possible for an application to receive the key press).
Some common uses are:
-tap it to open (and change focus to) the Start menu; tap again to close the Start menu and return focus to the last application. I would like Haiku to give focus to the Deskbar
-win+L locks the computer, displaying the password prompt. The same use would be nice in Haiku.
-win+E opens File explorer; I would use win+T in Haiku to open a Tracker window.
-win+up arrow maximizes the current application’s window, while win+down arrow returns the application window to its former size (or minimizes it if not currently maximized). Again, this usage of the key would be nice in Haiku.
-win+D hides all application windows and shows the desktop (repeat to unhide the windows). Again, my preference for Haiku.
-win+tab brings up a task switcher similar to alt+tab in windows (but with a potentially different UI). Ditto.

From what I can tell in the Haiku user guide for keyboard shortcuts, OS-level commands such as what I mentioned above are not consistently accessed by a super key, which increases the learning curve.

Just my thoughts and preferred use for a Super key.

1 Like

Haiku does not use the Windows key for the same purpose that it used for on Windows, but rather it behaves closer to the way it works on macOS. Opt+characters are used to input the characters setup in the option section of your keymap, typically this is used for accent characters.

The only places we use Opt+characters for something else is arrows and tab in Stack & Tile to switch between windows in the window group or to iterate to the next window group and this causes conflicts with apps like Pe that want to use Opt+arrows for word-wise navigation.

If you want to add shortcuts for those things in Haiku the correct way to do it would be to use Ctrl+Alt+character instead as that’s what we use for all other system override shortcuts. Ctrl+Alt+D for example shows the Desktop.

1 Like

We only do this because alt gr is the same role currently.

2 Likes

Thanks for the clarification on system level keyboard shortcuts. I can definitely live with ctrl + alt being equivalent to Window’s use of the “win” key, and I don’t mind remapping shortcuts if it’s easy to do from the UI.

We swap right opt and right alt on iso keymaps to emulate the function of AltGr but option is still the actual key “role”. This is not a purely correct thing to do it’s not the behavior on an ISO Macintosh keyboard for instance but it is what users of people with an AltGr key on their keyboards expect.

This is another thing that we should clean up in the keymaps once we add a PC ISO keyboard option by doing the swap based on it instead (but not for Mac ISO option).

It would be ideal if we could detect an ISO keyboard plugged in but that is impossible. In macOS it pops a wizard when you plug in a new keyboard asking you based on the position of / key.

We’d have to make it a per-keyboard option say in Input Preferences and allow you to change the type setting per keyboard.

It seems like we might be able to detect if you have connected a Mac or PC keyboard based on the USB vendor and device id, it seems feasible to me at least. Detecting US vs. ISO PC keyboard type is more difficult.

Sure? It does nothing on my 32 bits beta4 install :slight_smile: (the minimize_all addon is not included by default on the regular images/packages, AFAICT.

Related https://review.haiku-os.org/c/haiku/+/5575

edit:

IMO, auto detection is not a requirement, given that there’s a place where the user can select the correct one, and the system takes proper account of it.

1 Like

No need for detecting the keyboard, the users can select which type they have, then the OS can take its decisions based on that selection.

Looking at both keyboards near me, one US one ABNT-2, both have the AltGr key. Would be nice to use it for the “extra” charactes/accentuation in some keys.

1 Like

I think the first step to clean this up is making alt-gr a proper keyrole, then assigning opt to both windows keys, and not make them behave differently. And then we can see what we need to do further

1 Like

From my point of view it should work and look like this.

The documentation and GUI should always have the same hotkey selections. Only in the keyboard settings app itself could the location of the control keys be changed (this is already possible now).
Regarding symbols, it would be good to use existing conventions for control keys, it would be language independent and shorter.
Somewhat different conventional symbols and names of control keys are already used:

⇧ — :arrow_up:, ⭡, ↑, Shift, Level 2;
⎈ — ✲, ^, ⌃, Ctrl, Control;
◊ — ◇, ◆, ❖, OS (Operating System), Super, System, Cmd, Command, ⌘ Command (MacOS), ⊞ Win, Windows, Meta, Logo;
⎇ — Alt, Alternate, Alternatyve, Opt, ⌥ Option (MacOS);
⇮ — ⬂, ⤨, AltGr, Alt Graph, Alternate Graphic, Alt Car, Opt, ⌥ Option (MacOS), Level 3;

My suggestion would be to use the following control key names and symbols in the Haiku environment:

— Ctrl, Control;
— Opt, Option; (AltGr)
— Cmd, Command; (OS, Super, System, Logo, Meta, Win)

So, the row of control keys on the Haiku keyboard should look like this (not including the additional keys available):

And if someone chooses a different key for a different action, the name of the key does not change, only the location of that key on the (virtual) keyboard changes, for example:

1 Like

I’d hate that! It’s like a foreign language! :wink:

Please keep to what is on a ‘standard’ keyboard. :slight_smile:

1 Like

I’m already extremely confused by your suggestion, it makes no sense to me : /

1 Like

I like this. Symmetric and nice. However your above proposal, which makes AltGr a separate key still adds one more confusion factor.

The Option key (which is the third-level key on MacOS and Haiku, or AltGr on Windows and Linux) would work as it does now work on Haiku. Of course, the real Alt would probably be reserved only for those who use a two-level keyboard layout.
Three-level keyboard layouts are required for most languages with an alphabet larger (or some different) than the 26-letter English alphabet.

I would also add that it would be good if:

— Ctrl, Control — used to control programs.
— Opt, Option — used to access the Third Level of the keyboard (or on a two-level keyboard and when there is free unused space on a key on a three-level keyboard could be used to select user hotkeys)
— Cmd, Command; (OS, Super, System, Logo, Meta, Win) — used for Operating System hotkeys.

If a user does not like the location of a button in the keyboard layout, he can always exchange virtualy those buttons in the Haiku keyboard settings app.

It is more or less ‘standard’ symbols on the keys (although they rarely are printed). Anyway Haiku can make its own ‘standard‘ especially there where there is less ‘standard’ of a standard.