B_OPTION_KEY
fModifiers |= B_OPTION_KEY;
AddShortcut('T', B_COMMAND_KEY | B_OPTION_KEY,
B_SHIFT_KEY | B_CONTROL_KEY | B_OPTION_KEY | B_CAPS_LOCK)) {
case B_OPTION_KEY | B_CAPS_LOCK | B_SHIFT_KEY:
case B_OPTION_KEY | B_CAPS_LOCK:
case B_OPTION_KEY | B_SHIFT_KEY:
case B_OPTION_KEY:
fNewState.modifiers |= B_OPTION_KEY | B_LEFT_OPTION_KEY;
fNewState.modifiers |= B_OPTION_KEY | B_RIGHT_OPTION_KEY;
| B_CONTROL_KEY | B_OPTION_KEY | B_MENU_KEY | B_SHIFT_KEY);
customMods |=B_LEFT_OPTION_KEY | B_OPTION_KEY;
customMods |=B_LEFT_OPTION_KEY | B_OPTION_KEY;
customMods |=B_RIGHT_OPTION_KEY| B_OPTION_KEY;
customMods |=B_LEFT_OPTION_KEY | B_OPTION_KEY;
customMods |=B_LEFT_OPTION_KEY | B_OPTION_KEY;
customMods |=B_RIGHT_OPTION_KEY| B_OPTION_KEY;
modCode, B_LEFT_OPTION_KEY | B_OPTION_KEY);
states, modCode, B_LEFT_OPTION_KEY | B_OPTION_KEY
B_LEFT_OPTION_KEY | B_OPTION_KEY | B_CAPS_LOCK);
next, states, modCode, B_LEFT_OPTION_KEY | B_OPTION_KEY
if (setTo & B_OPTION_KEY)
| B_CONTROL_KEY | B_OPTION_KEY | B_MENU_KEY | B_SHIFT_KEY);
if ((modifiers() & (B_SHIFT_KEY | B_OPTION_KEY)) != 0) {
AddShortcut('P', B_COMMAND_KEY | B_SHIFT_KEY | B_OPTION_KEY,
if ((modifiers() & (B_CONTROL_KEY | B_COMMAND_KEY | B_OPTION_KEY
if (modifiers() & (B_OPTION_KEY | B_COMMAND_KEY | B_CONTROL_KEY))
} else if (modifiers() & B_OPTION_KEY) {
if (mods & B_OPTION_KEY)
fAltDown = modifiers & B_OPTION_KEY;
new BMessage(M_REPLY_TO_SENDER),'R',B_OPTION_KEY));
new BMessage(M_TRAIN_SPAM), 'K', B_OPTION_KEY));
if ((modifier & (B_COMMAND_KEY | B_CONTROL_KEY | B_OPTION_KEY
new BMessage(kMsgOpenPort), 'Z', B_OPTION_KEY);
| B_OPTION_KEY | B_MENU_KEY;
fAlignLeft->SetShortcut('L', B_OPTION_KEY);
fAlignCenter->SetShortcut('C', B_OPTION_KEY);
fAlignRight->SetShortcut('R', B_OPTION_KEY);
fWrapItem->SetShortcut('W', B_OPTION_KEY);
AddShortcut(B_PAGE_DOWN, B_OPTION_KEY, message);
AddShortcut(B_PAGE_UP, B_OPTION_KEY, message);
if (modifiers & (B_SHIFT_KEY | B_OPTION_KEY)) {
if (modifiers & B_OPTION_KEY)
if ((::modifiers() & (B_CONTROL_KEY | B_SHIFT_KEY | B_OPTION_KEY
if (modifiers & (B_SHIFT_KEY | B_OPTION_KEY | B_COMMAND_KEY | B_CONTROL_KEY))
if ((modifiers & (B_COMMAND_KEY | B_CONTROL_KEY | B_OPTION_KEY
| B_CONTROL_KEY | B_OPTION_KEY | B_MENU_KEY;
|| (modifiers & (B_CONTROL_KEY | B_COMMAND_KEY | B_OPTION_KEY
modifiers |= B_OPTION_KEY;
B_OPTION_KEY,
if (modifiers() & B_OPTION_KEY)
if ((item->fModifiers & B_OPTION_KEY) != 0)
if ((fModifiers & B_OPTION_KEY) != 0) {
bool optionKeyDown = (modifiers & B_OPTION_KEY) != 0;
bool optionKeyDown = (modifiers & B_OPTION_KEY) != 0;
bool optionKeyDown = (modifiers & B_OPTION_KEY) != 0;
bool optionKeyDown = (modifiers & B_OPTION_KEY) != 0;
if (!Window()->HasShortcut(B_LEFT_ARROW, B_OPTION_KEY)
&& !Window()->HasShortcut(B_RIGHT_ARROW, B_OPTION_KEY)) {
message->AddInt32("modifiers", B_OPTION_KEY);
Window()->AddShortcut(B_LEFT_ARROW, B_OPTION_KEY, message, this);
message->AddInt32("modifiers", B_OPTION_KEY);
Window()->AddShortcut(B_RIGHT_ARROW, B_OPTION_KEY, message, this);
if (!Window()->HasShortcut(B_LEFT_ARROW, B_OPTION_KEY | B_SHIFT_KEY)
B_OPTION_KEY | B_SHIFT_KEY)) {
message->AddInt32("modifiers", B_OPTION_KEY | B_SHIFT_KEY);
Window()->AddShortcut(B_LEFT_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
message->AddInt32("modifiers", B_OPTION_KEY | B_SHIFT_KEY);
Window()->AddShortcut(B_RIGHT_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
if (!Window()->HasShortcut(B_DELETE, B_OPTION_KEY)
&& !Window()->HasShortcut(B_BACKSPACE, B_OPTION_KEY)) {
message->AddInt32("modifiers", B_OPTION_KEY);
Window()->AddShortcut(B_DELETE, B_OPTION_KEY, message, this);
message->AddInt32("modifiers", B_OPTION_KEY);
Window()->AddShortcut(B_BACKSPACE, B_OPTION_KEY, message, this);
if (!Window()->HasShortcut(B_UP_ARROW, B_OPTION_KEY)
&& !Window()->HasShortcut(B_DOWN_ARROW, B_OPTION_KEY)) {
message->AddInt32("modifiers", B_OPTION_KEY);
Window()->AddShortcut(B_UP_ARROW, B_OPTION_KEY, message, this);
message->AddInt32("modifiers", B_OPTION_KEY);
Window()->AddShortcut(B_DOWN_ARROW, B_OPTION_KEY, message, this);
if (!Window()->HasShortcut(B_UP_ARROW, B_OPTION_KEY | B_SHIFT_KEY)
B_OPTION_KEY | B_SHIFT_KEY)) {
message->AddInt32("modifiers", B_OPTION_KEY | B_SHIFT_KEY);
Window()->AddShortcut(B_UP_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
message->AddInt32("modifiers", B_OPTION_KEY | B_SHIFT_KEY);
Window()->AddShortcut(B_DOWN_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
Window()->RemoveShortcut(B_LEFT_ARROW, B_OPTION_KEY);
Window()->RemoveShortcut(B_RIGHT_ARROW, B_OPTION_KEY);
Window()->RemoveShortcut(B_LEFT_ARROW, B_OPTION_KEY | B_SHIFT_KEY);
Window()->RemoveShortcut(B_RIGHT_ARROW, B_OPTION_KEY | B_SHIFT_KEY);
Window()->RemoveShortcut(B_DELETE, B_OPTION_KEY);
Window()->RemoveShortcut(B_BACKSPACE, B_OPTION_KEY);
Window()->RemoveShortcut(B_UP_ARROW, B_OPTION_KEY);
Window()->RemoveShortcut(B_DOWN_ARROW, B_OPTION_KEY);
Window()->RemoveShortcut(B_UP_ARROW, B_OPTION_KEY | B_SHIFT_KEY);
Window()->RemoveShortcut(B_DOWN_ARROW, B_OPTION_KEY | B_SHIFT_KEY);
return B_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY | B_CONTROL_KEY | B_MENU_KEY;
if (key == B_TAB && (modifiers & B_OPTION_KEY) != 0) {
if ((modifiers & B_OPTION_KEY) != 0) {
int32 jumpGroups = (modifiers & B_OPTION_KEY) != 0 ? B_NAVIGABLE_JUMP : B_NAVIGABLE;
return B_LEFT_OPTION_KEY | B_OPTION_KEY;
return B_RIGHT_OPTION_KEY | B_OPTION_KEY;
if (modifier == B_LEFT_OPTION_KEY || modifier == B_OPTION_KEY)
if ((modifiers & B_OPTION_KEY) != 0) {
offset = Offset(keyCode, modifiers & ~B_OPTION_KEY);
| B_OPTION_KEY | B_COMMAND_KEY | B_MENU_KEY;
case B_OPTION_KEY:
case B_OPTION_KEY | B_SHIFT_KEY:
case B_OPTION_KEY | B_CAPS_LOCK:
case B_OPTION_KEY | B_SHIFT_KEY | B_CAPS_LOCK:
if ((modifiers() & B_OPTION_KEY) != 0) {
RemoveShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_OPTION_KEY);
RemoveShortcut(B_UP_ARROW, B_COMMAND_KEY | B_OPTION_KEY);
AddShortcut(B_LEFT_ARROW, B_OPTION_KEY | B_COMMAND_KEY,
AddShortcut(B_RIGHT_ARROW, B_OPTION_KEY | B_COMMAND_KEY,
AddShortcut(B_UP_ARROW, B_OPTION_KEY | B_COMMAND_KEY,
AddShortcut(B_DOWN_ARROW, B_OPTION_KEY | B_COMMAND_KEY,
RemoveShortcut(B_LEFT_ARROW, B_OPTION_KEY | B_COMMAND_KEY);
RemoveShortcut(B_RIGHT_ARROW, B_OPTION_KEY | B_COMMAND_KEY);
RemoveShortcut(B_UP_ARROW, B_OPTION_KEY | B_COMMAND_KEY);
RemoveShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_OPTION_KEY);
AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_OPTION_KEY,
AddShortcut(B_UP_ARROW, B_COMMAND_KEY | B_OPTION_KEY,
if (minimize && (modifiers() & B_OPTION_KEY) != 0)
AddShortcut('Q', B_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY | B_CONTROL_KEY,
AddShortcut('F', B_COMMAND_KEY | B_CONTROL_KEY | B_OPTION_KEY,
RemoveShortcut(item->key, B_OPTION_KEY | B_COMMAND_KEY);
modifiers |= (value != 0 ? B_OPTION_KEY : 0);
const uint32 kDefaultModifiers = B_OPTION_KEY | B_COMMAND_KEY;
message.AddInt32("be:actions", (modifiers() & B_OPTION_KEY) != 0
modifiers &= B_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY | B_CONTROL_KEY | B_MENU_KEY;
AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_OPTION_KEY, new BMessage(kOpenDir));
AddShortcut(B_UP_ARROW, B_COMMAND_KEY | B_OPTION_KEY, new BMessage(kOpenParentDir));
if ((modifiers() & B_OPTION_KEY) == 0) {
GoBackward((modifiers() & B_OPTION_KEY) == B_OPTION_KEY);
GoForward((modifiers() & B_OPTION_KEY) == B_OPTION_KEY);
GoUp((modifiers() & B_OPTION_KEY) == B_OPTION_KEY);
modifiers &= B_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY | B_CONTROL_KEY | B_MENU_KEY;
AddFilter(new ShortcutFilter(B_RETURN, B_OPTION_KEY, kOpenSelection, this));
forceCopy = forceCopy || (modifiers() & B_OPTION_KEY) != 0;
&& (modifiers() & B_OPTION_KEY) == 0 && TargetModel()->IsDirectory()
if (dynamic_cast<TTracker*>(be_app) == NULL || (modifiers() & B_OPTION_KEY) == 0
| B_OPTION_KEY | B_MENU_KEY;
(modifiers() & B_OPTION_KEY) != 0 ? B_COPY_TARGET : B_MOVE_TARGET);
bool force = (modifiers() & B_OPTION_KEY) != 0;
if(beMod & B_OPTION_KEY) {
if(beMod & B_OPTION_KEY) {
if(beMod & B_OPTION_KEY) {
int32 mask = B_SHIFT_KEY | B_COMMAND_KEY | B_CONTROL_KEY | B_OPTION_KEY;
else if (modifier == B_OPTION_KEY) {
isLockKey ? B_LEFT_OPTION_KEY : B_OPTION_KEY,
isLockKey ? B_RIGHT_OPTION_KEY : B_OPTION_KEY,
| B_OPTION_KEY | B_COMMAND_KEY | B_MENU_KEY;
, B_OPTION_KEY, B_LEFT_OPTION_KEY, B_RIGHT_OPTION_KEY);
|| modifiers == B_CONTROL_KEY || modifiers == B_OPTION_KEY)
if ((modifiers & (B_COMMAND_KEY | B_CONTROL_KEY | B_OPTION_KEY))
&& (modifiers & (B_COMMAND_KEY | B_CONTROL_KEY | B_OPTION_KEY))
} else if ((modifiers & B_OPTION_KEY) != 0) {
&& (modifiers & (B_COMMAND_KEY | B_CONTROL_KEY | B_OPTION_KEY
&& (modifiers & kModifiers) == B_OPTION_KEY)
| B_CONTROL_KEY | B_OPTION_KEY | B_MENU_KEY;
if (mod & B_OPTION_KEY) {
tables[B_OPTION_KEY] = &keymap->option_map;
tables[B_OPTION_KEY | B_SHIFT_KEY] = &keymap->option_shift_map;
tables[B_OPTION_KEY | B_CAPS_LOCK] = &keymap->option_caps_map;
tables[B_OPTION_KEY | B_SHIFT_KEY | B_CAPS_LOCK] =
if (*mapChars <= 0 && (modifiers & B_OPTION_KEY) != 0) {
int newOffset = (*tables[modifiers & ~B_OPTION_KEY])[keycode];