diff --git a/src/kits/interface/Menu.cpp b/src/kits/interface/Menu.cpp index 4e499e7b61..3770c10c1c 100644 --- a/src/kits/interface/Menu.cpp +++ b/src/kits/interface/Menu.cpp @@ -348,7 +348,7 @@ BMenu::AttachedToWindow() char *chars = NULL; get_key_map(&keys, &chars); if (keys == NULL || keys->left_command_key != 0x5d - || keys->right_command_key != 0x5f) + || keys->left_control_key != 0x5c) sAltAsCommandKey = false; free(chars); free(keys); diff --git a/src/preferences/appearance/MenuView.cpp b/src/preferences/appearance/MenuView.cpp index 1ec68b17e2..455746caf5 100644 --- a/src/preferences/appearance/MenuView.cpp +++ b/src/preferences/appearance/MenuView.cpp @@ -318,11 +318,13 @@ void MenuView::MarkCommandKey(void) get_key_map(&keys, &chars); - altcommand=(keys->left_command_key==0x5d) && (keys->right_command_key==0x5f); + bool altAsShortcut = (keys->left_command_key == 0x5d) + && (keys->left_control_key == 0x5c); + free(chars); free(keys); - if(altcommand) + if(altAsShortcut) altcmd->SetValue(B_CONTROL_ON); else ctrlcmd->SetValue(B_CONTROL_ON); @@ -333,18 +335,14 @@ void MenuView::SetCommandKey(bool use_alt) if(use_alt) { set_modifier_key(B_LEFT_COMMAND_KEY, 0x5d); - set_modifier_key(B_RIGHT_COMMAND_KEY, 0x5f); set_modifier_key(B_LEFT_CONTROL_KEY, 0x5c); - set_modifier_key(B_RIGHT_OPTION_KEY, 0x60); be_roster->Broadcast(new BMessage(B_MODIFIERS_CHANGED)); } else { set_modifier_key(B_LEFT_COMMAND_KEY, 0x5c); - set_modifier_key(B_RIGHT_COMMAND_KEY, 0x60); set_modifier_key(B_LEFT_CONTROL_KEY, 0x5d); - set_modifier_key(B_RIGHT_OPTION_KEY, 0x5f); be_roster->Broadcast(new BMessage(B_MODIFIERS_CHANGED)); } diff --git a/src/preferences/menu/MenuSettings.cpp b/src/preferences/menu/MenuSettings.cpp index 9dc5b2625f..8cf93dbdd1 100644 --- a/src/preferences/menu/MenuSettings.cpp +++ b/src/preferences/menu/MenuSettings.cpp @@ -78,8 +78,9 @@ MenuSettings::AltAsShortcut() const char* chars; get_key_map(&keys, &chars); - bool altAsShortcut = (keys->left_command_key == 0x5d) - && (keys->right_command_key == 0x5f); + + bool altAsShortcut = (keys->left_command_key == 0x5d) + && (keys->left_control_key == 0x5c); free(chars); free(keys); @@ -94,15 +95,11 @@ MenuSettings::SetAltAsShortcut(bool altAsShortcut) if (altAsShortcut) { // This might not be the same for all keyboards set_modifier_key(B_LEFT_COMMAND_KEY, 0x5d); - set_modifier_key(B_RIGHT_COMMAND_KEY, 0x5f); set_modifier_key(B_LEFT_CONTROL_KEY, 0x5c); - set_modifier_key(B_RIGHT_OPTION_KEY, 0x60); } else { // This might not be the same for all keyboards set_modifier_key(B_LEFT_COMMAND_KEY, 0x5c); - set_modifier_key(B_RIGHT_COMMAND_KEY, 0x60); set_modifier_key(B_LEFT_CONTROL_KEY, 0x5d); - set_modifier_key(B_RIGHT_OPTION_KEY, 0x5f); } be_roster->Broadcast(new BMessage(B_MODIFIERS_CHANGED)); }