What are the best ways to remap modifier keys?

Basically, i want to change my modifier keys (shift, ctrl, and alt) to something more comfortable so I don’t have to use my pinky. I badly broke my left hand a few years back and my left pinky just isn’t comfortable floating to shift, ctrl, and alt. I have a naga chroma 12 button mouse, which helps a lot, but if I can find a way to make this work, I think I’d unlock it’s full potential.

What I’m wanting is to adjust my modifier keys so that W is alt, S is shift, and E is ctrl. This way, I could use macros to essentially turn my 12 button mouse into a 36 button mouse, without having to use my pinky. I’d be using A and D to strafe, and the aforementioned keys as my modifiers. This way, I’d only be using my middle finger, which was the least damaged part of my hand when it was broken.

Now, I’m playing on a macbook. I looked up how to remap the modifiers, but the system settings only let you adjust them to other modifiers (ie turn alt into shift, etc). I tried looking up other ways and discovered an app called KeyRemap4MacBook, but it doesn’t even offer key remapping for letter keys.

Ideally, I would want a way where I could activate this special keyboard for when I’m playing WoW, and disable it when I’m not. Does anyone know of a way to do this?

If you want these modifiers used in macros like /cast [mod:something] then you can’t do that within WoW and need to remap the keys at the OS level outside the game.

If you just want this modifier for binding purposes, to perhaps bind button8 and the combination of C+button8 to separate skills, or to bind C and button8+C to different skills, the addon ModMod can do this. It hasn’t been updated since 2017 but after a quick test it still works. You define a ModMod key (or several, you can have up to 10), and then for each ModMod key you can bind any other actions in the key binding interface to that new “modifier” key.

1 Like

https://karabiner-elements.pqrs.org/maybe. I don’t use Macs so not sure what the offerings are.

1 Like

Autohotkey could remap the keys and maybe a 3rd party keyboard utility, but something like this could also lead to a lot of frustration when you need to type stuff into chat.

Have to post just to ask: Isn’t AutoHotkey a forbidden application? I was under the impression that this software was considered automation and could result in account action simply for using it. Is that wrong? Is it more of just a matter of how it’s used?

I use SharpKeys to remap my caps lock button on Windows, but can’t help with Apple products. Sorry :frowning:

It’s not permitted to use it to automate, ie to press multiple keys in sequence to perform multiple operations. Using it to alter which keys press which other keys in a static and deterministic way, on the other hand, is no different from using my Razer software to do the same thing.

Yes! I think this addon is exactly what I needed! You’re a hero! I’m going to test it out and let you know how it worked. Thanks a bunch!

AHK is Windows only.

