diff options
author | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-25 00:04:35 +0000 |
---|---|---|
committer | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-25 00:04:35 +0000 |
commit | f56797b39e5ed58dec8f92ff922fc2dbdb3eca5d (patch) | |
tree | 835e130ee1e23d355462901312e76fdb3cad82f5 /base | |
parent | d8b4f1d484d98fd524863e5d9f1a925e92eec343 (diff) | |
download | chromium_src-f56797b39e5ed58dec8f92ff922fc2dbdb3eca5d.zip chromium_src-f56797b39e5ed58dec8f92ff922fc2dbdb3eca5d.tar.gz chromium_src-f56797b39e5ed58dec8f92ff922fc2dbdb3eca5d.tar.bz2 |
touchui: support XInput2 multitouch
Use XI2 multitouch events instead of mouse events as touch event input for touchui build.
Note: XI MT will be supported in X server 1.12 and XI2.2. Please use build switch "use_xi2_mt=<minor version number>" to specify the minimum XI2 minor version. It is useful to test on experimental XI2.1 with MT support (e.g. build with use_xi2_mt=1).
BUG=95150
TEST=(1) build with touchui=1 use_xi2_mt=1 (2) test on ubuntu 11.04 (X server 1.10 and XI2.1 with experimental MT support). (3) manually test if touch works on browser UI and JS touch events.
Review URL: http://codereview.chromium.org/7792094
Patch from Ningxin Hu <ningxin.hu@intel.com>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102668 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/message_pump_x.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/base/message_pump_x.cc b/base/message_pump_x.cc index f9a2b6f..33ca2d5 100644 --- a/base/message_pump_x.cc +++ b/base/message_pump_x.cc @@ -75,12 +75,25 @@ void InitializeXInput2(void) { return; } +#if defined(USE_XI2_MT) + // USE_XI2_MT also defines the required XI2 minor minimum version. + int major = 2, minor = USE_XI2_MT; +#else int major = 2, minor = 0; +#endif if (XIQueryVersion(display, &major, &minor) == BadRequest) { VLOG(1) << "XInput2 not supported in the server."; xiopcode = -1; return; } +#if defined(USE_XI2_MT) + if (major < 2 || (major == 2 && minor < USE_XI2_MT)) { + VLOG(1) << "XI version on server is " << major << "." << minor << ". " + << "But 2." << USE_XI2_MT << " is required."; + xiopcode = -1; + return; + } +#endif } } // namespace |