summaryrefslogtreecommitdiff
path: root/dix
AgeCommit message (Collapse)AuthorFilesLines
2007-10-28dix: don't compress motion events from different devices (EventEnqueue)Peter Hutterer1-1/+2
(cherry picked from commit 8840829ab93c4eb62eb58753c015da5307133fe5)
2007-10-28dix: add XI event support to FixKeyState.Peter Hutterer1-12/+9
FixKeyState needs to be able to handle XI events, otherwise we get "impossible keyboard events" on server zaps and other special key combos. (cherry picked from commit 5ee409794ee604fcf84886f70429fc2d6b1ff4f1)
2007-10-25Input: Fix key down test (bug #12858)Naoki Hamada1-4/+12
Fix the botched previous key_is_down test, which would give false positives. Also move key_autorepeats to a separate inline function.
2007-10-02Xserver: fix potential crashDodji Seketeli1-0/+2
* dix/extension.c: (AddExtensionAlias): don't crash when failed to add extension alias.
2007-10-02Fix #12650: "windows not receiving mouse events in multiple screens context"Dodji Seketeli1-0/+55
* dix/events.c, include/dix.h: (UpdateSpriteForScreen): added this to update the mouse sprite context when we switch from a pScreen to another. * mi/mipointer.c: (miPointerWarpCursor): as we are switching to a new pScreen, don't forget to update the mouse sprite context.
2007-09-23Input: Generate XKB mapping changes for all core-sending devices (bug #12523)Daniel Stone1-10/+15
When we change the mapping on a core device, make sure we propagate this through to XKB for all extended devices as well.
2007-09-23GetKeyboardEvents: Reject out-of-range keycodes (bug #12528)Daniel Stone1-0/+4
We can only deal with keycodes between 8 and 255, so make sure that we never accept anything out of this range.
2007-09-13Remove the PaintWindow optimization.Eric Anholt1-1/+1
This was an attempt to avoid scratch gc creation and validation for paintwin because that was expensive. This is not the case in current servers, and the danger of failure to implement it correctly (as seen in all previous implementations) is high enough to justify removing it. No performance difference detected with x11perf -create -move -resize -circulate on Xvfb. Leave the screen hooks for PaintWindow* in for now to avoid ABI change.
2007-09-05Fix key repeats during VT switch.Daniel Stone2-7/+31
Add keyc->postdown, which represents the key state as of the last mieqEnqueue call, and use it when we need to know the posted state, instead of the processed state (keyc->down). Add small functions to getevents.c to query and modify key state in postdown and use them all through, eliminating previously broken uses.
2007-09-05Fix server version reporting to be the server package version.Eric Anholt2-2/+2
Previously, the server version reported by xdpyinfo and Xorg -version would bear some vague resemblance to a X.Org katamari version, but in the presence of modularization (and client-server relationships with different katamari versions on each side) those numbers don't really make sense. Instead, just report the package version. When branching a stable branch, master's version should be immediately updated to the endpoint of the stable branch plus a snapshot of 1 (for example, 1.4.0.1 after server-1.4-branch). The stable branch should then be changed to RC0 at that time (1.3.99.0, for example). This scheme was partially attempted for server 1.3, but lacked the appropriate master updates, thus why it had to be revisited now. While here, we can also remove a lot of versioning complexity since everything is based on the package version.
2007-08-25Implement core protocol backing store exclusively in terms of Composite.Adam Jackson1-7/+0
Composite's automatic redirection is a more general mechanism than the ad-hoc BS machinery, so it's much prettier to implement the one in terms of the other. Composite now wraps ChangeWindowAttributes and activates automatic redirection for windows with backing store requested. The old backing store infrastructure is completely gutted: ABI-visible structures retain the function pointers, but they never get called, and all the open-coded conditionals throughout the DIX layer to implement BS are gone. Note that this is still not a strictly complete implementation of backing store, since Composite will throw the bits away on unmap and therefore WhenMapped and Always hints are equivalent.
2007-08-23Fix indentation.Matthieu Herrb1-1/+1
2007-08-23Remove an extra cast.Matthieu Herrb1-1/+1
Thou should not apply patches manually without testing.
2007-08-23A high resolution device that's moving fast can potentially generateOtto Moerbeek1-1/+1
an int overflow, making dx*dx+dy*dy negative. Now pow(negative, non-integer) yields NaN, so you loose. Use fp math to avoid that.
2007-08-01Build system: Non-dtrace distcheck hacksDaniel Stone1-0/+5
automake 1.10 really wants foo.c for foo.O, so give it some dummy files to deal with if it really needs them.
2007-08-01Input: Fix stuck modifiers (bug #11683)Daniel Stone1-26/+28
Disclaimer: It's 6:51am. I'm trying to be as understandable as possible. What was happening previously was this: * Press Alt * Extended event generated and processed: state is now Alt down once * Core event generated - keyboard switched: inherited state is Alt down once - event processed: Alt down twice * Release Alt * Extended event generated and processed: state is now null * Core event generated and processed: Alt down once If we switch the order: * Press Alt * Core event generated: - keyboard switched: inherited state is null - event processed: Alt down once * Extended event generated and processed: state is now Alt down once * Release Alt * Core event generated and processed: state is now null * Extended event generated and processed: state is now null When we carry over the previous state, it needs to be the _previous_ state (state and modifiersPerKey), assuming that we're going to catch now-core events for any of these. For example, if Ctrl is held down as we pivot, we need to carry Ctrl over with a count of one, for which an extended + core release will then clear. Carrying over the union of the previous state _and the state resulting from the immediate action_ was what broke things.
2007-08-01Convert all my license statements to the standard formDaniel Stone1-15/+17
Convert all my license statements to the standard, accepted form: cf. <20070717142307.GD13478@fooishbar.org> http://lists.freedesktop.org/archives/xorg/2007-July/026451.html keithp's license on configure.ac changed with his verbal permission.
2007-08-01Hotplug: Add HAL supportDaniel Stone1-0/+1
Add support for HAL-based hotplugging, in which we just get the list of input devices and properties from HAL. Requires an FDI which is not yet in mainline HAL.
2007-08-01Input: GetPointerEvents: Deny events from devices without valuatorsDaniel Stone1-2/+6
For some reason, my keyboard has 25 mouse buttons, but zero valuators. This causes GPE to blow up spectacularly, trying to get (and set) co-ordinates from devices without valuators. For now, just prevent this from ever happening, and whack a dirty great FIXME in.
2007-08-01DIX: Clean up null root cursor handlingDaniel Stone2-16/+20
Move the null root cursor handling out of main() and into CreateRootCursor.
2007-08-01Fonts: Fix builtin fontsDaniel Stone1-6/+4
Make sure the font path is always 'built-ins' when we use built-in fonts, rather than having it as a fixed path for a while, then clobbering it halfway through startup.
2007-08-01Hotplug: Separate D-Bus into core and hotplug API componentsDaniel Stone1-2/+2
Break up D-Bus into two components: a D-Bus core that can be used by any part of the server (for the moment, just the D-Bus hotplug API, and the forthcoming HAL hotplug API), and the old D-Bus hotplug API.
2007-07-21Partial redundancy elimination in PropertyNotify generation.Adam Jackson1-43/+21
2007-07-03Make Composite manual redirect windows not clip their parent.Keith Packard1-3/+11
This patch changes the semantics of manual redirect windows so that they no longer affect the clip list of their parent. Doing this means the parent can draw to the area covered by the child without using IncludeInferiors. More importantly, this also means that the parent receives expose events when that region is damaged by other actions.
2007-06-29Death to RCS tags.Adam Jackson3-5/+0
2007-06-29Make sure window->optional is allocated before assigning it.Peter Hutterer1-6/+6
DeletePassiveGrabFromList() may remove the window optional, so we need to re-alloc it if it isn't there anymore. Thanks to Colin Harrison for spotting the bug.
2007-06-27More janitor work. Remove 'defined but not used' warnings from kdrive and ↵Tiago Vignatti1-1/+0
some minor cosmetic.
2007-06-25Set the detail field for DeviceKeyEvents to the keycode.Peter Hutterer1-0/+1
(cherry picked from commit 0c33dc152e372cdc8ae59d9a5696b0774bcd03b7)
2007-06-25Only decrement buttonsDown when the button count is greater than 0.Peter Hutterer1-10/+21
Device drivers flush their buttons on device init and cause a button down event to be generated. If we unconditionally decrease the buttons, we won't be able to ever get a passive device grab. Format documentation for CheckDeviceGrabs to make it readable. (cherry picked from commit 3e894974cdd6a75683d4601f71622d1da7ec4395) Conflicts: Xi/exevents.c
2007-06-25Add a few comments to devices.cPeter Hutterer1-0/+76
2007-06-25Check for identical grabs when adding a new passive grab. If an identical grabPeter Hutterer1-0/+47
exists, remove the old one and prepend the new one. X.org Bug 2738 <https://bugs.freedesktop.org/show_bug.cgi?id=2738>
2007-06-11dixLookupClient: Use access parameter.Michel Dänzer1-1/+1
2007-06-04Remove the old Kerberos 5 authentication code.Adam Jackson2-25/+0
Before you complain, this code hasn't seen material change since at least X11R6. It certainly does not build with any modern version of Kerberos. Anybody wanting krb5 auth to their X server should probably be using GSSAPI instead of internal krb5 API anyway.
2007-06-04Fully init the AbsoluteClassRec in InitAbsoluteClassDeviceStruct.Zephaniah E. Hull1-0/+1
(Specificly, we were missing the screen field.)
2007-05-24Reinstate an apparently mis-deleted ';' from a for loop with no body.Luo Jie1-0/+1
Fixes an error returning "No core keyboard" with multiple keyboards.
2007-05-24Fix build of composite, dix, and randr when Xinerama is disabled.Luo Jie1-0/+7
2007-05-15Add new InitRegions() function called from dix/mainSoren Sandmann Pedersen1-0/+1
2007-04-24Disable devices before removing, remove unrecoverable devices.Peter Hutterer1-0/+1
2007-04-24Use DevicePresence events to tell the client about enabled/disabled devices.Peter Hutterer1-4/+29
Include the device id in the event sent to the client.
2007-04-23fix bug in which maxKeysPerModifier wasn't getting setBrian1-0/+1
2007-04-13Documentation for events.c.Peter Hutterer1-6/+444
2007-04-10Input: Always add devices with first available IDMagnus Vigerlöf1-2/+15
Scan the device list when adding a new device, and make sure we can use the first available ID, instead of always incrementing.
2007-04-10Input: Plug memory leak in device freeMagnus Vigerlöf1-1/+6
Remember to also free the motion history, if we're using the DIX-managed history.
2007-04-10getevents: Copy modifier state from extended to core devicesDaniel Stone1-0/+20
Make core events carry the same modifier state as the extended events, so that holding down Ctrl on keyboard A and pressing Q on keyboard B won't cause your app to quit.
2007-04-09Bug #10560: Code-Cleanup: function declarations () -> (void)Stefan Huehner12-46/+46
X.Org Bugzilla #10560: <https://bugs.freedesktop.org/show_bug.cgi?id=10560> Patch #9511 <https://bugs.freedesktop.org/attachment.cgi?id=9511>
2007-03-26Remove dead NEED_DBE_BUF_BITS code.Eamon Walsh2-10/+0
2007-03-25General DIX static and dead code cleanup.Adam Jackson6-252/+127
2007-03-25Static cleanups, dead code deletion.Adam Jackson6-10/+11
2007-03-25dix: Increase allocation size for core keyboard keymap to avoid buffer ↵Peter Hutterer1-1/+1
overrun when copying keymap from extension devices.
2007-03-20Static markup and dead code cull over xkb/.Adam Jackson4-4/+4
The former <X11/extensions/XKBsrv.h> has been pulled into the server now as include/xkbsrv.h, and the world updated to look for it in the new place, since it made no sense to define server API in an extension header. Any further work along this line will need to do similar things with XKBgeom.h and friends.