Carlos Garnacho
f512da8c47
display: Ignore events from slave devices
...
Mutter only handles master devices.
2012-11-03 19:47:36 -04:00
Carlos Garnacho
2b47bffbee
compositor: use meta_device_grab() for pointer/keyboard grabs
...
These happen invariably on the VCP/VCK pair.
2012-11-03 19:47:36 -04:00
Carlos Garnacho
8da5a01c92
screen: Use meta_device_pointer_set_window_cursor() for startup sequence.
...
At the moment feedback is only provided for the Virtual Core Pointer
2012-11-03 19:47:36 -04:00
Carlos Garnacho
25dc04440b
device-map: Add meta_device_map_list_devices()
...
This function returns a list of the devices currently handled by
the device map.
2012-11-03 19:47:36 -04:00
Carlos Garnacho
7138cc7ea4
core: Make frame handle per-pointer cursors.
2012-11-03 19:47:36 -04:00
Carlos Garnacho
04cbdb4e23
workspace: use triggering device to focus the default window on workspace switch
2012-11-03 19:47:36 -04:00
Carlos Garnacho
e138726ded
screen: make "monitor under pointer" logic work for several devices
2012-11-03 19:47:36 -04:00
Carlos Garnacho
84dfc98636
window: query the guessed pointer's modifiers on _NET_WM_MOVERESIZE
2012-11-03 19:47:36 -04:00
Carlos Garnacho
95247457ef
display: Use the grab pointer for delayed window raising
2012-11-03 19:47:35 -04:00
Carlos Garnacho
9b1b7b71e2
keybindings: use the right device for querying the modifier mask.
2012-11-03 19:47:35 -04:00
Carlos Garnacho
4facab385d
devices: make meta_device_pointer_query_position() return a boolean
...
like in XQueryPointer/XIQueryPointer, the return value tells whether
the pointer device is on the same screen than the passed window.
2012-11-03 19:47:35 -04:00
Jasper St. Pierre
cc6dba2113
display: Update mouse mode focus code for XI2
2012-11-03 19:47:35 -04:00
Carlos Garnacho
5f6f67fb4e
core: Make keyboard focus handling happen per-keyboard
...
MetaFocusInfo is a struct holding all necessary info, code has
been updated to use the per-keyboard focus info instead of the
old fields.
2012-11-03 19:47:35 -04:00
Carlos Garnacho
0d97e6adeb
core: Add meta_device_keyboard_[gs]et_focus_window()
...
These functions are meant to replace X[GS]etInputFocus() calls across
the core.
2012-11-03 19:47:35 -04:00
Carlos Garnacho
991fdeb9dd
display: Use meta_device_grab() for pointer active grabs.
2012-11-03 19:47:35 -04:00
Carlos Garnacho
df908e5256
keybindings: Use meta_device_grab() for keyboard active grabs
2012-11-03 19:47:35 -04:00
Carlos Garnacho
4b88c1c72a
window: Use meta_device_pointer_warp()
2012-11-03 19:47:35 -04:00
Carlos Garnacho
33d4732bde
core: Keep track of per pointer/keyboard grabs
...
There is now a MetaGrabInfo struct, holding all information about
an ongoing grab, there were unfortunately no means of making this
commit smaller, as things are too intertwined to separate it,
On places where it was most obvious, the correct device has been
used (in reaction to events, for example), in other parts, the
private API has been extended to include the MetaDevice (or device
ID for core.h functions), in other places, the virtual core
pointer/keyboard are used out of cluelessness.
2012-11-03 19:47:35 -04:00
Carlos Garnacho
2bbd82ba51
ui: Use input-events.h to translate XEvents to GdkEvents
...
This is the only use in the UI part of core functions not
exported via core.h, but this is sort of a hack within a hack,
and still better than doing the XInput2 vs core dance again.
2012-11-03 19:47:35 -04:00
Carlos Garnacho
13acafabe2
devices: Make MetaDevice/MetaDeviceMap partly public
...
MetaDevice is quite limited outside of the core, mostly useful
to represent a device, and get the paired one.
2012-11-03 19:47:34 -04:00
Carlos Garnacho
20537b9bb0
keybindings: Replace XGrabKey() with meta_device_map_grab_key()
2012-11-03 19:47:34 -04:00
Carlos Garnacho
373ef2e6f1
display: Replace XGrabButton with meta_device_map_grab_button()
2012-11-03 19:47:34 -04:00
Carlos Garnacho
93c7a22161
core: Add XInput2 device map implementation
2012-11-03 19:47:34 -04:00
Carlos Garnacho
9f06372e17
Replace XAllowEvents with meta_device_allow_events()
2012-11-03 19:37:53 -04:00
Carlos Garnacho
b3ecd268f6
Use meta_core_select_events() for input events
2012-11-03 19:37:52 -04:00
Carlos Garnacho
c32ee410e9
core: Add method to select events on a window
...
This function handles XInput2 vs core in input events.
2012-11-03 19:37:52 -04:00
Carlos Garnacho
3584f38d08
devices-xi2: Export function to translate event mask
2012-11-03 19:37:52 -04:00
Carlos Garnacho
712d2feb73
Add XInput2 input devices implementation
2012-11-03 19:37:52 -04:00
Carlos Garnacho
7b21bd8c6f
window: use input event helper functions in grab operations.
2012-11-03 19:37:52 -04:00
Carlos Garnacho
c7c1053ade
input-events: Add method to get the device for an event
2012-11-03 19:37:52 -04:00
Carlos Garnacho
d7bd7c9a40
core: Add device map object
...
It will contain the input devices available
2012-11-03 19:37:52 -04:00
Carlos Garnacho
96cdedf569
core: Add core devices implementation
2012-11-03 19:37:52 -04:00
Carlos Garnacho
8865578933
device: Add methods to pair devices
2012-11-03 19:37:52 -04:00
Carlos Garnacho
1a29f2cd0f
Add pointer/keyboard abstract classes
2012-11-03 19:37:52 -04:00
Carlos Garnacho
324d9fdb14
compositor: Use helper functions for input events
2012-11-03 19:37:52 -04:00
Carlos Garnacho
190037cd72
keybindings: Use input event helper functions
2012-11-03 19:37:52 -04:00
Carlos Garnacho
a3ca52bf0f
window: use input event helper functions on notify_focus()
2012-11-03 19:37:51 -04:00
Carlos Garnacho
29b5fd7fd7
display: get crossing/focus events details via helper functions
2012-11-03 19:37:51 -04:00
Carlos Garnacho
7a3d49b88e
display: get button event coordinates with the helper functions
2012-11-03 19:37:51 -04:00
Carlos Garnacho
3e3ad71a68
display: get button events state from helper functions
2012-11-03 19:37:51 -04:00
Carlos Garnacho
1c3b695848
display: get button number from helper input event function
2012-11-03 19:37:51 -04:00
Carlos Garnacho
e1379441d4
display: Use helper function to get input events' timestamp
2012-11-03 19:37:51 -04:00
Carlos Garnacho
d75f43f504
display: Use helper functions for getting window/root in input events
2012-11-03 19:37:51 -04:00
Carlos Garnacho
de6dceb3ac
display: Get the right window/time for input events
2012-11-03 19:37:51 -04:00
Carlos Garnacho
03ddc0cd94
display: separate input/non-input events handling in the event callback
...
We now use meta_input_event_get_type() to discern input events from the
others. This commit has involved plenty of indenting changes, so it's
better seen with git diff -b.
2012-11-03 19:37:51 -04:00
Carlos Garnacho
f440af2c02
core: Add helper code to handle input events
...
These will be used with every input event out there so they're
dealt with uniformly.
2012-11-03 19:37:51 -04:00
Carlos Garnacho
8b3ef16460
display: Add XInput2 variables in private struct
2012-11-03 19:37:51 -04:00
Carlos Garnacho
7d587770f3
configure: Check for XInput2
2012-11-03 19:37:51 -04:00
Jasper St. Pierre
188d532438
display: Ignore DamageNotify in spew
2012-11-03 19:37:51 -04:00
Owen W. Taylor
f258556cec
MetaPluginManager: don't send events to Clutter twice
...
When support for multiple plugins was removed, the logic that was
supposed to send events to Clutter directly *only if there is no filter
function from a plugin* was broken, so events were being sent to
Clutter twice if Clutter didn't consume them the first time.
https://bugzilla.gnome.org/show_bug.cgi?id=686406
2012-11-03 19:36:41 -04:00