Keymap Modifiers Menu with Mac Modifiers Option
|Reported by:||jscipione||Owned by:||axeld|
|Has a Patch:||yes||Platform:||All|
This ticket provides an enhancement to the Keymap preference application that changes the "Switch Shortcuts to Windows/Linux Mode" button to a "Set modifier keys" drop down menu. This menu has 4 options:
- Haiku modifiers (default)
- Windows/Linux modifiers (swaps control and command)
- Mac modifiers (swaps command and option).
- Custom (only shows up if you manually manipulate the keymap)
This is what the menu looks like normally:
The new option here is Mac modifiers. This menu item will switch the command and option keys on your keyboard which is a useful thing to do if you are using a Mac keyboard on Haiku (as I am) because the relative positions of the buttons are physically reversed from those on a PC keyboard. This could also be modified in a keymap file but this is a more user friendly way to take care of the problem. Also if you are using a Mac keymap (that switches the command and option keys for you) then the menu will automatically be set to "Mac modifiers" for you. You then have the option to choose "Haiku modifiers" if you want to reverse them again.
This is what the menu looks like when you manually manipulate the keymap in some custom way (in this case I swapped the left control and caps lock keys):
A "custom" option is added to the menu and it is selected. If you choose one of the other options the keymap application does its best to place the modifiers in the mode you asked for, although with a custom keymap some manual manipulation may be required. In this case the keymap application doesn't put the caps lock key back to its original location. However, you can drag and drop the key back to its default location. The rest of the modifiers are in their correct position and even the left control key is hidden under the caps lock key in the correct position.
The patch below also makes another minor change. It modifies the Deadkeys menu to be a BMenu instead of a BPopupMenu. The only difference between the two in this case is that the menu pops up below the mouse cursor instead of right under it like this: