Index: chrome/browser/chromeos/system_key_event_listener.cc |
diff --git a/chrome/browser/chromeos/system_key_event_listener.cc b/chrome/browser/chromeos/system_key_event_listener.cc |
index 2ea3c86e2b480363d0e1d1cca564aec3bfca1487..6fe5279f28028f2b3b12c16514f05acb225f9a75 100644 |
--- a/chrome/browser/chromeos/system_key_event_listener.cc |
+++ b/chrome/browser/chromeos/system_key_event_listener.cc |
@@ -4,9 +4,9 @@ |
#include "chrome/browser/chromeos/system_key_event_listener.h" |
-#if defined(TOOLKIT_USES_GTK) |
-#include <gdk/gdkx.h> |
-#endif |
+// TODO(saintlou): should we handle this define in gyp even if only used once? |
+#define XK_MISCELLANY 1 |
+#include <X11/keysymdef.h> |
#include <X11/XF86keysym.h> |
#include <X11/XKBlib.h> |
@@ -21,6 +21,7 @@ |
#include "chrome/browser/chromeos/volume_bubble.h" |
#include "content/browser/user_metrics.h" |
#include "third_party/cros_system_api/window_manager/chromeos_wm_ipc_enums.h" |
+#include "ui/base/x/x11_util.h" |
#if defined(TOUCH_UI) || !defined(TOOLKIT_USES_GTK) |
#include "base/message_pump_x.h" |
@@ -68,19 +69,20 @@ SystemKeyEventListener::SystemKeyEventListener() |
: stopped_(false), |
caps_lock_is_on_(input_method::XKeyboard::CapsLockIsEnabled()), |
xkb_event_base_(0) { |
- key_brightness_down_ = XKeysymToKeycode(GDK_DISPLAY(), |
+ Display* display = ui::GetXDisplay(); |
+ key_brightness_down_ = XKeysymToKeycode(display, |
XF86XK_MonBrightnessDown); |
- key_brightness_up_ = XKeysymToKeycode(GDK_DISPLAY(), XF86XK_MonBrightnessUp); |
- key_volume_mute_ = XKeysymToKeycode(GDK_DISPLAY(), XF86XK_AudioMute); |
- key_volume_down_ = XKeysymToKeycode(GDK_DISPLAY(), XF86XK_AudioLowerVolume); |
- key_volume_up_ = XKeysymToKeycode(GDK_DISPLAY(), XF86XK_AudioRaiseVolume); |
- key_f6_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F6); |
- key_f7_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F7); |
- key_f8_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F8); |
- key_f9_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F9); |
- key_f10_ = XKeysymToKeycode(GDK_DISPLAY(), XK_F10); |
- key_left_shift_ = XKeysymToKeycode(GDK_DISPLAY(), XK_Shift_L); |
- key_right_shift_ = XKeysymToKeycode(GDK_DISPLAY(), XK_Shift_R); |
+ key_brightness_up_ = XKeysymToKeycode(display, XF86XK_MonBrightnessUp); |
+ key_volume_mute_ = XKeysymToKeycode(display, XF86XK_AudioMute); |
+ key_volume_down_ = XKeysymToKeycode(display, XF86XK_AudioLowerVolume); |
+ key_volume_up_ = XKeysymToKeycode(display, XF86XK_AudioRaiseVolume); |
+ key_f6_ = XKeysymToKeycode(display, XK_F6); |
+ key_f7_ = XKeysymToKeycode(display, XK_F7); |
+ key_f8_ = XKeysymToKeycode(display, XK_F8); |
+ key_f9_ = XKeysymToKeycode(display, XK_F9); |
+ key_f10_ = XKeysymToKeycode(display, XK_F10); |
+ key_left_shift_ = XKeysymToKeycode(display, XK_Shift_L); |
+ key_right_shift_ = XKeysymToKeycode(display, XK_Shift_R); |
if (key_brightness_down_) |
GrabKey(key_brightness_down_, 0); |
@@ -100,7 +102,7 @@ SystemKeyEventListener::SystemKeyEventListener() |
int xkb_major_version = XkbMajorVersion; |
int xkb_minor_version = XkbMinorVersion; |
- if (!XkbQueryExtension(GDK_DISPLAY(), |
+ if (!XkbQueryExtension(display, |
NULL, // opcode_return |
&xkb_event_base_, |
NULL, // error_return |
@@ -109,7 +111,7 @@ SystemKeyEventListener::SystemKeyEventListener() |
LOG(WARNING) << "Could not query Xkb extension"; |
} |
- if (!XkbSelectEvents(GDK_DISPLAY(), XkbUseCoreKbd, |
+ if (!XkbSelectEvents(display, XkbUseCoreKbd, |
XkbStateNotifyMask, |
XkbStateNotifyMask)) { |
LOG(WARNING) << "Could not install Xkb Indicator observer"; |
@@ -177,13 +179,14 @@ GdkFilterReturn SystemKeyEventListener::GdkEventFilter(GdkXEvent* gxevent, |
void SystemKeyEventListener::GrabKey(int32 key, uint32 mask) { |
uint32 num_lock_mask = Mod2Mask; |
uint32 caps_lock_mask = LockMask; |
- Window root = DefaultRootWindow(GDK_DISPLAY()); |
- XGrabKey(GDK_DISPLAY(), key, mask, root, True, GrabModeAsync, GrabModeAsync); |
- XGrabKey(GDK_DISPLAY(), key, mask | caps_lock_mask, root, True, |
+ Display* display = ui::GetXDisplay(); |
+ Window root = DefaultRootWindow(display); |
+ XGrabKey(display, key, mask, root, True, GrabModeAsync, GrabModeAsync); |
+ XGrabKey(display, key, mask | caps_lock_mask, root, True, |
GrabModeAsync, GrabModeAsync); |
- XGrabKey(GDK_DISPLAY(), key, mask | num_lock_mask, root, True, |
+ XGrabKey(display, key, mask | num_lock_mask, root, True, |
GrabModeAsync, GrabModeAsync); |
- XGrabKey(GDK_DISPLAY(), key, mask | caps_lock_mask | num_lock_mask, root, |
+ XGrabKey(display, key, mask | caps_lock_mask | num_lock_mask, root, |
True, GrabModeAsync, GrabModeAsync); |
} |