diff options
Diffstat (limited to 'views')
29 files changed, 99 insertions, 111 deletions
diff --git a/views/accelerator.h b/views/accelerator.h index 1848c98..bb8f91f 100644 --- a/views/accelerator.h +++ b/views/accelerator.h @@ -13,14 +13,13 @@ #include <string> -#include "base/keyboard_codes.h" #include "views/event.h" namespace views { class Accelerator { public: - Accelerator(base::KeyboardCode keycode, + Accelerator(int keycode, bool shift_pressed, bool ctrl_pressed, bool alt_pressed) : key_code_(keycode) { modifiers_ = 0; @@ -75,7 +74,7 @@ class Accelerator { return (modifiers_ & Event::EF_ALT_DOWN) == Event::EF_ALT_DOWN; } - base::KeyboardCode GetKeyCode() const { + int GetKeyCode() const { return key_code_; } @@ -84,7 +83,7 @@ class Accelerator { private: // The window keycode (VK_...). - base::KeyboardCode key_code_; + int key_code_; // The state of the Shift/Ctrl/Alt keys (see event.h). int modifiers_; diff --git a/views/controls/button/custom_button.cc b/views/controls/button/custom_button.cc index 348e527..e507d93 100644 --- a/views/controls/button/custom_button.cc +++ b/views/controls/button/custom_button.cc @@ -175,10 +175,10 @@ bool CustomButton::OnKeyPressed(const KeyEvent& e) { // Space sets button state to pushed. Enter clicks the button. This matches // the Windows native behavior of buttons, where Space clicks the button // on KeyRelease and Enter clicks the button on KeyPressed. - if (e.GetKeyCode() == base::VKEY_SPACE) { + if (e.GetCharacter() == base::VKEY_SPACE) { SetState(BS_PUSHED); return true; - } else if (e.GetKeyCode() == base::VKEY_RETURN) { + } else if (e.GetCharacter() == base::VKEY_RETURN) { SetState(BS_NORMAL); NotifyClick(e); return true; @@ -189,7 +189,7 @@ bool CustomButton::OnKeyPressed(const KeyEvent& e) { bool CustomButton::OnKeyReleased(const KeyEvent& e) { if (state_ != BS_DISABLED) { - if (e.GetKeyCode() == base::VKEY_SPACE) { + if (e.GetCharacter() == base::VKEY_SPACE) { SetState(BS_NORMAL); NotifyClick(e); return true; diff --git a/views/controls/button/menu_button.cc b/views/controls/button/menu_button.cc index 5b353f3..25a415d 100644 --- a/views/controls/button/menu_button.cc +++ b/views/controls/button/menu_button.cc @@ -214,8 +214,7 @@ void MenuButton::OnMouseReleased(const MouseEvent& e, // When the space bar or the enter key is pressed we need to show the menu. bool MenuButton::OnKeyReleased(const KeyEvent& e) { #if defined(OS_WIN) - if ((e.GetKeyCode() == base::VKEY_SPACE) || - (e.GetKeyCode() == base::VKEY_RETURN)) { + if ((e.GetCharacter() == VK_SPACE) || (e.GetCharacter() == VK_RETURN)) { return Activate(); } #else diff --git a/views/controls/button/native_button.cc b/views/controls/button/native_button.cc index 811fb56..e36719c 100644 --- a/views/controls/button/native_button.cc +++ b/views/controls/button/native_button.cc @@ -10,7 +10,6 @@ #endif #include "app/l10n_util.h" -#include "base/keyboard_codes.h" #include "base/logging.h" namespace views { @@ -74,12 +73,17 @@ void NativeButton::SetLabel(const std::wstring& label) { } void NativeButton::SetIsDefault(bool is_default) { +#if defined(OS_WIN) + int return_code = VK_RETURN; +#else + int return_code = GDK_Return; +#endif if (is_default == is_default_) return; if (is_default) - AddAccelerator(Accelerator(base::VKEY_RETURN, false, false, false)); + AddAccelerator(Accelerator(return_code, false, false, false)); else - RemoveAccelerator(Accelerator(base::VKEY_RETURN, false, false, false)); + RemoveAccelerator(Accelerator(return_code, false, false, false)); SetAppearsAsDefault(is_default); } diff --git a/views/controls/combobox/combobox.cc b/views/controls/combobox/combobox.cc index e184dcb..5c5596f 100644 --- a/views/controls/combobox/combobox.cc +++ b/views/controls/combobox/combobox.cc @@ -69,10 +69,10 @@ void Combobox::SetEnabled(bool flag) { native_wrapper_->UpdateEnabled(); } -// VKEY_ESCAPE should be handled by this view when the drop down list is active. +// VK_ESCAPE should be handled by this view when the drop down list is active. // In other words, the list should be closed instead of the dialog. bool Combobox::SkipDefaultKeyEventProcessing(const KeyEvent& e) { - if (e.GetKeyCode() != base::VKEY_ESCAPE || + if (e.GetCharacter() != base::VKEY_ESCAPE || e.IsShiftDown() || e.IsControlDown() || e.IsAltDown()) { return false; } diff --git a/views/controls/link.cc b/views/controls/link.cc index 6619568..f2887e0 100644 --- a/views/controls/link.cc +++ b/views/controls/link.cc @@ -10,7 +10,6 @@ #include "app/gfx/color_utils.h" #include "app/gfx/font.h" -#include "base/keyboard_codes.h" #include "base/logging.h" #include "views/event.h" @@ -124,8 +123,8 @@ void Link::OnMouseReleased(const MouseEvent& e, bool canceled) { bool Link::OnKeyPressed(const KeyEvent& e) { #if defined(OS_WIN) - bool activate = ((e.GetKeyCode() == base::VKEY_SPACE) || - (e.GetKeyCode() == base::VKEY_RETURN)); + bool activate = ((e.GetCharacter() == VK_SPACE) || + (e.GetCharacter() == VK_RETURN)); #else bool activate = false; NOTIMPLEMENTED(); @@ -147,8 +146,7 @@ bool Link::OnKeyPressed(const KeyEvent& e) { bool Link::SkipDefaultKeyEventProcessing(const KeyEvent& e) { #if defined(OS_WIN) // Make sure we don't process space or enter as accelerators. - return (e.GetKeyCode() == base::VKEY_SPACE) || - (e.GetKeyCode() == base::VKEY_RETURN); + return (e.GetCharacter() == VK_SPACE) || (e.GetCharacter() == VK_RETURN); #else NOTIMPLEMENTED(); return false; diff --git a/views/controls/menu/menu_win.cc b/views/controls/menu/menu_win.cc index 852304f..68cc8ff 100644 --- a/views/controls/menu/menu_win.cc +++ b/views/controls/menu/menu_win.cc @@ -11,7 +11,6 @@ #include "app/l10n_util.h" #include "app/l10n_util_win.h" #include "base/gfx/rect.h" -#include "base/keyboard_codes.h" #include "base/logging.h" #include "base/stl_util-inl.h" #include "base/string_util.h" @@ -442,7 +441,7 @@ void MenuWin::AddMenuItemInternal(int index, delegate()->GetLabel(item_id) : label); // Find out if there is a shortcut we need to append to the label. - views::Accelerator accelerator(base::VKEY_UNKNOWN, false, false, false); + views::Accelerator accelerator(0, false, false, false); if (delegate() && delegate()->GetAcceleratorInfo(item_id, &accelerator)) { actual_label += L'\t'; actual_label += accelerator.GetShortcutText(); diff --git a/views/controls/menu/native_menu_win.cc b/views/controls/menu/native_menu_win.cc index 0af8a9af..f078d71 100644 --- a/views/controls/menu/native_menu_win.cc +++ b/views/controls/menu/native_menu_win.cc @@ -8,7 +8,6 @@ #include "app/gfx/font.h" #include "app/l10n_util.h" #include "app/l10n_util_win.h" -#include "base/keyboard_codes.h" #include "base/logging.h" #include "base/stl_util-inl.h" #include "third_party/skia/include/core/SkBitmap.h" @@ -459,7 +458,7 @@ void NativeMenuWin::UpdateMenuItemInfoForString( Menu2Model::ItemType type = model_->GetTypeAt(model_index); if (type != Menu2Model::TYPE_SUBMENU) { // Add accelerator details to the label if provided. - views::Accelerator accelerator(base::VKEY_UNKNOWN, false, false, false); + views::Accelerator accelerator(0, false, false, false); if (model_->GetAcceleratorAt(model_index, &accelerator)) { formatted += L"\t"; formatted += accelerator.GetShortcutText(); diff --git a/views/controls/native_control.cc b/views/controls/native_control.cc index 700da66..0c89664 100644 --- a/views/controls/native_control.cc +++ b/views/controls/native_control.cc @@ -11,7 +11,6 @@ #include <atlmisc.h> #include "app/l10n_util_win.h" -#include "base/keyboard_codes.h" #include "base/logging.h" #include "base/win_util.h" #include "views/background.h" @@ -364,8 +363,8 @@ LRESULT CALLBACK NativeControl::NativeControlWndProc(HWND window, UINT message, DCHECK(native_control); if (message == WM_KEYDOWN && - native_control->OnKeyDown(win_util::WinToKeyboardCode(w_param))) { - return 0; + native_control->OnKeyDown(static_cast<int>(w_param))) { + return 0; } else if (message == WM_SETFOCUS) { // Let the focus manager know that the focus changed. FocusManager* focus_manager = native_control->GetFocusManager(); diff --git a/views/controls/native_control.h b/views/controls/native_control.h index ed565e6..972ef36 100644 --- a/views/controls/native_control.h +++ b/views/controls/native_control.h @@ -7,7 +7,6 @@ #include <windows.h> -#include "base/keyboard_codes.h" #include "views/view.h" namespace views { @@ -80,7 +79,7 @@ class NativeControl : public View { // Invoked when a key is pressed on the control. // Should return true if the key message was processed, false otherwise. - virtual bool OnKeyDown(base::KeyboardCode virtual_key_code) { return false; } + virtual bool OnKeyDown(int virtual_key_code) { return false; } // Returns additional extended style flags. When subclasses call // CreateWindowEx in order to create the underlying control, they must OR the diff --git a/views/controls/scrollbar/bitmap_scroll_bar.cc b/views/controls/scrollbar/bitmap_scroll_bar.cc index 98a95ff..b04e0b0 100644 --- a/views/controls/scrollbar/bitmap_scroll_bar.cc +++ b/views/controls/scrollbar/bitmap_scroll_bar.cc @@ -11,7 +11,6 @@ #include "app/gfx/canvas.h" #include "app/l10n_util.h" #include "base/compiler_specific.h" -#include "base/keyboard_codes.h" #include "base/message_loop.h" #include "grit/app_strings.h" #include "third_party/skia/include/core/SkBitmap.h" @@ -495,33 +494,33 @@ bool BitmapScrollBar::OnMouseWheel(const MouseWheelEvent& event) { bool BitmapScrollBar::OnKeyPressed(const KeyEvent& event) { ScrollAmount amount = SCROLL_NONE; - switch (event.GetKeyCode()) { - case base::VKEY_UP: + switch (event.GetCharacter()) { + case VK_UP: if (!IsHorizontal()) amount = SCROLL_PREV_LINE; break; - case base::VKEY_DOWN: + case VK_DOWN: if (!IsHorizontal()) amount = SCROLL_NEXT_LINE; break; - case base::VKEY_LEFT: + case VK_LEFT: if (IsHorizontal()) amount = SCROLL_PREV_LINE; break; - case base::VKEY_RIGHT: + case VK_RIGHT: if (IsHorizontal()) amount = SCROLL_NEXT_LINE; break; - case base::VKEY_PRIOR: + case VK_PRIOR: amount = SCROLL_PREV_PAGE; break; - case base::VKEY_NEXT: + case VK_NEXT: amount = SCROLL_NEXT_PAGE; break; - case base::VKEY_HOME: + case VK_HOME: amount = SCROLL_START; break; - case base::VKEY_END: + case VK_END: amount = SCROLL_END; break; } diff --git a/views/controls/scrollbar/native_scroll_bar_win.cc b/views/controls/scrollbar/native_scroll_bar_win.cc index 00b3b8c..b15be33 100644 --- a/views/controls/scrollbar/native_scroll_bar_win.cc +++ b/views/controls/scrollbar/native_scroll_bar_win.cc @@ -7,7 +7,6 @@ #include <algorithm> #include <string> -#include "base/keyboard_codes.h" #include "base/message_loop.h" #include "base/window_impl.h" #include "views/controls/scrollbar/native_scroll_bar.h" @@ -230,32 +229,32 @@ bool NativeScrollBarWin::OnKeyPressed(const KeyEvent& event) { if (!sb_container_) return false; int code = -1; - switch (event.GetKeyCode()) { - case base::VKEY_UP: + switch (event.GetCharacter()) { + case VK_UP: if (!native_scroll_bar_->IsHorizontal()) code = SB_LINEUP; break; - case base::VKEY_PRIOR: + case VK_PRIOR: code = SB_PAGEUP; break; - case base::VKEY_NEXT: + case VK_NEXT: code = SB_PAGEDOWN; break; - case base::VKEY_DOWN: + case VK_DOWN: if (!native_scroll_bar_->IsHorizontal()) code = SB_LINEDOWN; break; - case base::VKEY_HOME: + case VK_HOME: code = SB_TOP; break; - case base::VKEY_END: + case VK_END: code = SB_BOTTOM; break; - case base::VKEY_LEFT: + case VK_LEFT: if (native_scroll_bar_->IsHorizontal()) code = SB_LINELEFT; break; - case base::VKEY_RIGHT: + case VK_RIGHT: if (native_scroll_bar_->IsHorizontal()) code = SB_LINERIGHT; break; diff --git a/views/controls/table/group_table_view.cc b/views/controls/table/group_table_view.cc index a70515d..5f26756 100644 --- a/views/controls/table/group_table_view.cc +++ b/views/controls/table/group_table_view.cc @@ -61,7 +61,7 @@ void GroupTableView::SyncSelection() { } } -bool GroupTableView::OnKeyDown(base::KeyboardCode virtual_keycode) { +void GroupTableView::OnKeyDown(unsigned short virtual_keycode) { // In a list view, multiple items can be selected but only one item has the // focus. This creates a problem when the arrow keys are used for navigating // between items in the list view. An example will make this more clear: @@ -87,9 +87,9 @@ bool GroupTableView::OnKeyDown(base::KeyboardCode virtual_keycode) { // detect that one of the arrow keys is pressed. Thus, when it comes time // for the list view control to actually switch the focus, the right item // will be selected. - if ((virtual_keycode != base::VKEY_UP) && - (virtual_keycode != base::VKEY_DOWN)) { - return TableView::OnKeyDown(virtual_keycode); + if ((virtual_keycode != VK_UP) && (virtual_keycode != VK_DOWN)) { + TableView::OnKeyDown(virtual_keycode); + return; } // We start by finding the index of the item with the focus. If no item @@ -102,28 +102,27 @@ bool GroupTableView::OnKeyDown(base::KeyboardCode virtual_keycode) { } } - if (focused_index == row_count) - return false; - + if (focused_index == row_count) { + return; + } DCHECK_LT(focused_index, row_count); // Nothing to do if the item which has the focus is not part of a group. GroupRange group_range; model_->GetGroupRangeForItem(focused_index, &group_range); - if (group_range.length == 1) - return false; + if (group_range.length == 1) { + return; + } // If the user pressed the UP key, then the focus should be set to the // topmost element in the group. If the user pressed the DOWN key, the focus // should be set to the bottommost element. - if (virtual_keycode == base::VKEY_UP) { + if (virtual_keycode == VK_UP) { SetFocusOnItem(group_range.start); } else { - DCHECK_EQ(virtual_keycode, base::VKEY_DOWN); + DCHECK_EQ(virtual_keycode, VK_DOWN); SetFocusOnItem(group_range.start + group_range.length - 1); } - - return false; } void GroupTableView::PrepareForSort() { diff --git a/views/controls/table/group_table_view.h b/views/controls/table/group_table_view.h index b137083..640776e 100644 --- a/views/controls/table/group_table_view.h +++ b/views/controls/table/group_table_view.h @@ -55,7 +55,7 @@ class GroupTableView : public TableView { // keys), we must take action when an arrow key is pressed. The reason we // need to process this message has to do with the manner in which the focus // needs to be set on a group item when a group is selected. - virtual bool OnKeyDown(base::KeyboardCode virtual_keycode); + virtual void OnKeyDown(unsigned short virtual_keycode); // Overriden to make sure rows in the same group stay grouped together. virtual int CompareRows(int model_row1, int model_row2); diff --git a/views/controls/table/table_view.cc b/views/controls/table/table_view.cc index 114019f..303d458 100644 --- a/views/controls/table/table_view.cc +++ b/views/controls/table/table_view.cc @@ -1057,6 +1057,15 @@ LRESULT TableView::OnNotify(int w_param, LPNMHDR hdr) { OnDoubleClick(); break; + // If we see a key down message, we need to invoke the OnKeyDown handler + // in order to give our class (or any subclass) and opportunity to perform + // a key down triggered action, if such action is necessary. + case LVN_KEYDOWN: { + NMLVKEYDOWN* key_down_message = reinterpret_cast<NMLVKEYDOWN*>(hdr); + OnKeyDown(key_down_message->wVKey); + break; + } + case LVN_COLUMNCLICK: { const TableColumn& column = GetColumnAtPosition( reinterpret_cast<NMLISTVIEW*>(hdr)->iSubItem); @@ -1450,11 +1459,10 @@ void TableView::OnSelectedStateChanged() { } } -bool TableView::OnKeyDown(base::KeyboardCode virtual_keycode) { +void TableView::OnKeyDown(unsigned short virtual_keycode) { if (!ignore_listview_change_ && table_view_observer_) { table_view_observer_->OnKeyDown(virtual_keycode); } - return false; // Let the key event be processed as ususal. } void TableView::OnCheckedStateChanged(int model_row, bool is_checked) { diff --git a/views/controls/table/table_view.h b/views/controls/table/table_view.h index a1cce45d..b8bda67 100644 --- a/views/controls/table/table_view.h +++ b/views/controls/table/table_view.h @@ -16,7 +16,6 @@ typedef struct tagNMLVCUSTOMDRAW NMLVCUSTOMDRAW; #include <vector> #include "app/table_model_observer.h" -#include "base/keyboard_codes.h" #include "third_party/skia/include/core/SkColor.h" #if defined(OS_WIN) // TODO(port): remove the ifdef when native_control.h is ported. @@ -251,8 +250,9 @@ class TableView : public NativeControl, // Notification from the ListView that the user middle clicked the table. virtual void OnMiddleClick(); - // Overridden from NativeControl. Notifies the observer. - virtual bool OnKeyDown(base::KeyboardCode virtual_keycode); + // Subclasses can implement this method if they need to be notified of a key + // press event. Other wise, it appeals to table_view_observer_ + virtual void OnKeyDown(unsigned short virtual_keycode); // Invoked to customize the colors or font at a particular cell. If you // change the colors or font, return true. This is only invoked if diff --git a/views/controls/table/table_view_observer.h b/views/controls/table/table_view_observer.h index 6b8bef2..c88cb21 100644 --- a/views/controls/table/table_view_observer.h +++ b/views/controls/table/table_view_observer.h @@ -24,7 +24,7 @@ class TableViewObserver { virtual void OnMiddleClick() {} // Optional method invoked when the user hits a key with the table in focus. - virtual void OnKeyDown(base::KeyboardCode virtual_keycode) {} + virtual void OnKeyDown(unsigned short virtual_keycode) {} // Invoked when the user presses the delete key. virtual void OnTableViewDelete(TableView* table_view) {} diff --git a/views/controls/textfield/native_textfield_win.cc b/views/controls/textfield/native_textfield_win.cc index d027156..1872492 100644 --- a/views/controls/textfield/native_textfield_win.cc +++ b/views/controls/textfield/native_textfield_win.cc @@ -9,7 +9,6 @@ #include "app/win_util.h" #include "base/clipboard.h" #include "base/gfx/native_theme.h" -#include "base/keyboard_codes.h" #include "base/scoped_clipboard_writer.h" #include "base/string_util.h" #include "base/win_util.h" @@ -253,13 +252,13 @@ bool NativeTextfieldWin::GetAcceleratorForCommandId(int command_id, // anywhere so we need to check for them explicitly here. switch (command_id) { case IDS_APP_CUT: - *accelerator = views::Accelerator(base::VKEY_X, false, true, false); + *accelerator = views::Accelerator(L'X', false, true, false); return true; case IDS_APP_COPY: - *accelerator = views::Accelerator(base::VKEY_C, false, true, false); + *accelerator = views::Accelerator(L'C', false, true, false); return true; case IDS_APP_PASTE: - *accelerator = views::Accelerator(base::VKEY_V, false, true, false); + *accelerator = views::Accelerator(L'V', false, true, false); return true; } return container_view_->GetWidget()->GetAccelerator(command_id, accelerator); diff --git a/views/controls/textfield/textfield.cc b/views/controls/textfield/textfield.cc index bf12e42..368e7fd 100644 --- a/views/controls/textfield/textfield.cc +++ b/views/controls/textfield/textfield.cc @@ -14,7 +14,6 @@ #include "base/win_util.h" #endif -#include "base/keyboard_codes.h" #include "base/string_util.h" #include "views/controls/textfield/native_textfield_wrapper.h" #include "views/widget/widget.h" @@ -222,14 +221,14 @@ bool Textfield::SkipDefaultKeyEventProcessing(const KeyEvent& e) { #if defined(OS_WIN) // TODO(hamaji): Figure out which keyboard combinations we need to add here, // similar to LocationBarView::SkipDefaultKeyEventProcessing. - base::KeyboardCode key = e.GetKeyCode(); - if (key == base::VKEY_BACK) + const int c = e.GetCharacter(); + if (c == VK_BACK) return true; // We'll handle BackSpace ourselves. // We don't translate accelerators for ALT + NumPad digit, they are used for // entering special characters. We do translate alt-home. - if (e.IsAltDown() && (key != base::VKEY_HOME) && - win_util::IsNumPadDigit(key, e.IsExtendedKey())) + if (e.IsAltDown() && (c != VK_HOME) && + win_util::IsNumPadDigit(c, e.IsExtendedKey())) return true; #endif return false; diff --git a/views/controls/tree/tree_view.cc b/views/controls/tree/tree_view.cc index c84ef8b..196e773 100644 --- a/views/controls/tree/tree_view.cc +++ b/views/controls/tree/tree_view.cc @@ -12,7 +12,6 @@ #include "app/l10n_util_win.h" #include "app/resource_bundle.h" #include "base/gfx/point.h" -#include "base/keyboard_codes.h" #include "base/stl_util-inl.h" #include "base/win_util.h" #include "grit/app_resources.h" @@ -460,7 +459,7 @@ LRESULT TreeView::OnNotify(int w_param, LPNMHDR l_param) { return 0; } -bool TreeView::OnKeyDown(base::KeyboardCode virtual_key_code) { +bool TreeView::OnKeyDown(int virtual_key_code) { if (virtual_key_code == VK_F2) { if (!GetEditingNode()) { TreeModelNode* selected_node = GetSelectedNode(); @@ -468,10 +467,10 @@ bool TreeView::OnKeyDown(base::KeyboardCode virtual_key_code) { StartEditing(selected_node); } return true; - } else if (virtual_key_code == base::VKEY_RETURN && !process_enter_) { + } else if (virtual_key_code == VK_RETURN && !process_enter_) { Widget* widget = GetWidget(); DCHECK(widget); - Accelerator accelerator(Accelerator(virtual_key_code, + Accelerator accelerator(Accelerator(static_cast<int>(virtual_key_code), win_util::IsShiftPressed(), win_util::IsCtrlPressed(), win_util::IsAltPressed())); diff --git a/views/controls/tree/tree_view.h b/views/controls/tree/tree_view.h index 0011835..72667bf 100644 --- a/views/controls/tree/tree_view.h +++ b/views/controls/tree/tree_view.h @@ -12,7 +12,6 @@ #include "app/tree_model.h" #include "base/basictypes.h" -#include "base/keyboard_codes.h" #include "base/logging.h" #include "views/controls/native_control.h" @@ -160,7 +159,7 @@ class TreeView : public NativeControl, TreeModelObserver { // We pay attention to key down for two reasons: to circumvent VK_ENTER from // toggling the expaned state when processes_enter_ is false, and to have F2 // start editting. - virtual bool OnKeyDown(base::KeyboardCode virtual_key_code); + virtual bool OnKeyDown(int virtual_key_code); virtual void OnContextMenu(const POINT& location); diff --git a/views/event.h b/views/event.h index 138327d..5a6efd9 100644 --- a/views/event.h +++ b/views/event.h @@ -7,7 +7,6 @@ #include "base/basictypes.h" #include "base/gfx/point.h" -#include "base/keyboard_codes.h" #if defined(OS_LINUX) typedef struct _GdkEventKey GdkEventKey; @@ -243,10 +242,7 @@ class KeyEvent : public Event { public: #if defined(OS_WIN) // Create a new key event - KeyEvent(EventType type, - base::KeyboardCode key_code, - int repeat_count, - int message_flags); + KeyEvent(EventType type, int ch, int repeat_count, int message_flags); #elif defined(OS_LINUX) explicit KeyEvent(GdkEventKey* event); #endif @@ -255,8 +251,8 @@ class KeyEvent : public Event { // the Windows value. // On GTK, you can use the methods in keyboard_code_conversion_gtk.cc to // convert this value back to a GDK value if needed. - base::KeyboardCode GetKeyCode() const { - return key_code_; + int GetCharacter() const { + return character_; } #if defined(OS_WIN) @@ -272,7 +268,7 @@ class KeyEvent : public Event { int GetKeyStateFlags() const; #endif - base::KeyboardCode key_code_; + int character_; int repeat_count_; int message_flags_; diff --git a/views/event_gtk.cc b/views/event_gtk.cc index c5970b7..71fd056 100644 --- a/views/event_gtk.cc +++ b/views/event_gtk.cc @@ -18,7 +18,7 @@ KeyEvent::KeyEvent(GdkEventKey* event) Event::ET_KEY_PRESSED : Event::ET_KEY_RELEASED, GetFlagsFromGdkState(event->state)), // TODO(erg): All these values are iffy. - key_code_(base::WindowsKeyCodeForGdkKeyCode(event->keyval)), + character_(base::WindowsKeyCodeForGdkKeyCode(event->keyval)), repeat_count_(0), message_flags_(0) { } diff --git a/views/event_win.cc b/views/event_win.cc index da6457e..28d1330 100644 --- a/views/event_win.cc +++ b/views/event_win.cc @@ -37,13 +37,12 @@ int Event::ConvertWindowsFlags(UINT win_flags) { return r; } -KeyEvent::KeyEvent(EventType type, base::KeyboardCode key_code, - int repeat_count, int message_flags) +KeyEvent::KeyEvent(EventType type, int ch, int repeat_count, int message_flags) : Event(type, GetKeyStateFlags()), - key_code_(key_code), + character_(ch), repeat_count_(repeat_count), message_flags_(message_flags) { -} + } int KeyEvent::GetKeyStateFlags() const { // Windows Keyboard messages don't come with control key state as parameters diff --git a/views/focus/accelerator_handler_win.cc b/views/focus/accelerator_handler_win.cc index 8363928..eb8bfb9 100644 --- a/views/focus/accelerator_handler_win.cc +++ b/views/focus/accelerator_handler_win.cc @@ -4,8 +4,6 @@ #include "views/focus/accelerator_handler.h" -#include "base/keyboard_codes.h" -#include "base/win_util.h" #include "views/event.h" #include "views/focus/focus_manager.h" @@ -25,7 +23,7 @@ bool AcceleratorHandler::Dispatch(const MSG& msg) { case WM_KEYDOWN: case WM_SYSKEYDOWN: { KeyEvent event(Event::ET_KEY_PRESSED, - win_util::WinToKeyboardCode(msg.wParam), + msg.wParam, msg.lParam & 0xFFFF, (msg.lParam & 0xFFFF0000) >> 16); process_message = focus_manager->OnKeyEvent(event); diff --git a/views/focus/focus_manager.cc b/views/focus/focus_manager.cc index aca418b..dffb392 100644 --- a/views/focus/focus_manager.cc +++ b/views/focus/focus_manager.cc @@ -63,7 +63,7 @@ bool FocusManager::OnKeyEvent(const KeyEvent& event) { #endif // Intercept arrow key messages to switch between grouped views. - base::KeyboardCode key_code = event.GetKeyCode(); + int key_code = event.GetCharacter(); if (focused_view_ && focused_view_->GetGroup() != -1 && (key_code == base::VKEY_UP || key_code == base::VKEY_DOWN || key_code == base::VKEY_LEFT || key_code == base::VKEY_RIGHT)) { @@ -89,7 +89,7 @@ bool FocusManager::OnKeyEvent(const KeyEvent& event) { // Process keyboard accelerators. // If the key combination matches an accelerator, the accelerator is // triggered, otherwise the key event is proceed as usual. - Accelerator accelerator(event.GetKeyCode(), + Accelerator accelerator(event.GetCharacter(), event.IsShiftDown(), event.IsControlDown(), event.IsAltDown()); @@ -405,7 +405,7 @@ AcceleratorTarget* FocusManager::GetCurrentTargetForAccelerator( // static bool FocusManager::IsTabTraversalKeyEvent(const KeyEvent& key_event) { - return key_event.GetKeyCode() == base::VKEY_TAB && + return key_event.GetCharacter() == base::VKEY_TAB && !key_event.IsControlDown(); } diff --git a/views/view_unittest.cc b/views/view_unittest.cc index b15b101..bad592b 100644 --- a/views/view_unittest.cc +++ b/views/view_unittest.cc @@ -817,7 +817,7 @@ bool TestView::AcceleratorPressed(const Accelerator& accelerator) { #if defined(OS_WIN) TEST_F(ViewTest, ActivateAccelerator) { // Register a keyboard accelerator before the view is added to a window. - views::Accelerator return_accelerator(base::VKEY_RETURN, false, false, false); + views::Accelerator return_accelerator(VK_RETURN, false, false, false); TestView* view = new TestView(); view->Reset(); view->AddAccelerator(return_accelerator); @@ -841,7 +841,7 @@ TEST_F(ViewTest, ActivateAccelerator) { EXPECT_EQ(view->accelerator_count_map_[return_accelerator], 1); // Hit the escape key. Nothing should happen. - views::Accelerator escape_accelerator(base::VKEY_ESCAPE, false, false, false); + views::Accelerator escape_accelerator(VK_ESCAPE, false, false, false); EXPECT_FALSE(focus_manager->ProcessAccelerator(escape_accelerator)); EXPECT_EQ(view->accelerator_count_map_[return_accelerator], 1); EXPECT_EQ(view->accelerator_count_map_[escape_accelerator], 0); @@ -1097,7 +1097,7 @@ class DefaultButtonTest : public ViewTest { void SimularePressingEnterAndCheckDefaultButton(ButtonID button_id) { #if defined(OS_WIN) - KeyEvent event(Event::ET_KEY_PRESSED, base::VKEY_RETURN, 0, 0); + KeyEvent event(Event::ET_KEY_PRESSED, VK_RETURN, 0, 0); focus_manager_->OnKeyEvent(event); #else // TODO(platform) diff --git a/views/widget/root_view.cc b/views/widget/root_view.cc index 09c1909..8baca07 100644 --- a/views/widget/root_view.cc +++ b/views/widget/root_view.cc @@ -782,8 +782,8 @@ bool RootView::ProcessKeyEvent(const KeyEvent& event) { View* v = GetFocusedView(); // Special case to handle right-click context menus triggered by the // keyboard. - if (v && v->IsEnabled() && ((event.GetKeyCode() == base::VKEY_APPS) || - (event.GetKeyCode() == base::VKEY_F10 && event.IsShiftDown()))) { + if (v && v->IsEnabled() && ((event.GetCharacter() == base::VKEY_APPS) || + (event.GetCharacter() == base::VKEY_F10 && event.IsShiftDown()))) { gfx::Point screen_loc = v->GetKeyboardContextMenuLocation(); v->ShowContextMenu(screen_loc.x(), screen_loc.y(), false); return true; diff --git a/views/widget/widget_win.cc b/views/widget/widget_win.cc index 02f6115..13df3ad 100644 --- a/views/widget/widget_win.cc +++ b/views/widget/widget_win.cc @@ -496,14 +496,12 @@ LRESULT WidgetWin::OnGetObject(UINT uMsg, WPARAM w_param, LPARAM l_param) { } void WidgetWin::OnKeyDown(TCHAR c, UINT rep_cnt, UINT flags) { - KeyEvent event(Event::ET_KEY_PRESSED, - win_util::WinToKeyboardCode(c), rep_cnt, flags); + KeyEvent event(Event::ET_KEY_PRESSED, c, rep_cnt, flags); SetMsgHandled(root_view_->ProcessKeyEvent(event)); } void WidgetWin::OnKeyUp(TCHAR c, UINT rep_cnt, UINT flags) { - KeyEvent event(Event::ET_KEY_RELEASED, - win_util::WinToKeyboardCode(c), rep_cnt, flags); + KeyEvent event(Event::ET_KEY_RELEASED, c, rep_cnt, flags); SetMsgHandled(root_view_->ProcessKeyEvent(event)); } |