This is great, btw. Kinto is 100% a sanity saver. Please note the following rant is mostly tongue-in-cheek.
'cuz it turns out, I personally hate how Windows and Linux do things with `ctrl`. Coming from a Mac, my biggest and most consistent annoyance is that the `ctrl` key is fucking useless at best...
One of the most common use cases for the `ctrl` key is COPYING shit and followed by PASTING shit and it DOES NOT WORK in a fucking TERMINAL... Because `ctrl-c` sends an interrupt, I don't know what `ctrl-v` sends and I don't give a shit as long as it is not pasting my fucking buffer.
Seriously... on Linux this has got to be the worst default ever made. Sure `ctrl+shift-c` will copy things but it's fighting decades of fucking muscle memory... and if I miss the shift, "boom" repl killed. Great experience for someone totally new to the OS, just follow this tutorial, start by copying this from your spooky new black box: "[^C program exited." I'm willing to bet I ran into that exact thing years ago in highschool and just attributed it to me being a dumbass and gave up: "damn, I can't even copy paste shit in this, I'll never figure it out" instead of that being the worst most absurd default on a *nix system ever.
And the "Windows/Hyper" key? Ah yes, here's a key that was created to globally disrupt whatever you are doing. So where is the obvious location? In-between two keys that are ONLY used as modifiers; so, when you accidentally hit the wrong one you always lose focus. Even better is when you accidentally do so on both characters; enabling some obscure setting or window you can't correctly undo because you don't know what you pressed!
I'm glad to know there are at least some other sane people out there who have realized 1992 may not have been the pinnacle of desktop computing...
I'm having difficulty parsing your rant. I can't tell if we agree or not. :)
Ctrl+C is a method of generating a standard ASCII character which has meant "ETX" (end of text, sometimes "interrupt") for many decades.
Other control chars are useful too. In addition to C, I use S, Q, D, Z, V, O, N, I, G, H, M, L, J, Y, A, E, K, W ... probably others ... fairly regularly.
So in the early 1980s, along comes MacOS which needs keyboard shortcuts for GUI actions. What does Apple do? They add a key to the keyboard, an Alt or Meta equivalent called "Command". OK, awesome.
Then Windows comes along. Microsoft says "eh, who cares let's break it all", (or more charitably "we don't control the hardware and can't add a key, so let's break it all") and reuses Ctrl+C for copy. Et cetera.
Then Linux desktop environments come along and say "well people really like Windows...we don't, but most people who might try our DE probably do, so let's borrow the bad ideas from Windows instead of the good ideas from Unix or MacOS. Let's use Ctrl+C for copy! But also the command line is kind of important on Linux, so let's screw everything up and use Ctrl+Shift+C for copy in the terminal only because who cares about usability and UX consistency? Not us!"
That was 25 years ago. Nothing has improved since then. Alas.
I just solve that terminal issue by using a terminal that has "smart copy". The two I know of that do are pantheon-terminal (from elementaryOS) and kitty. The idea is that Ctrl+C behaves normally (sends SIGINT) unless you have text selected, in which case it will copy the selected text then clear the selection. So if you had something selected, you just hit Ctrl+C twice to send an interrupt if you need to, with the convenience of Ctrl+C working just like you'd expect in every other app.
I kind of disagree (I mean, ctrl+insert/shift+insert works consistently, right?)
The one time I get really frustrated with conflicting keyboard shortcuts is when trying to do terminal work in a web browser, through, like the odd KVM session when SSH is down. The number of times I instinctively pressed Ctrl+W to correct a word in bash and instead close the whole session... Or, depending on emulator, inability to paste. Even more frustrating that these situations are commonly high-pressure.
I love the Mac shortcuts because most are centred around the thumb and left hand, instead of having to awkwardly pinky the ctrl key or stretch for a alt-f4.
The ctrl-c for interrupt is a default of terminal, it can be changed with stty. Eg "stty intr ^g" will make the terminal interpret a ctrl-g character as a signal to generate the interrupt signal.
(And Linux the OS doesn't have any opinion on GUI terminal keybindings. You may be tempted to point your finger of blame towards X11 next, but X11 traditionally the text selection is mouse based with implicit copy on select - paste defaults to shift-insert in the bundled X11 terminal emulator.
The shift-ctrl-c charade was created by gnome-terminal I think)
If you find this annoying, a way around is to set your terminal to use ctrl+c and ctrl+v for copy/pasting and ctrl+shift+c and ctrl+shift+v for the original chars it sends.
After switching development from Mac to Windows I wrote an AutoHotkey script that maps most ctrl+ combinations to alt, which is the physical location where cmd on the mac was.
so alt+c for copy, alt+v for paste etc. it solves the terminal problem AND it reduces strain on the thumb.
The conflict between Ctrl+C Copy vs SIGINTR could be resolved by making the Escape key be the interrupt key which would actually be the correct behavior from user standpoint... but everyone would have to relearn it.
> One of the most common use cases for the `ctrl` key is COPYING shit and followed by PASTING shit and it DOES NOT WORK in a fucking TERMINAL... Because `ctrl-c` sends an interrupt, I don't know what `ctrl-v` sends and I don't give a shit as long as it is not pasting my fucking buffer.
Ctrl + Shift + Ins (paste) and Ctrl + Shift + Supr (copy)
Ctrl + Shift + v (paste) and Ctrl + Shift + c (copy)
> One of the most common use cases for the `ctrl` key is COPYING shit and followed by PASTING shit and it DOES NOT WORK in a fucking TERMINAL... Because `ctrl-c` sends an interrupt
Most terminals today have a copy-on-select feature, which means you don't need to ctrl-c at all. Just select and ctrl-v.
The difference between Mac and PC keyboards is a real usability problem. If you're used to PC's or Linux, moving to a Mac and dealing with their shortcuts is painful, and vice-versa. The worst is using a mixture of both Mac's and PC's on a daily basis. Moving back and forth between platforms daily means you either have to get used to hitting the wrong shortcuts or use a hack to swap keys around on one platform so you can have standard shortcut key positions across platforms.
Different people will have a preference for one layout vs the other but, in reality, the layout that feels good is what you're used to.
The PC and Linux worlds are not going to adopt Mac keyboard layouts. As the one oddball computer manufacturer that uses their own layout, perhaps it's time for Apple to offer PC keyboard layouts as an option on their machines out of consideration for people who have to use multiple platforms.
> The PC and Linux worlds are not going to adopt Mac keyboard layouts. As the one oddball computer manufacturer that uses their own layout, perhaps it's time for Apple to offer PC keyboard layouts as an option on their machines out of consideration for people who have to use multiple platforms.
I switch between Mac, Linux, and Windows. The Mac is the only one with a usable, consistent terminal. Linux and Windows both have really fucked up copy/paste. Shift+Insert, Control+Shift+V, right-click, middle-click… what a goddamn mess. For some reason, Windows, which was supposed to have “right-click brings up a contextual menu everywhere” decides to make right-click do some weird almost X11-like copy-pasting in the terminal. Linux at least has the half-sane Control+Shift+C and Control+Shift+V but there’s multiple clipboards, and different applications may only use a subset of those.
Mac? ⌘C copy. ⌘V paste. Everywhere. Terminal, no terminal, same everywhere. Hands stay in center of keyboard where they belong. No reaching for the “insert” key, which is a recipe for typos.
Let’s not make the Mac worse just to make things consistent.
> The PC and Linux worlds are not going to adopt Mac keyboard layouts.
And that’s a damn shame, because they make much more sense.
> As the one oddball computer manufacturer that uses their own layout, perhaps it's time for Apple to offer PC keyboard layouts as an option on their machines out of consideration for people who have to use multiple platforms.
Lol no. I use Linux, Windows and macOS each about a third of the time (Linux for work, Windows because I have to, and macOS for fun and working from home), the last thing I would want is my Mac at home getting significantly worse just to reach the lowest common denominator. Besides, you can use any PC keyboard already if you really like the window key.
The use of control as the modifier key for keyboard shortcuts is an unfortunate historical accident, not the better way.
I work roughly 60/40 from my office (Windows workstation) and home (macOS laptop). I have a significant insight into how they work and their shortcuts; not only that, but I use Sublime Text and VSCode in both, and am familiar with the differences between macOS/Windows for those shortcuts. That being said, in terms of productivity, ergonomics, and things generally being well thought-out, Windows is nowhere near macOS. It does certain small things right, like Win-Shift-S copying to clipboard by default (you need to hold Ctrl while releasing the capture to get the same behaviour on macOS), and overall is much snappier due to macOS being a bloated mess. Overall, though, Windows is garbage for developers (yes, yes, if you're using Microsoft technologies or oblivious to what happens outside of your IDE you will probably be happy enough) -- and I have tried WSL2, Cygwin, working from a VM (yuck), and many other similar options.
I've recently discovered VSCode's remote functionality (more specifically, how incredibly well it works), so I've set up an SSH box and can now seamlessly work from anywhere (side note, having tools that only serve you is incredibly fast if you're used to things like GitHub or managed CI).
as a person who loves Macs and their keyboard shortcuts, I'm really excited to find this project! and as somebody like yourself, who has to work on both platforms (Apple/PC) every day, I'm very happy it exists. would the answer to your problem not be a reciprocal library for Mac that ports over (or makes possible) your preferred shortcuts? I believe this already exists, which should be good news for you.
offer PC keyboard layouts as an option on their machines
They actually do/did, in a combination of custom shortcuts in system settings, plus an obscure and ancient .plist to change input navigation shortcuts. But Electron ruined everything, because instead of understanding the underlying platform's input methods, apps like Slack hard-code mac-ish keyboard shortcuts and behavior of home/end keys.
My main computer is a mac but I have to remote into windows machines often and switching between is horrible. I've remapped my gaming pc to mirror the mac layout because the instinct is so much stronger than whats written on the keys.
I switch very regularly and had difficulty until I begun to just swap out keyboards between macOS and Windows. That somehow ties my muscle memory for each OS much better. I pretty much have exclusive keyboards for different OS even if I use VMs on my laptop.
Plus, after much searching, there is not a good non-Apple keyboard for the Mac and the Apple keyboards aren't good for Windows. One example: the right side of of the left ⌘ key should be vertically flush with the right side of the X key. This makes it much more natural to reach for all those ⌘ shortcuts (particularly ⌘ + r and ⌘ + t, and for me I have many ⌥ hotkeys setup with BTT). On most Windows keyboards, Alt is left of Spacebar, and Alt's right side lands vertically on the middle of the X key, not on the right side.
> Different people will have a preference for one layout vs the other but, in reality, the layout that feels good is what you're used to.
While it's true that a familiar system will initially feel better than an unknown alternative, this doesn't mean that some systems can't be better than others.
From my personal experience and from the comments in this thread, I think it's safe to conclude that the Mac is better here.
I’m using the two platforms but I would like the reverse: Windows shortcuts on Mac. I like the fact ctrl is further away from c and v, making it easier to type. Also Mac shortcuts in general are pretty wild (not to say insane) with 3 or 4 key to type at once... when shortcuts would gain to be shortcuted, the UX isn’t too good.
Apple’s MO all along has been lock-in to their ecosystem any way they can make it happen, whether it be through their usability, their OS, their App Store, or iTunes.
They don’t want to be interoperable because then you might realize you’re paying a huge premium for an inferior product.
I used to get annoyed by the differences between platforms and apps. I had my Windows desktop tweaked out just so, and I knew how to set it up that way on a new install in a matter of hours. It kept me tied to Windows for longer than it should've. Then I went switched to Apple and stuck with it for many years, learning a new way. Then, just like with Windows, the rug was pulled out and I had little say in it, and I finally went to GNU, where I have some choice.
Over the years, I've been through so many platforms and apps, back and forth, so many times, all with their own conflicting shortcuts and different input modes day-to-day, that I've just accepted it as part of my "mindfulness practice" to always be aware of where and how I am before I press or click anything.
Reminds me of Altered Carbon, just a much more geeky version.
I've got this way with e.g. Typescript and Rust syntax. They're similar in a lot of ways and I write a lot of typescript in my day job and at times my hobby projects are primarily Rust. Typescript uses semicolons at the end of each field definition in an interface, while Rust uses comma seperators between each field in a struct, and each time I switch from one to the other it takes a while for my brain to remember what language I'm writing (similarly for -> vs : for return type specification). Java, which is the other language I use a lot in work is sufficiently different that I don't seem to run into this.
For reference, I really like how shortcuts work in MacOS. This won't solve the lack of a standard that developers try to adhere to on other platforms.
But it's immensely annoying to have to shift between ctrl+c and ctrl+shift+c depending on whether or not you're on a terminal versus another application. As a bonus, I press command with my thumb which is both stronger than my pinkie and has very little to do other than press space normally.
Who puts the table of contents in the middle of the content? Below that is where you'll find the "What does this do exactly?" section, which really should be the first thing on the page. Why does the opening section say "Seamless copy and paste with all apps and terminals"? Seems to have nothing to do with the project.
I've tried replicating this experience in Linux in many different ways over the years, but the best approach was to add `altwin(ctrl_alt_win)` to xkeyboard preferences together with custom `ctrl_space_toggle` for layout toggle. It achieves almost the same effect as Kinto without an additional daemon: physical Alt maps to Ctrl (Cmd in terms of Mac layout), Ctrl works as Super and Super/Win works as Alt — the closest, I think, to Apple keyboard layout. It event works fine in Wayland (sway).
Considering the terminal, remap your favorite terminal emulator to send control codes via Super+A..Z (physical Ctrl+A..Z), and unmap/remap to the required action Ctrl+A..Z (physical "Cmd"+A..Z). It works fine in Konsole and great in Alacritty. (unfortunately, I also have to add a second set of mappings for my native non-latin keyboard layout, because at toolkit-level keys are translated to latin layout, but remapping works only for a single layout).
Of course, it's only a half of the equation. Another part is Option/Compose. On Mac I used MathUnicode.keylayout. It was great, and it was a pleasure to tweak it for my needs. Xkeyboard with .XCompose (e.g. [1]) has two disadvantages: you can't use a key as both Multi key and e.g. Alt modifier simultaneously, and you don't see the composition preview. On Lenovo at least you can use `compose(prsc)` to make your left Win key an «Option-modifier» and its right PrtSc counterpart an «Option-compose».
[1]: https://github.com/kragen/xcompose
Maybe one day I will buy another Mac... but shall we prefer comfort to freedom?
I was pleased to discover recently that Microsoft PowerToys are a thing again and include a Keyboard Manager utility. It's really simple to use and works flawlessly.
It's nice to use an "official" product to remap the ctrl / cmd keys on my Apple keyboard while using my Windows PC.
What a great timing. I just built a gaming PC this week to go along with my Hackintosh and you wouldn't believe the amount of times I've locked Windows since Cmd+L in macOS selects the address bar but using the same key combination on the Windows machine does Win+L for lock.
My biggest annoyance with linux is that for an OS where you supposedly can adjust and modify everything. Changing the keyboard shortcuts (even with kinto) is absolutely impossible. Not all programs work... things like CMD+arrow to move the cursor to end/start of line needs custom scripts. Its a mess.
I use this on my Manjaro KDE work machine and it has been a life saver since switching from Mac after 10+ years.
It works shockingly well.
Only annoyance is that applications are not necessarily aware of the new mac layout so if you're using an unfamiliar application looking up the keyboard shortcuts won't map exactly to what you need to press.
Everyone is talking about keyboard shortcut but just 2 months old mac user (due work) the biggest "fuck you" feature I encountered in Mac was key-repetition.
In PC and Linux, if you push down any letter key and keep it pushed, it repeat the key with a certain speed. In mac you can't by default do this. You have to use the terminal and go to a system file, change a variable and reboot the mac. You can, in system preferences change "speed" and "delay" of this behavior but by default this only applies to the space/backspace/arrow key. As a vim user this was probably the most annoying thing I encountered in years.
Something so fundamental being different was like being told "yea, at mac land gravity is going upward. Better get used to it!". I sent a request to change my laptop to dual boot PC/Linux the next day
I am very confused. I am using a Mac for work and I am using Windows at home. And after reading the readme, I am still not sure what this thing does. Can someone explain?
On a slightly related note: does anyone else map caps lock to control (and vice-versa)?
I’ve never really understood why caps lock gets a huge key in the middle of the keyboard, while control gets a regular-sized key at the bottom. Generally speaking, caps lock is used much less than control.
I'm a fan of standup comics and love when comics in podcasts (like Rogan and whatnot) start ranting about "clean comedy", which means "not using the bad words".
But: every comment in this thread that uses a bad word is at best misguided, while comments without bad words are informative and keep the general mood in check.
I know people tend to bypass word filters by occluding letters ("B*rcelona") while retaining meaning; but maybe a word filter would cut dang's work by $A_LOT %.
Shameless plug: wincycle makes win/cmd+backtick to cycle between Windows of the same app work. This and iMessage were the two things I missed leaving macOS for Windows and so I solved them both for myself :)
Does this do more than remap copy/paste keys? Nothing wrong with just doing that, but I was a bit confused from the leading examples.
Needless addition that nobody asked for: Having recently switched to Ubuntu from MacOS as my primary development environment, I very much felt the pain of losing many keyboard shortcuts I had grown accustomed to (amongst other subtle things, like the really good default PDF viewer in MacOS, and yeah yeah yeah I know there are Linux alternatives). I ended up installing a jetbrains marketplace plugin that as-best-as-possible mimics the MacOS bindings and then just re-learned the rest and.. it wasn't TOO bad, probably a week or so of feeling like a limb was missing.
I have to use a Mac, a Linux, and a windows laptop. Three different keyboards. Then I have a couple of different external keyboards at the office, a couple at home, and a couple at my partners where I’m spending weekends.
I basically have three modifier keys, A,B,C (that I don’t understand the rational behind - but thanks, I learnt a few things from this thread) that I have to try -in turn - whenever I want to use a shortcut (not exactly a shortcut any more).
There isn’t a day goes by that I don’t want to burn it all down and start from scratch building a new keyboard/OS. Or run vim on the metal and use that as the OS, or switch to voice control, or mind control, or anything!
I just switched back to Windows at work for the first time in like... almost 20 years. I'm dying without readline-style controls. If this can offer those, I'm going to jump for joy. I already have the Magic Keyboard Utilities to let me use my mac keyboard as a Windows keyboard and put things in sensical places. (Left Fn & Ctrl -> Ctrl, Left Option -> Meta, Left Command -> Alt, Right Command -> Function modifier, Right Option -> Windows Key) But my god no readline (^a / ^e etc) and I'm just losing my mind.
[+] [-] rubyn00bie|5 years ago|reply
'cuz it turns out, I personally hate how Windows and Linux do things with `ctrl`. Coming from a Mac, my biggest and most consistent annoyance is that the `ctrl` key is fucking useless at best...
One of the most common use cases for the `ctrl` key is COPYING shit and followed by PASTING shit and it DOES NOT WORK in a fucking TERMINAL... Because `ctrl-c` sends an interrupt, I don't know what `ctrl-v` sends and I don't give a shit as long as it is not pasting my fucking buffer.
Seriously... on Linux this has got to be the worst default ever made. Sure `ctrl+shift-c` will copy things but it's fighting decades of fucking muscle memory... and if I miss the shift, "boom" repl killed. Great experience for someone totally new to the OS, just follow this tutorial, start by copying this from your spooky new black box: "[^C program exited." I'm willing to bet I ran into that exact thing years ago in highschool and just attributed it to me being a dumbass and gave up: "damn, I can't even copy paste shit in this, I'll never figure it out" instead of that being the worst most absurd default on a *nix system ever.
And the "Windows/Hyper" key? Ah yes, here's a key that was created to globally disrupt whatever you are doing. So where is the obvious location? In-between two keys that are ONLY used as modifiers; so, when you accidentally hit the wrong one you always lose focus. Even better is when you accidentally do so on both characters; enabling some obscure setting or window you can't correctly undo because you don't know what you pressed!
I'm glad to know there are at least some other sane people out there who have realized 1992 may not have been the pinnacle of desktop computing...
[+] [-] quesera|5 years ago|reply
Ctrl+C is a method of generating a standard ASCII character which has meant "ETX" (end of text, sometimes "interrupt") for many decades.
Other control chars are useful too. In addition to C, I use S, Q, D, Z, V, O, N, I, G, H, M, L, J, Y, A, E, K, W ... probably others ... fairly regularly.
So in the early 1980s, along comes MacOS which needs keyboard shortcuts for GUI actions. What does Apple do? They add a key to the keyboard, an Alt or Meta equivalent called "Command". OK, awesome.
Then Windows comes along. Microsoft says "eh, who cares let's break it all", (or more charitably "we don't control the hardware and can't add a key, so let's break it all") and reuses Ctrl+C for copy. Et cetera.
Then Linux desktop environments come along and say "well people really like Windows...we don't, but most people who might try our DE probably do, so let's borrow the bad ideas from Windows instead of the good ideas from Unix or MacOS. Let's use Ctrl+C for copy! But also the command line is kind of important on Linux, so let's screw everything up and use Ctrl+Shift+C for copy in the terminal only because who cares about usability and UX consistency? Not us!"
That was 25 years ago. Nothing has improved since then. Alas.
[+] [-] francislavoie|5 years ago|reply
[+] [-] 3np|5 years ago|reply
The one time I get really frustrated with conflicting keyboard shortcuts is when trying to do terminal work in a web browser, through, like the odd KVM session when SSH is down. The number of times I instinctively pressed Ctrl+W to correct a word in bash and instead close the whole session... Or, depending on emulator, inability to paste. Even more frustrating that these situations are commonly high-pressure.
[+] [-] limeblack|5 years ago|reply
You will need SharpKeys[2] and Autohotkey[3] at least in my set up.
[1]: https://images-na.ssl-images-amazon.com/images/I/61oeDlRN4QL...
[2]: https://www.randyrants.com/category/sharpkeys/
[3]: https://www.autohotkey.com/
[+] [-] aequitas|5 years ago|reply
[+] [-] fulafel|5 years ago|reply
(And Linux the OS doesn't have any opinion on GUI terminal keybindings. You may be tempted to point your finger of blame towards X11 next, but X11 traditionally the text selection is mouse based with implicit copy on select - paste defaults to shift-insert in the bundled X11 terminal emulator. The shift-ctrl-c charade was created by gnome-terminal I think)
[+] [-] boudin|5 years ago|reply
[+] [-] fn1|5 years ago|reply
so alt+c for copy, alt+v for paste etc. it solves the terminal problem AND it reduces strain on the thumb.
[+] [-] cameronperot|5 years ago|reply
https://gitlab.com/interception/linux/plugins/caps2esc
[+] [-] silon42|5 years ago|reply
[+] [-] Zardoz84|5 years ago|reply
Ctrl + Shift + Ins (paste) and Ctrl + Shift + Supr (copy)
Ctrl + Shift + v (paste) and Ctrl + Shift + c (copy)
[+] [-] christophilus|5 years ago|reply
[+] [-] unknown|5 years ago|reply
[deleted]
[+] [-] chmln|5 years ago|reply
Most terminals today have a copy-on-select feature, which means you don't need to ctrl-c at all. Just select and ctrl-v.
[+] [-] tobyhinloopen|5 years ago|reply
[+] [-] PostThisTooFast|5 years ago|reply
[deleted]
[+] [-] setpatchaddress|5 years ago|reply
[+] [-] beloch|5 years ago|reply
Different people will have a preference for one layout vs the other but, in reality, the layout that feels good is what you're used to.
The PC and Linux worlds are not going to adopt Mac keyboard layouts. As the one oddball computer manufacturer that uses their own layout, perhaps it's time for Apple to offer PC keyboard layouts as an option on their machines out of consideration for people who have to use multiple platforms.
[+] [-] klodolph|5 years ago|reply
I switch between Mac, Linux, and Windows. The Mac is the only one with a usable, consistent terminal. Linux and Windows both have really fucked up copy/paste. Shift+Insert, Control+Shift+V, right-click, middle-click… what a goddamn mess. For some reason, Windows, which was supposed to have “right-click brings up a contextual menu everywhere” decides to make right-click do some weird almost X11-like copy-pasting in the terminal. Linux at least has the half-sane Control+Shift+C and Control+Shift+V but there’s multiple clipboards, and different applications may only use a subset of those.
Mac? ⌘C copy. ⌘V paste. Everywhere. Terminal, no terminal, same everywhere. Hands stay in center of keyboard where they belong. No reaching for the “insert” key, which is a recipe for typos.
Let’s not make the Mac worse just to make things consistent.
[+] [-] kergonath|5 years ago|reply
And that’s a damn shame, because they make much more sense.
> As the one oddball computer manufacturer that uses their own layout, perhaps it's time for Apple to offer PC keyboard layouts as an option on their machines out of consideration for people who have to use multiple platforms.
Lol no. I use Linux, Windows and macOS each about a third of the time (Linux for work, Windows because I have to, and macOS for fun and working from home), the last thing I would want is my Mac at home getting significantly worse just to reach the lowest common denominator. Besides, you can use any PC keyboard already if you really like the window key.
The use of control as the modifier key for keyboard shortcuts is an unfortunate historical accident, not the better way.
[+] [-] smnscu|5 years ago|reply
I've recently discovered VSCode's remote functionality (more specifically, how incredibly well it works), so I've set up an SSH box and can now seamlessly work from anywhere (side note, having tools that only serve you is incredibly fast if you're used to things like GitHub or managed CI).
[+] [-] floydnoel|5 years ago|reply
[+] [-] nitrogen|5 years ago|reply
They actually do/did, in a combination of custom shortcuts in system settings, plus an obscure and ancient .plist to change input navigation shortcuts. But Electron ruined everything, because instead of understanding the underlying platform's input methods, apps like Slack hard-code mac-ish keyboard shortcuts and behavior of home/end keys.
[+] [-] breakfastduck|5 years ago|reply
[+] [-] ideamotor|5 years ago|reply
Plus, after much searching, there is not a good non-Apple keyboard for the Mac and the Apple keyboards aren't good for Windows. One example: the right side of of the left ⌘ key should be vertically flush with the right side of the X key. This makes it much more natural to reach for all those ⌘ shortcuts (particularly ⌘ + r and ⌘ + t, and for me I have many ⌥ hotkeys setup with BTT). On most Windows keyboards, Alt is left of Spacebar, and Alt's right side lands vertically on the middle of the X key, not on the right side.
[+] [-] SebastianKra|5 years ago|reply
While it's true that a familiar system will initially feel better than an unknown alternative, this doesn't mean that some systems can't be better than others.
From my personal experience and from the comments in this thread, I think it's safe to conclude that the Mac is better here.
[+] [-] tasogare|5 years ago|reply
[+] [-] datavirtue|5 years ago|reply
[+] [-] chrisseaton|5 years ago|reply
[+] [-] jimbob45|5 years ago|reply
They don’t want to be interoperable because then you might realize you’re paying a huge premium for an inferior product.
[+] [-] forgotmypw17|5 years ago|reply
Over the years, I've been through so many platforms and apps, back and forth, so many times, all with their own conflicting shortcuts and different input modes day-to-day, that I've just accepted it as part of my "mindfulness practice" to always be aware of where and how I am before I press or click anything.
Reminds me of Altered Carbon, just a much more geeky version.
[+] [-] Macha|5 years ago|reply
[+] [-] stu2b50|5 years ago|reply
For reference, I really like how shortcuts work in MacOS. This won't solve the lack of a standard that developers try to adhere to on other platforms.
But it's immensely annoying to have to shift between ctrl+c and ctrl+shift+c depending on whether or not you're on a terminal versus another application. As a bonus, I press command with my thumb which is both stronger than my pinkie and has very little to do other than press space normally.
[+] [-] CGamesPlay|5 years ago|reply
https://github.com/rbreaves/kinto/#table-of-contents
[+] [-] maxxk|5 years ago|reply
I've tried replicating this experience in Linux in many different ways over the years, but the best approach was to add `altwin(ctrl_alt_win)` to xkeyboard preferences together with custom `ctrl_space_toggle` for layout toggle. It achieves almost the same effect as Kinto without an additional daemon: physical Alt maps to Ctrl (Cmd in terms of Mac layout), Ctrl works as Super and Super/Win works as Alt — the closest, I think, to Apple keyboard layout. It event works fine in Wayland (sway).
Considering the terminal, remap your favorite terminal emulator to send control codes via Super+A..Z (physical Ctrl+A..Z), and unmap/remap to the required action Ctrl+A..Z (physical "Cmd"+A..Z). It works fine in Konsole and great in Alacritty. (unfortunately, I also have to add a second set of mappings for my native non-latin keyboard layout, because at toolkit-level keys are translated to latin layout, but remapping works only for a single layout).
Of course, it's only a half of the equation. Another part is Option/Compose. On Mac I used MathUnicode.keylayout. It was great, and it was a pleasure to tweak it for my needs. Xkeyboard with .XCompose (e.g. [1]) has two disadvantages: you can't use a key as both Multi key and e.g. Alt modifier simultaneously, and you don't see the composition preview. On Lenovo at least you can use `compose(prsc)` to make your left Win key an «Option-modifier» and its right PrtSc counterpart an «Option-compose». [1]: https://github.com/kragen/xcompose
Maybe one day I will buy another Mac... but shall we prefer comfort to freedom?
[+] [-] lewispb|5 years ago|reply
It's nice to use an "official" product to remap the ctrl / cmd keys on my Apple keyboard while using my Windows PC.
https://docs.microsoft.com/en-us/windows/powertoys/keyboard-...
[+] [-] Hamuko|5 years ago|reply
[+] [-] cardamomo|5 years ago|reply
[+] [-] interactivecode|5 years ago|reply
Surly this could be better?
[+] [-] tticvs|5 years ago|reply
It works shockingly well.
Only annoyance is that applications are not necessarily aware of the new mac layout so if you're using an unfamiliar application looking up the keyboard shortcuts won't map exactly to what you need to press.
[+] [-] NalNezumi|5 years ago|reply
In PC and Linux, if you push down any letter key and keep it pushed, it repeat the key with a certain speed. In mac you can't by default do this. You have to use the terminal and go to a system file, change a variable and reboot the mac. You can, in system preferences change "speed" and "delay" of this behavior but by default this only applies to the space/backspace/arrow key. As a vim user this was probably the most annoying thing I encountered in years.
Something so fundamental being different was like being told "yea, at mac land gravity is going upward. Better get used to it!". I sent a request to change my laptop to dual boot PC/Linux the next day
[+] [-] MadWombat|5 years ago|reply
[+] [-] Cyph0n|5 years ago|reply
I’ve never really understood why caps lock gets a huge key in the middle of the keyboard, while control gets a regular-sized key at the bottom. Generally speaking, caps lock is used much less than control.
[+] [-] chrischen|5 years ago|reply
[+] [-] prionassembly|5 years ago|reply
But: every comment in this thread that uses a bad word is at best misguided, while comments without bad words are informative and keep the general mood in check.
I know people tend to bypass word filters by occluding letters ("B*rcelona") while retaining meaning; but maybe a word filter would cut dang's work by $A_LOT %.
[+] [-] ComputerGuru|5 years ago|reply
https://neosmart.net/blog/2017/easy-window-switcher/
[+] [-] corytheboyd|5 years ago|reply
Needless addition that nobody asked for: Having recently switched to Ubuntu from MacOS as my primary development environment, I very much felt the pain of losing many keyboard shortcuts I had grown accustomed to (amongst other subtle things, like the really good default PDF viewer in MacOS, and yeah yeah yeah I know there are Linux alternatives). I ended up installing a jetbrains marketplace plugin that as-best-as-possible mimics the MacOS bindings and then just re-learned the rest and.. it wasn't TOO bad, probably a week or so of feeling like a limb was missing.
[+] [-] jibbit|5 years ago|reply
[+] [-] newobj|5 years ago|reply