AddShortcut
void AddShortcut(uint32 key, uint32 modifiers,
void AddShortcut(uint32 key, uint32 modifiers,
void AddShortcut(char key, shortcut_hook function);
AddShortcut('T', B_COMMAND_KEY | B_OPTION_KEY,
AddShortcut('W', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
Window()->AddShortcut('C', B_SHIFT_KEY,
Window()->AddShortcut('A', B_COMMAND_KEY,
Window()->AddShortcut('K', B_COMMAND_KEY,
Window()->AddShortcut('T', B_COMMAND_KEY,
Window()->AddShortcut('P', B_COMMAND_KEY,
Window()->AddShortcut('P', B_COMMAND_KEY | B_SHIFT_KEY,
Window()->AddShortcut('I', B_COMMAND_KEY,
AddShortcut('P', B_COMMAND_KEY | B_SHIFT_KEY | B_OPTION_KEY,
AddShortcut(B_LEFT_ARROW, B_COMMAND_KEY, new BMessage(
AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY, new BMessage(
AddShortcut('F', B_COMMAND_KEY, new BMessage(kFindButton));
AddShortcut('W', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
AddShortcut('0', B_COMMAND_KEY,
AddShortcut('1', B_COMMAND_KEY,
AddShortcut('2', B_COMMAND_KEY,
Window()->AddShortcut(B_HOME, B_COMMAND_KEY,
Window()->AddShortcut(B_END, B_COMMAND_KEY,
Window()->AddShortcut(B_PAGE_UP, B_COMMAND_KEY,
Window()->AddShortcut(B_PAGE_DOWN, B_COMMAND_KEY,
AddShortcut('Y', 0, new BMessage(MSG_UNDO));
AddShortcut('Y', B_SHIFT_KEY, new BMessage(MSG_REDO));
AddShortcut('E', 0, new BMessage(MSG_RENAME_OBJECT));
AddShortcut('S', B_COMMAND_KEY, new BMessage(msg_save));
AddShortcut('C', B_COMMAND_KEY, new BMessage(msg_copy_image));
AddShortcut('T', B_COMMAND_KEY, new BMessage(msg_show_info));
AddShortcut('H', B_COMMAND_KEY, new BMessage(msg_add_cross_hair));
AddShortcut('H', B_SHIFT_KEY, new BMessage(msg_remove_cross_hair));
AddShortcut('G', B_COMMAND_KEY, new BMessage(msg_toggle_grid));
AddShortcut('F', B_COMMAND_KEY, new BMessage(msg_freeze));
AddShortcut('I', B_COMMAND_KEY, new BMessage(msg_stick));
AddShortcut('-', B_COMMAND_KEY, new BMessage(msg_shrink));
AddShortcut('=', B_COMMAND_KEY, new BMessage(msg_grow));
AddShortcut('/', B_COMMAND_KEY, new BMessage(msg_make_square));
AddShortcut(',', B_COMMAND_KEY, new BMessage(msg_shrink_pixel));
AddShortcut('.', B_COMMAND_KEY, new BMessage(msg_grow_pixel));
AddShortcut(B_LEFT_ARROW, B_COMMAND_KEY, new BMessage(msg_mouse_left));
AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY, new BMessage(msg_mouse_right));
AddShortcut(B_UP_ARROW, B_COMMAND_KEY, new BMessage(msg_mouse_up));
AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY, new BMessage(msg_mouse_down));
AddShortcut('W', B_COMMAND_KEY | B_SHIFT_KEY,
AddShortcut('T', B_SHIFT_KEY | B_COMMAND_KEY,
AddShortcut('n', B_COMMAND_KEY, new BMessage(M_NEW));
AddShortcut('q', B_SHIFT_KEY, new BMessage(kMsgQuitAndKeepAllStatus));
AddShortcut('z', B_COMMAND_KEY, new BMessage(B_UNDO));
AddShortcut('y', B_COMMAND_KEY, new BMessage(B_UNDO));
AddShortcut('z', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(B_REDO));
AddShortcut('y', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(B_REDO));
AddShortcut('W', B_COMMAND_KEY, new BMessage(MSG_HIDE_WINDOW));
AddShortcut('W', B_COMMAND_KEY, new BMessage(MSG_HIDE_WINDOW));
AddShortcut(B_PAGE_DOWN, B_OPTION_KEY, message);
AddShortcut(B_PAGE_UP, B_OPTION_KEY, message);
AddShortcut((uint32)'W', B_COMMAND_KEY, new BMessage(MSG_FIND_HIDE));
AddShortcut('Q', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
AddShortcut('W', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
AddShortcut('1' + i, B_COMMAND_KEY, message);
AddShortcut(B_LEFT_ARROW, B_COMMAND_KEY, new BMessage(MSG_SWITCH_TAB_LEFT));
AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY, new BMessage(MSG_SWITCH_TAB_RIGHT));
AddShortcut(B_LEFT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(MSG_MOVE_TAB_LEFT));
AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(MSG_MOVE_TAB_RIGHT));
AddShortcut('S', B_COMMAND_KEY | B_CONTROL_KEY,
AddShortcut('C', B_COMMAND_KEY | B_CONTROL_KEY,
AddShortcut(key, B_COMMAND_KEY,
AddShortcut('Q', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
AddShortcut('W', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
AddShortcut('F', B_COMMAND_KEY | B_SHIFT_KEY,
AddShortcut('H', B_COMMAND_KEY, new BMessage(HOME));
AddShortcut(numStr[0], B_COMMAND_KEY, selectTab);
AddShortcut(B_TAB, B_COMMAND_KEY, new BMessage(CYCLE_TABS));
AddShortcut(key, B_COMMAND_KEY,
Window()->AddShortcut(B_LEFT_ARROW, B_COMMAND_KEY, message, this);
Window()->AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY, message, this);
Window()->AddShortcut(B_LEFT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY,
Window()->AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY | B_SHIFT_KEY,
Window()->AddShortcut(B_DELETE, B_COMMAND_KEY, message, this);
Window()->AddShortcut(B_BACKSPACE, B_COMMAND_KEY, message, this);
Window()->AddShortcut(B_LEFT_ARROW, B_OPTION_KEY, message, this);
Window()->AddShortcut(B_RIGHT_ARROW, B_OPTION_KEY, message, this);
Window()->AddShortcut(B_LEFT_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
Window()->AddShortcut(B_RIGHT_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
Window()->AddShortcut(B_DELETE, B_OPTION_KEY, message, this);
Window()->AddShortcut(B_BACKSPACE, B_OPTION_KEY, message, this);
Window()->AddShortcut(B_UP_ARROW, B_OPTION_KEY, message, this);
Window()->AddShortcut(B_DOWN_ARROW, B_OPTION_KEY, message, this);
Window()->AddShortcut(B_UP_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
Window()->AddShortcut(B_DOWN_ARROW, B_OPTION_KEY | B_SHIFT_KEY,
Window()->AddShortcut(B_HOME, B_COMMAND_KEY, message, this);
Window()->AddShortcut(B_END, B_COMMAND_KEY, message, this);
Window()->AddShortcut(B_HOME, B_COMMAND_KEY | B_SHIFT_KEY,
Window()->AddShortcut(B_END, B_COMMAND_KEY | B_SHIFT_KEY,
AddShortcut(key, modifiers, message, this);
AddShortcut('W', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
AddShortcut('X', B_COMMAND_KEY, new BMessage(B_CUT), NULL);
AddShortcut('C', B_COMMAND_KEY, new BMessage(B_COPY), NULL);
AddShortcut('V', B_COMMAND_KEY, new BMessage(B_PASTE), NULL);
AddShortcut('A', B_COMMAND_KEY, new BMessage(B_SELECT_ALL), NULL);
AddShortcut('M', B_COMMAND_KEY | B_CONTROL_KEY,
AddShortcut('Z', B_COMMAND_KEY | B_CONTROL_KEY,
AddShortcut('Z', B_SHIFT_KEY | B_COMMAND_KEY | B_CONTROL_KEY,
AddShortcut('H', B_COMMAND_KEY | B_CONTROL_KEY,
AddShortcut('F', B_COMMAND_KEY | B_CONTROL_KEY,
AddShortcut('B', B_COMMAND_KEY | B_CONTROL_KEY,
AddShortcut('X', B_COMMAND_KEY | B_SHIFT_KEY,
AddShortcut('C', B_COMMAND_KEY | B_SHIFT_KEY,
AddShortcut('F', B_COMMAND_KEY, new BMessage(kFindButton), PoseView());
AddShortcut('N', B_COMMAND_KEY, new BMessage(kNewFolder), PoseView());
AddShortcut('O', B_COMMAND_KEY, new BMessage(kOpenSelection), PoseView());
AddShortcut('I', B_COMMAND_KEY, new BMessage(kGetInfo), PoseView());
AddShortcut('E', B_COMMAND_KEY, new BMessage(kEditName), PoseView());
AddShortcut('D', B_COMMAND_KEY, new BMessage(kDuplicateSelection), PoseView());
AddShortcut(B_DELETE, B_NO_COMMAND_KEY, new BMessage(kMoveSelectionToTrash), PoseView());
AddShortcut('K', B_COMMAND_KEY, new BMessage(kCleanup), PoseView());
AddShortcut('A', B_COMMAND_KEY, new BMessage(B_SELECT_ALL), PoseView());
AddShortcut('S', B_COMMAND_KEY, new BMessage(kInvertSelection), PoseView());
AddShortcut('A', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kShowSelectionWindow), PoseView());
AddShortcut('G', B_COMMAND_KEY, new BMessage(kEditQuery), PoseView());
AddShortcut('U', B_COMMAND_KEY, new BMessage(kUnmountVolume), PoseView());
AddShortcut(B_UP_ARROW, B_COMMAND_KEY, new BMessage(kOpenParentDir), PoseView());
AddShortcut('O', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage(kOpenSelectionWith), PoseView());
AddShortcut('-', B_COMMAND_KEY, decreaseSize, PoseView());
AddShortcut('+', B_COMMAND_KEY, increaseSize, PoseView());
AddShortcut(B_LEFT_ARROW, B_COMMAND_KEY,
AddShortcut(B_RIGHT_ARROW, B_COMMAND_KEY,
AddShortcut(B_UP_ARROW, B_COMMAND_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,
AddShortcut('L', B_COMMAND_KEY,
AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_OPTION_KEY,
AddShortcut(B_UP_ARROW, B_COMMAND_KEY,
AddShortcut(B_UP_ARROW, B_COMMAND_KEY | B_OPTION_KEY,
AddShortcut('Z', B_COMMAND_KEY, new BMessage(B_UNDO), this);
AddShortcut('Z', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(B_REDO), this);
AddShortcut(B_DELETE, B_NO_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kDeleteSelection),
AddShortcut('K', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kCleanupAll), PoseView());
AddShortcut('Q', B_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY | B_CONTROL_KEY,
AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY, new BMessage(kOpenSelection), PoseView());
AddShortcut('D', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage('dbug'),
AddShortcut('C', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage('dpcc'),
AddShortcut('F', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage('dpfl'),
AddShortcut('F', B_COMMAND_KEY | B_CONTROL_KEY | B_OPTION_KEY,
AddShortcut(key, B_COMMAND_KEY, increaseSize, PoseView());
window->AddShortcut(key, modifiers, runAddOn);
AddShortcut('1', B_COMMAND_KEY, message, PoseView());
AddShortcut('2', B_COMMAND_KEY, message, PoseView());
AddShortcut('+', B_COMMAND_KEY, message, PoseView());
AddShortcut('-', B_COMMAND_KEY, message, PoseView());
Window()->AddShortcut('D', B_COMMAND_KEY, new BMessage(kSwitchToDesktop));
Window()->AddShortcut('H', B_COMMAND_KEY, new BMessage(kSwitchToHome));
AddShortcut('D', B_COMMAND_KEY, new BMessage(kSwitchToDesktop));
AddShortcut('H', B_COMMAND_KEY, new BMessage(kSwitchToHome));
AddShortcut('W', B_COMMAND_KEY, new BMessage(kCancelButton));
AddShortcut('D', B_COMMAND_KEY, new BMessage(kSwitchToDesktop));
AddShortcut('H', B_COMMAND_KEY, new BMessage(kSwitchToHome));
AddShortcut(B_DELETE, B_NO_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kDeleteSelection),
AddShortcut(B_DELETE, B_NO_COMMAND_KEY, new BMessage(kMoveSelectionToTrash), PoseView());
AddShortcut('A', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kShowSelectionWindow));
AddShortcut('A', B_COMMAND_KEY, new BMessage(B_SELECT_ALL), this);
AddShortcut('S', B_COMMAND_KEY, new BMessage(kInvertSelection), PoseView());
AddShortcut('Y', B_COMMAND_KEY, new BMessage(kResizeToFit), PoseView());
AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY, new BMessage(kOpenDir));
AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_OPTION_KEY, new BMessage(kOpenDir));
AddShortcut(B_UP_ARROW, B_COMMAND_KEY, new BMessage(kOpenParentDir));
AddShortcut(B_UP_ARROW, B_COMMAND_KEY | B_OPTION_KEY, new BMessage(kOpenParentDir));
AddShortcut('I', B_COMMAND_KEY, new BMessage(kGetInfo), PoseView());
AddShortcut('Y', B_COMMAND_KEY, new BMessage(kResizeToFit), PoseView());
AddShortcut('E', 0, new BMessage(kEditName));
AddShortcut('O', 0, new BMessage(kOpenSelection));
AddShortcut('U', 0, new BMessage(kUnmountVolume));
AddShortcut('P', 0, new BMessage(kPermissionsSelected));
AddShortcut('i', 0, new BMessage(B_ABOUT_REQUESTED));
AddShortcut('W', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
AddShortcut('W',B_COMMAND_KEY,new BMessage(B_QUIT_REQUESTED));
AddShortcut('W', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
AddShortcut('W', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
AddShortcut('A', B_COMMAND_KEY, new BMessage(B_ABOUT_REQUESTED));
AddShortcut('a', 0, new BMessage(B_ABOUT_REQUESTED));
menu->AddShortcut('w', warm_reboot);
AddShortcut('f', B_COMMAND_KEY, new BMessage('full'));
AddShortcut('c', B_COMMAND_KEY, new BMessage(kMsgClone));