The funny thing about all of this is I never use alt+tab in MacOS or Windows. I use the new fangled exposé/full screen app switcher. Windows I use the task bar shortcut and Mac I use the dedicated f key. I haven’t touched the switcher since Windows 7. I forgot BeOS and Haiku even had it.
What is happening in other OSes is not an argument at all. Haiku is not Windows or MacOS.
Is it possible to make all of it customizable ? Then users can change what they need if some app uses a non-standard shortcut.
I thought it already was a preference option to switch alt and conrtrol.
But is there a preference option to change the functions of Alt-Tab and Ctrl-Tab ( also, Option-Tab and Command-Tab ) ?
IMHO Haiku needs to be as close to how BeOS 5 had implemented UI/UX as much as possible with some modern goodies people come to expect. I loved how BeOS tried to cater to users coming from various operating systems and giving them the choice to configure things that made them feel at home.
Alt+Tab when Alt is used as command key is just broken because it is allowed to be used by regular software. As mentioned above, it is used be Genio IDE.
Yes.
The problem is that the “command” key (Alt if you use the default shortcut mode, Control if you use the Windows mode) is available for applications. And, really, all other key shortcuts also are.
If we make one of them customizable, then, inevitably there will be conflicts with other applications which were previously using the same shortcut. For example, at the moment, Command+Tab is used in Web+ to switch browser tabs, while Ctrl+Tab is used by the OS to switch windows.
Command+Left/right is used both for word-wise navigation, and for back/forward in Web+, or moving between tabs in Terminal (where control+left/right will do wordwise navigation instead).
If users were allowed to move the system shortcuts around, we would have to completely disable any application specific shortcuts using the same keys. And, of course, applications would assign their own shortcuts depending on whatever preferences the app developer has for their system shortcuts.
That’s why we should try to adhere to some simple rules:
- Command key: should only be used by the applications themselves (menu shortcuts), and for standard things (Command+X to cut, Command+V to paste.
- Option/Window key: for all window management operations, taking care that currently this is also used as an AltGr key for keyboard layouts that need one
- Control key: for Terminal, possibly usable for some system or interface control specific shortcuts (wordwise navigation in text view for example should fit here).
I think this way to think about it results in something that is logical, and easy to understand for everyone (users and developers). The only configuration we can easily do is reassigning which key is “command” and which key is “control”. Since this is just swapping keys, it does not introduce or remove shortcut conflicts.
A desktop OS should be designed around real hardware first and foremost.
That’s the way MacOS does it (the app can check if there’s a collision with system shortcuts, I know it because IntelliJ checks it and warns about the conflict). Interestingly though, the user can change almost any system shortcut on MacOS but not the Cmd-Tab one, which shows how fundamental the feature is. Saying that, I’d love to be able to adjust some other Haiku system shortcuts, like taking a screenshot. One does not simply have the Print key on the MacBook.
Btw, what shortcut did BeOS use for task switching on PPC? AFAIK, Mac OS Classic didn’t have any keyboard shortcut for that at all, and it was added around early versions of OS X.
To be precise, it’s Cmd-Tab in MacOS, but it’s obvious that they followed the Windows UX pattern there, and just picked the key closest to the Space bar.
There’s also a little known Alt-Esc shortcut which has been there since Windows 2.0 (Alt-Tab was introduced by Windows 1.0):
Raymond Chen Discusses the Alt+Tab and Alt+Esc Hotkeys | Microsoft Learn
Unlike Alt-Tab that one hasn’t been copied from Windows by other desktops, except of GNOME.
Sorry if this is the wrong place. I have an old Thinkpad with no windows key. Ordinarily it’s not problem since alt is the shortcut key. However, Haiku has 3 keys. CMD, OPTION, and CTRL. In BeOS (intel), option is the command key. There is a menu option in BeOS for this, but I can’t find a comparable one for Haiku.
I want to use option to do things like stack windows, and to Alt-F to search.
You can swap keys aroundin the keymap preferences. There is abutton for a complete swap, or you can set it up so that left and right alt do different things, or use caps lock, or whtever you find suitable. Just drag and drop the keys around in the keymap as you need.
Thanks. Not a great solution for my keyboard, but I did find that out. If I right click on a key I can do the same thing.
So there is no way to have Alt/Option as the shortcut key as well as the Alt/option key? If not, is there some edit I can make somewhere?
The only thing you could do is modify the keypress event in an input server filter. But expect conflicts if you do this.