Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

The US keyboard layout in OS X has a mapping for every option+character. For example option+a is å, option+b is ∫. I never use these. Some applications would use them if they weren't already mapped (notably Eclipse). Is it possible to disable this specific part of the keyboard layout?

Mega ultra bonus points for answers that doesn't require me to install any new software.

share|improve this question
    
Doesn't Eclipse simply remap its commands to other key combinations? –  Daniel Beck Jan 13 '12 at 17:25

2 Answers 2

up vote 4 down vote accepted

No, it's not. They are part of the keyboard layout just like any other character, e.g. Shift+a = A, or Shift+' = ". There is no special functionality to selectively disable parts of a keyboard layout, you need to create your own.


You can use Ukelele to create your own keyboard layout based on the US English defaults that does not contain some or any of the mappings that includeOption.

To remove all mappings using Option only, open Ukelele, select File » New From Current Input Source, and select View » Show Modifiers Drawer. Select the entry that is Either Down for Option, and all others Up or Both Up. Select Keyboard » Unlink Modifier Set, and you're done. Change the keyboard ID and name in in the Keyboard menu to prevent collisions, and save it in ~/Library/Keyboard Layouts and select it in System Preferences » Language & Text » Input Source.

This is what Keyboard Viewer shows when you press Option: It's the same as without.

enter image description here

share|improve this answer
    
Of course, this explanation doesn't cover the Option+Shift combination. It works similar. –  Daniel Beck Jan 13 '12 at 17:31

More detailed instructions for using Ukelele:

  • Select the U.S. input source if you haven't already, open Ukelele and choose File > New From Current Input Source. You could also just copy U.S..keylayout from the disk image, but one advantage of using New From Current Input Source is that Ukelele chooses a new ID for the keyboard layout automatically.
  • Choose either Save As or Save As Bundle. The single XML file format doesn't work with the iOS-style popovers shown when holding keys, but the bundle format includes some additional files.
  • Save the file or bundle somewhere like the desktop and then move it to /Library/Keyboard Layouts/. Saving directly to the root library seems to fail silently. Keyboard layouts in ~/Library/Keyboard Layouts/ can't be selected in password dialogs or the login window.
  • Open the keylayout file (or Contents/Resources/*.keylayout) in a text editor and comment out these lines:

    <keyMapSelect mapIndex="3">
        <modifier keys="anyOption"/>
    </keyMapSelect>
    <keyMapSelect mapIndex="4">
        <modifier keys="anyShift caps? anyOption command?"/>
    </keyMapSelect>
    
  • Log out and back in and enable the new input source from System Preferences.

You can apply changes to the keylayout file or bundle by running sudo touch /Library/Keyboard\ Layouts and logging out and back in.

You can disable the preinstalled U.S. layout by editing ~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.