diff --git a/src/apps/webpositive/BrowserWindow.cpp b/src/apps/webpositive/BrowserWindow.cpp index 843e4935c2..7db8358c21 100644 --- a/src/apps/webpositive/BrowserWindow.cpp +++ b/src/apps/webpositive/BrowserWindow.cpp @@ -124,6 +124,10 @@ enum { }; +static const int32 kModifiers = B_SHIFT_KEY | B_COMMAND_KEY + | B_CONTROL_KEY | B_OPTION_KEY | B_MENU_KEY; + + static BLayoutItem* layoutItemFor(BView* view) { @@ -650,7 +654,7 @@ BrowserWindow::DispatchMessage(BMessage* message, BHandler* target) if ((message->what == B_KEY_DOWN || message->what == B_UNMAPPED_KEY_DOWN) && message->FindString("bytes", &bytes) == B_OK && message->FindInt32("modifiers", &modifierKeys) == B_OK) { - modifierKeys = (int32)((uint32)modifierKeys & 0x000000ff); + modifierKeys = (int32)((uint32)modifierKeys & kModifiers); BTextView* textView = dynamic_cast(CurrentFocus()); if (bytes[0] == B_LEFT_ARROW && modifierKeys == B_COMMAND_KEY) { if (textView != NULL) diff --git a/src/servers/app/stackandtile/StackAndTile.cpp b/src/servers/app/stackandtile/StackAndTile.cpp index 4fe7bf297c..5fd7896a3a 100644 --- a/src/servers/app/stackandtile/StackAndTile.cpp +++ b/src/servers/app/stackandtile/StackAndTile.cpp @@ -29,6 +29,9 @@ static const int32 kUpArrowKey = 0x57; static const int32 kRightArrowKey = 0x63; static const int32 kDownArrowKey = 0x62; +static const int32 kModifiers = B_SHIFT_KEY | B_COMMAND_KEY + | B_CONTROL_KEY | B_OPTION_KEY | B_MENU_KEY; + using namespace std; @@ -135,7 +138,7 @@ StackAndTile::KeyPressed(uint32 what, int32 key, int32 modifiers) // switch to and from stacking and snapping mode bool wasPressed = fSATKeyPressed; fSATKeyPressed = (what == B_MODIFIERS_CHANGED - && (modifiers & 0xff) == B_OPTION_KEY) + && (modifiers & kModifiers) == B_OPTION_KEY) || (what == B_UNMAPPED_KEY_DOWN && key == kRightOptionKey); if (wasPressed && !fSATKeyPressed) _StopSAT();