Allow user to choose how mod hotkey is interpreted based on platform

Use case or problem

I want to use a single external keyboard between mac and windows. Currently the hotkey settings refer to Windows ctrl or macOS command as mod. These keys aren’t positioned the same on an external keyboard. While it is possible to flip these keys around using external software like Karabiner the solution with the most flexibility is to flip macs command and option keys; vscode seems to like this. This leaves command where alt usually sits leaving the user with a less identical experience.

Proposed solution

Let the user decide how mod is interpreted. In the case above interpreting mod as mac’s control would be ideal.

Current workaround (optional)

Karabiner shenanigans. However, command intersects with command + tab; a shortcut that can’t be moved on mac.

Related feature requests (optional)

I can’t imagine this is something Obsidian would ever handle.

You can take control in your operating system. As you mentioned, Karabiner Elements. In Windows, you can use Power Toys to swap keys, including Cmd and Option. That’s what I do to try to keep my muscle memory working.

That way, Cmd-tab is like Alt-tab in Windows. And alt/option is the Win key, in the middle, like most PC keyboards.

Trying to request an app to implement this change for you isn’t going to solve the issue in every other app. And then wouldn’t your muscle memory be even more confused? In my opinion, you should find a way to control it in your OS, or find a keyboard that can have custom firmware and mappings.

Obsidian is already coded to interpret mod based on the operating system. It already changes what is expected. A fair choice at that. The issue is, without decoupling sync, the modifiers are coded as opposites. Managing modifiers across apps is complicated.

Mac’s command is also more synonymous with the windows key. In keyboard building they are both referred to as gui. It doesn’t make sense to swap mac’s command to where the ctrl key is due to all the fixed mac shortcuts associated with it.

An alternative would be platform specific hotkeys so obsidian can nest into a current workflow with minimal fuss. However, changing the interpretation of mod might be simpler.

1 Like

I rethought how I’m matching hotkeys and experimenting with that.

Given that I use an external bluetooth keyboard for both mac and windows, I’m implementing two steps to gain the most flexibility. These will accommodate how mod is currently interpreted and require no additional features.

1.Swap the keys command and control on mac os using simple modifications in karabiner.
2. Swap the hotkeys alt tab and ctrl tab on windows using power tools because mac can’t unbind command tab.

After this, tab switching behavior lines up between both operating systems. This requires relearning app switching behavior on windows but allows many commands to line up between operating systems.

After that I think karabiner can solve most mismatches.