3

Is it possible to disable a key in macOS without installing a third-party program (e.g., Karabiner Elements)?

One of my keys is stuck and gets pressed continuously.

In Unix, it is easy to do with xmodmap. Is there an equivalent for Mac?

Jdoe
  • 33

2 Answers2

3

Yes, but not easily

I'm still going to recommend you use Karabiner Elements: it's easy, works well, and does exactly what you need to do. However, if you insist otherwise...

Unless your key happens to be the Caps Lock, Control, Option, Command, or Fn key, it cannot be easily remapped or disabled natively. Karabiner Elements is your best bet.

If it is one of those keys, it can be disabled in System PreferencesKeyboardModifier Keys[The key you want]No Action.

Enter image description here

However, if it's not, you'll have to create a custom keyboard layout. You can either do this by hand(ish), as suggested by Apple, or using a program called Ukelele. There's simplified instructions on Ask Different, but I encourage you read the full documentation; it's not the easiest process. However, the main idea is you simply want to unlink the output of the keyboard, then save and install the layout.

Enter image description here

JMY1000
  • 527
0

Ukelele is essentially just a UI for OS X_'s .keylayout files, and you can manually edit them if you prefer. They're XML files and the schema is located at /System/Library/DTDs/KeyboardLayout.dtd

For example, this diff should change s to f:

-<key code="1" output="s"/>
+<key code="1" output="f"/>

You'll have to create a proper "bundle" folder in ~/Library/Keyboard Layouts, though, and it may be difficult to access the default layouts to get a sample to start from. You can find many custom ones on GitHub and other places online (example), so you could download one and modify it for your purposes.

Or if you want to compromise, you could use Ukelele to create a sample bundle based on your current layout, and then uninstall it. At that point, you can manually review the contents of the folder, manually modify it to fit your needs, and install it.

Ian Dunn
  • 322