How to Use the Same Shortcuts Across Dual Operating Systems

✍🏼 Written on Aug 7, 2025    💡 Updated on Aug 8, 2025
🖥  Note:This article shares how I set up key mappings to seamlessly switch between Mac and Windows systems using the same muscle memory keys, along with insights on efficient input.

Preface

My last experience with Windows dates back to ten years ago when I was in school, using a Lenovo Y470-P. This laptop had a design flaw—once when I closed the lid, a component somehow burned out, and I had to replace the motherboard in the end.

After graduation, I immediately bought a 15-inch MacBook Pro (2015 model). Over the years, though I’ve upgraded my laptop, I’ve stayed within the Apple ecosystem. As a result, my impression of Windows remained stuck in the past: a fragmented ecosystem, clunky software, ugly design (this hasn’t changed), and bizarre interactions.

During the recent 618 sales, I built a mid-to-high-end PC with a 14700KF, 5070Ti, 64GB of Crucial 6400MHz RAM, and a 2TB Crucial SSD. I’m absolutely loving it—turns out a high-spec Windows machine can be this smooth! Aside from the still-questionable system design language, other aspects like software launch speed and the design language of well-made apps (e.g., the Windows version of Apple Music) are quite impressive. Of course, the main reasons I bought a Windows PC were gaming (80%) and writing platform-specific C# code (20%).

The Essence of Efficient Input

Having used an HHKB on a Mac for a long time (9 years), I prefer mapping Mac’s HHKB keybindings to Windows. Beyond habit, here’s why:

  1. Common text-editing functions like moving the cursor to the start/end of a line or deleting forward require dedicated keys on Windows—Home, End, Del, etc. These can’t be achieved via modifier + key combinations. On macOS, however, Emacs shortcuts are system-wide: Control + A for line start, Control + E for line end, Control + D for forward delete—all effortless.

  2. Similarly, cursor movement: Windows relies on dedicated arrow keys, while macOS allows Control + B/F/N/P (back/forward/next/previous).

You might wonder: Why do I prefer modifier + key combos over dedicated keys?

The answer is also why I love the HHKB’s 60% layout: My palms can perform all operations without significant movement, ensuring input efficiency.

In the programmer world, using a mouse when you could use the keyboard is a punishable offense!

For example, imagine typing rapidly on Windows when you spot a typo a few words back. Here’s the process:

  1. Right hand leaves the home row, fingers fumbling to the arrow keys (unless you’re on an 87+ key layout, where arrows are easier to find).
  2. Press arrow keys to move the cursor.
  3. Right hand leaves arrows, moves to Backspace.
  4. Press Backspace.

On an HHKB with Mac keybindings, the same operation is done with just the left hand:

  1. Left pinky presses Control + B to move the cursor.
  2. Right pinky hits Backspace, or left pinky uses Control + H/D (delete left/right).

That’s it—your hands never leave the home row.

Even after editing, Windows requires your right hand to leave the home row again for End, while macOS just needs Control + E.

