Chromium Code Reviews| Index: ui/events/x/events_x.cc |
| diff --git a/ui/events/x/events_x.cc b/ui/events/x/events_x.cc |
| index bf8b04ee58b0cde6d9036d3d5840b84869b8672a..07f903d1fc3722720edeaa4f1abc07c023865196 100644 |
| --- a/ui/events/x/events_x.cc |
| +++ b/ui/events/x/events_x.cc |
| @@ -137,6 +137,8 @@ int GetEventFlagsFromXState(unsigned int state) { |
| flags |= ui::EF_ALT_DOWN; |
| if (state & LockMask) |
| flags |= ui::EF_CAPS_LOCK_DOWN; |
| + if (state & Mod4Mask) |
| + flags |= ui::EF_COMMAND_DOWN; |
|
sadrul
2014/04/14 21:51:32
If we are going to use it here, we should update t
|
| if (state & Mod5Mask) |
| flags |= ui::EF_ALTGR_DOWN; |
| if (state & Button1Mask) |
| @@ -148,6 +150,12 @@ int GetEventFlagsFromXState(unsigned int state) { |
| return flags; |
| } |
| +int GetEventFlagsFromXKeyEvent(XEvent* xevent) |
|
sadrul
2014/04/14 21:51:32
{ in this line
|
| +{ |
| + return GetEventFlagsFromXState(xevent->xkey.state) | |
| + ui::EventFlagsFromXKeysym(XLookupKeysym(&xevent->xkey, 0)); |
|
sadrul
2014/04/14 21:51:32
If we use the macro from Xutil.h, then perhaps we
|
| +} |
| + |
| // Get the event flag for the button in XButtonEvent. During a ButtonPress |
| // event, |state| in XButtonEvent does not include the button that has just been |
| // pressed. Instead |state| contains flags for the buttons (if any) that had |
| @@ -328,7 +336,7 @@ int EventFlagsFromNative(const base::NativeEvent& native_event) { |
| case KeyPress: |
| case KeyRelease: { |
| XModifierStateWatcher::GetInstance()->UpdateStateFromEvent(native_event); |
| - return GetEventFlagsFromXState(native_event->xkey.state); |
| + return GetEventFlagsFromXKeyEvent(native_event); |
| } |
| case ButtonPress: |
| case ButtonRelease: { |