BetterTouchTool (https://folivora.ai/) is an OSX alternative that can remap keys. I use it to remap Home and End on the external (Windows-esque) keyboard I have attached to my work laptop, because OSX believes Home should go to the top of the page and End should go to the bottom, rather than the start and end of the line like Windows.

Unfortunately, it’s not freeware, and will harass you for a license =/. Worth it imo, though.

What fresh hell is this!?!

1 Like

OSX has a lot of weird keybinds like that. Like hitting delete on a file doesn’t do anything, you have to CMD-Delete it to actually get rid of it. And it has no equivalent to the Windows behavior of the delete button on text (ie. delete after the cursor), at least that I’ve found. CMD is where Alt is on a Windows keyboard, and all of the keybinds on windows that use Ctrl use CMD instead. Option, what usually acts as Alt in OSX, is where the Windows key is on a Windows keyboard. I have BTT installed to swap out a fair number of the more annoying keybind differences between the two OSes, and then use the base OS to swap CMD and Ctrl, so my habitual keybinds like Ctrl-A, Ctrl-C, Ctrl-T (new tab in Chrome), etc work as expected.

But then, on the flip side, Windows has its own opinionated garbage as well. OSX and Linux both use LF (Line Feed, ie. \n line endings, while Windows insists on using CRLF (Carriage Return + Line Feed, ie. \r\n). It wasn’t until Windows 10 that Notepad in Windows was even capable of properly rendering a file that use LF line endings instead of CRLF, and Windows still likes to reformat files to add in the carriage returns (which causes a lot of commit noise on version control systems). Windows insists on having its own special-snowflake terminal system (DOS, then PowerShell), rather than the Bash (or similar shells) used by OSX and Linux. Windows terminal also was not ANSI compatible (ANSI defines control sequences for affecting the terminal display, like adding colors or moving the cursor/input point around), until literally 3 decades after ANSI was introduced and became standardized on Unix systems (and thus Linux and OSX). In Windows, file paths are not case-sensitive (so ProgramFiles\ and programfiles\ are the same directory), while directories (and files) are case sensitive on OSX and Linux, leading to some really weird portability issues. Windows also uses backslash \ rather than forward slash / as its path separator, in contrast to both Unix-based systems and URLs. Lastly, Windows insists on using its own grotesquely overengineered and arcane permissions system, rather than the simple permission bit system used by Unix-based OSes.

OSes are weird. They all have things they take a gospel and won’t change for anything, or at least resist changing for decades.

That follows their design pattern where scrolling down scrolls up and scrolling up scrolls down. Apple users really do “think differently”.

Apple users only recently just got the right mouse button. And even to this day, the right clicking functionality is very confusing.

That’s not really a fair comparison because shell commands were always the main way of interacting with *nix systems, while Windows has always been about the GUI. These differences go all the way down to the filesystem and beyond. Windows couldn’t adopt a bash-like scripting style without dramatically changing the entire OS.

If I remember correctly, the very first versions of Macintosh didn’t even have any form of terminal whatsoever.

Powershell is also arguably better than bash since you are able to write full fledged applications (with GUI) using only scripts.

The NTFS file system is indeed weird, but Microsoft really had different motivations and a different focus than open source alternatives.

I still appreciate the original Microsoft approach, while Apple simply stole then destroyed the FreeBSD OS.

But MacOS only adopted Bash (and the underlying Linux-ish kernel) in OSX, 9 and prior were their own thing. That happened in 2001. Microsoft could easily have jumped onto that boat instead of reinventing the wheel with Powershell. They already reinvented their GUI like 4 times since then.

You can write full-fledged scripts with Bash as well, it’s Turing complete. It’s not well adapted to writing full applications, but it can do it, and Bash scripting is exceptionally powerful once you get the hang of it. Having a GUI, I don’t really regard as much of a plus. Sure, an IDE is better than something like nano or vim, but fundamentally coding is text-editing. GUIs just tend to get in the way.

Eh, not like Microsoft hasn’t left a trail of company corpses in their wake as well. Guess that’s just how the game is played, unfortunate as that is. >.>

I had the pleasure of owning the very first Macintosh LC. It was based off the Xerox OS (yes, the operating system of copying machines). There was no terminal and it was very hacker unfriendly. There was an upper limit to what you were allowed to do within the OS. I swore off Apple ever since, and as it turns out their anti-hacker philosophy has readily continued unabated. If you don’t want to use your computer the way Apple dictates, you are out of luck. You simply cannot make certain tweaks and adjustments.

Microsoft did not reinvent the wheel with Powershell. Powershell exposes the same runtime framework as C# and VB .NET to the command line. It would be like having the entire Java Virtual Machine in a terminal.

I wasn’t referring to writing the Powershell scripts in a GUI, but rather that you can write full fledged GUI applications using Powershell.

I don’t deny that bash is incredibly powerful, but it’s not quite as nice as the full coherent and conformed .NET framework accessible by command line.

I’m not really as much concerned with the ethics of it but rather the fact that OSX is nothing like FreeBSD and that most FreeBSD users would not appreciate OSX.

If someone can take code from somewhere else and make it better, that’s great!
If they take it from somewhere else and make it worse, that’s sad.

Eh, yes and no. You can do a lot if you know your way around shell commands and have sudo access. Some things you have to turn off SIP (built-in system integrity permission, basically like Microsoft by default denying access to the windows/ folder), but you can muck with a lot of the nitty-gritty stuff in there.

Good god, no wonder I hate it. It’s combines the two things I absolutely hate. .NET can DIAF.

Given that it’s functionally a framework around C#, that’s not actually that surprising. I wouldn’t want to do it, though. >.>

Eh, taking code and making it worse isn’t really a problem. Now, taking code, making it worse, and then killing off the source, that could be bad, but tbh I’m not really familiar with the origin of OSX. My basis is coming from having used Windows personally since I was a child, and having used Linux and OSX professionally for my entire career (plus the occasional Ubuntu VM running on my personal system). I definitely prefer doing my coding on OSX over Windows.

this addon was the perfect solution. it’s better than i had hope for, because i originally thought i’d not be able to use the keys i want to use as modifiers in chat. with this addon, i get what i needed, AND i can still use those keys in chat, AND i don’t have to constantly switch keyboard settings in my OS. thanks a bunch man

1 Like

As Xaedys pointed out, it depends on how its used and the app itself isn’t banned. I personally use a Autohotkey script to disable Alt-tab and the left Windows key to avoid the stupidity of getting swapped out of WoW in the middle of a fight.

; Disable Alt+Tab
; Disable Left Windows Key

I don’t think I’m alone in using AHK for this since it was a recommendation from other players. It’s my opinion that these are 100% compliant with all Terms of Use.

There are many other ways of accomplishing those exact things. I remember using a charmap utility that updated the windows registry on another pc to permanently disable the windows keys. After I made the change, I removed the utility since the registry update was permanent.

1 Like


I recall experimenting with a disassembler on an early version of Windows and finding Comments from Apple embedded in Windows system modules.

There’s nothing original about Windows. It’s always been derivative.