The Struggle with Backtick ` Input

Another reason I love the HHKB: As a frontend developer, I frequently use backticks (the ~ key). On most 60% keyboards, this key is mapped to Esc via a combo. But the HHKB places it as a dedicated key in the top-right, relocating Delete downward and shifting a key upward (splitting the standard Backspace into two 1u keys).

普通60配列

HHKB 配列

The Awkward Control Key

Another efficiency-killer in standard layouts: Control is at the bottom-left. Pressing Control + anything forces your wrist to bend left and your palm to shift—any input method requiring palm movement is inelegant and slows you down.

普通键盘位置尴尬的 Ctrl

Some online even suggest pressing the bottom-left Ctrl with the part of the palm below the pinky—absurd:

左侧手掌按 Ctrl 法

I’ll go further: Any language requiring jaw movement to articulate sounds is inelegant. An elegant language should rely solely on the tongue and throat for clear pronunciation, minimizing mouth movement. Thus, I consider Japanese the most elegant language—though this also limits its expressive power, especially for strong emotions like swearing.

The Useless Caps Lock Key

I believe very few people frequently type in uppercase letters for extended periods, so placing the Caps Lock key—a key of such little importance—on the left pinky finger, a crucial position on a standard keyboard layout, is utterly absurd.

用处不多的 CapLock 占据了一个黄金位置

In summary, I consider the HHKB layout to be the most perfect, not just for its symmetrical beauty but also for its efficiency in typing. As for keyboard shortcuts on macOS, at least in terms of text editing efficiency, they are superior to those on Windows.

Therefore, I’ll now share how to replicate macOS keybindings on Windows, allowing you to use the same muscle memory across both operating systems for efficient editing.

HHKB 配列 Control 在 CapLock 位置

As for the most criticized aspect of the HHKB—the arrow keys—in almost every scenario where you’d use arrow keys to move the cursor, you can instead use Emacs shortcuts. The exceptions are… certain terminals, like Python, where Control-D exits the CLI, or when remotely accessing a Linux host via SSH. This can be a bit awkward, but using a good terminal can mitigate some of the hassle. Consider Warp, for example, which allows you to input commands in a text-editor-like manner, meaning you can use Emacs shortcuts to edit commands. If this sounds unclear, just try it—you’ll immediately notice the difference from a standard terminal.

Keyboard Requirements

You’ll need a keyboard that supports multiple layers of key remapping, meaning it can handle combinations like FN + another key. Macro support is optional. Some keyboards support up to 6 layers of mapping (accounting for dual-system switching with 3 layers per system). I’m using my newly purchased Nuphy Air75 V3 keyboard. The reason I chose this over the HHKB is that I also game on Windows, making the F-row (F1–F12) indispensable. Thus, a 75% layout is the smallest key count I can accept.

"Who missed the cannon minion? I’m sending a question mark." — Faker

Implementing Emacs Text Editing via FN Layer

Here are the text-editing functions to replicate (formatted as Windows key → macOS shortcut):

  1. Move cursor to line start: Home → Control + A
  2. Move cursor to line end: End → Control + E
  3. Move cursor down: ↓ → Control + N (Next)
  4. Move cursor up: ↑ → Control + P (Previous)
  5. Move cursor left: ← → Control + B (Back)
  6. Move cursor right: → → Control + F (Front)
  7. Delete right: Del → Control + D (Delete)
  8. Delete left: Backspace → Control + H (The “H” stands for delete, though there’s no corresponding word due to historical reasons—feel free to look it up if interested).

Personally, I prefer using Control + C/V for copy/paste on macOS rather than Command + C/V (though I haven’t remapped this). Perhaps due to historical reasons, Emacs doesn’t support copy/paste, and since these aren’t text-editing-specific shortcuts, macOS assigned them to the Command key.

To replicate HHKB’s macOS keybindings on Windows, you’ll need to remap Caps Lock to an FN layer (I set mine to FN6) and then map each key individually:

修改 CapLock 为 FN6 层

Then, in the FN6 layer, assign each key to its corresponding Windows function:

FN6 层映射

Modifying the Alpha Key Area

On the HHKB, the key above Enter is Delete Backspace, not the key. Initially, I swapped Backspace and the | key, but for some inexplicable reason, my hands adapted to the 75% layout, causing me to consistently hit the | key instead of Backspace. Switching back to the HHKB forced me to relearn the lower row, which was frustrating. So, I simply remapped both keys to Backspace and relegated the rarely used | key to the F13 position in the F-row.

Next, I swapped the Control and Alt keys. This ensures that macOS shortcuts like Command + C/V/T/W align with their Windows counterparts (Control + C/V/T/W), maintaining consistent muscle memory.

Finally, I swapped the Windows key and Alt (placing the Windows key in the bottom-left corner) to match the position of Alt (Opt) on macOS.

Now, pressing the key to the left of the spacebar (Control on Windows, Command on macOS) and combining it with other keys produces identical results: Control/Command + C for copy, Control/Command + V for paste, Control/Command + T to open a new tab, Control/Command + Shift + T to reopen a closed tab, etc.

Other Key Modifications

Since the Home and End shortcuts already exist, the Home and End keys on the far right of the keyboard are unnecessary. Therefore, I made two modifications: I remapped the Home key to a frequently used shortcut—I set it to Win + V, which opens the clipboard history on Windows. On Mac, I mapped it to Cmd + Opt + C, which opens Alfred’s clipboard history window.

The Home key is mapped to an M1 macro to open the copy history, while the End key is set to WinLock to prevent accidental presses of the Win key in the bottom-left corner due to muscle memory. For now, it’s locked during gaming, and I’ll unlock it once I’ve adjusted.

Win + V 打开复制历史

Cmd + Opt + C 打开复制历史(Alfred)

A Minor Drawback

On Windows, Alt + Tab cannot be remapped, and this shortcut is crucial for switching between application windows. With the above setup, the key combination becomes the second key to the left of the spacebar + Tab.

However, the same functionality on Mac—switching between applications—uses Cmd + Tab.

As a result, aside from the application-switching shortcut (which is system-level and unmappable in both systems), all other keybindings in my setup can be executed with the same muscle memory, eliminating the need to distinguish between Windows and Mac shortcut positions.

Afterword

What works best for you is what matters most. There’s no need to debate which keybinding method is superior—habit is a powerful force. Once you’re accustomed to it, efficiency naturally follows.

Happy Hacking to all!

- EOF -
Originally published at: How to Use the Same Shortcuts Across Dual Operating Systems - Xheldon Blog