mirror of
https://github.com/brl/mutter.git
synced 2025-01-11 04:02:36 +00:00
input-settings-x11: Use xcb to change input settings
This way, we won't be hit with BadValue errors if we set it to a value outside the X device's range. This can happen for touchpads without two-finger scrolling, for instance.
This commit is contained in:
parent
daa15d94fd
commit
989f9630a4
@ -93,6 +93,7 @@ MUTTER_PC_MODULES="
|
|||||||
xrender
|
xrender
|
||||||
x11-xcb
|
x11-xcb
|
||||||
xcb-randr
|
xcb-randr
|
||||||
|
xcb-xinput
|
||||||
"
|
"
|
||||||
|
|
||||||
GLIB_GSETTINGS
|
GLIB_GSETTINGS
|
||||||
|
@ -30,7 +30,9 @@
|
|||||||
#include <gdk/gdkx.h>
|
#include <gdk/gdkx.h>
|
||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
#include <X11/extensions/XInput2.h>
|
#include <X11/extensions/XInput2.h>
|
||||||
|
#include <X11/Xlib-xcb.h>
|
||||||
#include <X11/XKBlib.h>
|
#include <X11/XKBlib.h>
|
||||||
|
#include <xcb/xinput.h>
|
||||||
|
|
||||||
#include <meta/errors.h>
|
#include <meta/errors.h>
|
||||||
|
|
||||||
@ -78,6 +80,7 @@ change_property (ClutterInputDevice *device,
|
|||||||
{
|
{
|
||||||
MetaBackend *backend = meta_get_backend ();
|
MetaBackend *backend = meta_get_backend ();
|
||||||
Display *xdisplay = meta_backend_x11_get_xdisplay (META_BACKEND_X11 (backend));
|
Display *xdisplay = meta_backend_x11_get_xdisplay (META_BACKEND_X11 (backend));
|
||||||
|
xcb_connection_t *xcb_conn = XGetXCBConnection (xdisplay);
|
||||||
int device_id;
|
int device_id;
|
||||||
Atom property_atom;
|
Atom property_atom;
|
||||||
guchar *data_ret;
|
guchar *data_ret;
|
||||||
@ -89,8 +92,9 @@ change_property (ClutterInputDevice *device,
|
|||||||
if (!data_ret)
|
if (!data_ret)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
XIChangeProperty (xdisplay, device_id, property_atom, type,
|
xcb_input_xi_change_property (xcb_conn, device_id, XCB_PROP_MODE_REPLACE,
|
||||||
format, XIPropModeReplace, data, nitems);
|
format, property_atom, type,
|
||||||
|
nitems, data);
|
||||||
meta_XFree (data_ret);
|
meta_XFree (data_ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user