I’ve complained about this before on these forums: one thing that keeps me from adopting Linux on the desktop is that under Linux, keyboards are handled more or less like under Windows. While I spent about three decades of my life with Amigas and Macs, which approach the keyboard in a different way. There, these modifier keys do the following things:
So the idea is that you never use alt or control key combinations (without the meta key) to perform actions such as alt-tab to switch between apps (that would be command-tab) or ^C for copy (that would be command-C).
There are of course many additional subtleties, but let’s not go into the weeds just yet.
My question: what would it take to change the keyboard logic under Linux so that on a Linux desktop, the keyboard works like it does on the Mac?
A good start would be just to be able to create my own keyboard layout to type accented characters using the alt key. I came up with a system to define those keyboard layouts in JSON and then export them to Mac or Windows (with some effort) layouts. No idea how to do that for Linux, though. And it looks like I can’t type any non-7-bit-ASCII characters on my Raspberry Pi 400... Alt really doesn’t do anything on that machine.
- generic name: meta. On the Mac this is "command’", on the Amiga there are two Amiga keys. You use the/a meta key with a letter for various OS shortcuts, well-known application shortcuts, and sometimes application-specific shortcuts. So meta-Z is undo, meta-shift-Z is redo, meta-C is copy, meta-V is paste, meta-Q is quit application, meta-P is print, meta-Y is browse history in Safari.
- alt, (also) named "option" on the Mac and similar to AltGr with some Windows keyboard layouts: to type additional characters and accented letters.
- control: for typing the ASCII control characters, like on a Unix/Linux command line.
- shift: duh.
So the idea is that you never use alt or control key combinations (without the meta key) to perform actions such as alt-tab to switch between apps (that would be command-tab) or ^C for copy (that would be command-C).
There are of course many additional subtleties, but let’s not go into the weeds just yet.
My question: what would it take to change the keyboard logic under Linux so that on a Linux desktop, the keyboard works like it does on the Mac?
A good start would be just to be able to create my own keyboard layout to type accented characters using the alt key. I came up with a system to define those keyboard layouts in JSON and then export them to Mac or Windows (with some effort) layouts. No idea how to do that for Linux, though. And it looks like I can’t type any non-7-bit-ASCII characters on my Raspberry Pi 400... Alt really doesn’t do anything on that machine.