summaryrefslogtreecommitdiff
path: root/include/dix.h
AgeCommit message (Collapse)AuthorFilesLines
2009-10-15Remove CopyISOLatin1LoweredYaakov Selkowitz1-5/+0
This function was moved verbatim into libXfont-1.4, and it is not used by the server or any drivers. Exporting it in both places leads to multiple definition linking errors on Cygwin, where we need to use a static libXfont due to poor weak-symbol handling. Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Signed-off-by: Keith Packard <keithp@keithp.com>
2009-10-14dix: Export IsPointerDevice() and IsKeyboardDevice().Eamon Walsh1-2/+2
Makes the functions available to extmod for extensions to call. Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
2009-09-27Xi: Make CopyKeyClass X_HIDDEN to avoid ugly ifdef-fuJeremy Huddleston1-0/+1
(cherry picked from commit 6d436e17a9ae7f4ce8537f3fabc052d4f07ca75f)
2009-08-25Ensure that rotation updates happen frequentlyKeith Packard1-0/+6
The smart scheduler is designed to minimize scheduler overhead by increasing the interval between WaitForSomething calls when a single client is running. However, the software rotation code depends on its BlockHandler being invoked for screen updates; the long delays caused by the smart scheduler optimizations means that screen updates can be delayed a long time as well. The change is simple -- prevent the smart scheduler from increasing the scheduling interval while any screen is using software rotation. Signed-off-by: Keith Packard <keithp@keithp.com>
2009-08-24input: move CorePointer/KeyboardProc declarations into header.Peter Hutterer1-0/+3
The extern declaration in xichangehierarchy.c was broken anyway. This fixes a crash on creating a new master device. Reported-by: Maxim Levitsky Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-23Xi: check for Use permission on the device in SetClientPointer().Eamon Walsh1-1/+1
Presumably, some intelligent, XI2-aware management app will be calling XISetClientPointer on behalf of other clients; this check makes sure the target client has permission on the device. Requires changing the prototype to return status code instead of Bool. Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-12input: remove un-used "setter" argument from SetClientPointer.Peter Hutterer1-2/+1
It's obsolete, not likely to come back, let's drop it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-28Xi: Send Enter or Leave events with XIPassive(Un)grabNotifyPeter Hutterer1-0/+1
If a passive enter or focus in grab activates, send additional enter or focus events with mode XIPassiveGrabNotify to the grabbing client. Likewise, if the grab deactivates, send additional leave or focus out events. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-27Xi: Add support for Enter and FocusIn grabs.Peter Hutterer1-0/+5
Enter grabs are checked for in CheckMotion(), each time the sprite window changes the current grab is deactivated (if applicable) and the new grab is activated (if applicable). Exception - if the grab is on a parent window of the current window since we keep the grab across descendants. Since CheckMotion() may change the grab status of a device, we mustn't get "dev->deviceGrab.grab" in ProcessOtherEvents until after CheckMotion(). FocusIn grabs are checked in much the same manner. The event delivery for grabs replaces the NotifyNormal on window change with a NotifyGrab on window change. Note that this happens before the grab activates, so the EnterNotify(NotifyGrab) is still delivered to the window, not to the grabbing client. This is in line with the core protocol semantics for NotifyGrab events. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-22Input: rename DeviceIntRec->isMaster to ->type.Peter Hutterer1-0/+1
isMaster is not enough as long as we differ between master pointers and keyboard. With flexible device classes, the usual checks for whether a master device is a pointer (currently check for ->button, ->valuators or ->key) do not work as an SD may post an event through a master and mess this check up. Example, a device with valuators but no buttons would remove the button class from the VCP and thus result in the IsPointerDevice(inputInfo.pointer) == FALSE. This will become worse in the future when new device classes are introduced that aren't provided in the current system (e.g. a switch class). This patch replaces isMaster with "type", one of SLAVE, MASTER_POINTER and MASTER_KEYBOARD. All checks for dev->isMaster are replaced with an IsMaster(dev).
2009-04-28dix: remove all but main() from main.cPeter Hutterer1-0/+1
All other functions are pushed into where they seemed to fit. main.c is now linked separately into libmain.a and linked in by the various DDXs. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-19dix: remove un-used parameter "core" from AllowSomePeter Hutterer1-2/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-19input: use a GrabMask union in GrabDevice to allow for XI2 masks.Peter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-19input: replace GrabRec's coreGrab field with grabtype.Peter Hutterer1-1/+1
Don't allow grabs of different types to override each other. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-20include: un-export a bunch of server-only functions.Peter Hutterer1-31/+30
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-20dix: move ProcGrabPointer guts into GrabDevice.Peter Hutterer1-2/+4
Yes, this means we have even more arguments to GrabDevice. But it beats having a copy of most but not all of GrabDevice in ProcGrabPointer. Also, reshuffle the order of parameters, the CARD* status is a return value and should be last. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-03-20dix: remove now obsolete mskidx parameter from DeliverEventsToWindow.Peter Hutterer1-2/+1
mskidx would always be dev->id anyway, so if we're already passing in the device, mskidx is superfluous.
2009-03-20Xext: purge XGE event masks.Peter Hutterer1-12/+0
The masks were originally designed to generically handle event masks for extensions. Since all that is in-server anyway, it's much better writing custom event masks for those extensions that need it and not providing a unified mechanism. XI2 needs more than the current implementation, which is already too complex for most other extensions. good riddance. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23Input: change processing API to InternalEvents.Peter Hutterer1-3/+2
Don't pass xEvent* and count through to processing, pass a single InternalEvent. Custom handlers are disabled for the time being. And for extra fun, XKB's pointer motion emulation is disabled. But stick an error in there so that we get reminded should we forget about it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23dix: Deliver{Grabbed|Focused|Device}Events API changed to InternalEvents.Peter Hutterer1-9/+6
With the API change, we can now purge the XI conversion from POE. Note: this commit breaks DGA even more. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23dix: convert passive grabs to use internal events.Peter Hutterer1-4/+3
deviceGrab.sync.event is now an internal event, and CheckDeviceGrabs and friends is changed over. Note that this currently breaks some frozen grabs. See towards the end of ComputeFreezes(). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23Xi: make ProcessOtherEvents more InternalEvent aware.Peter Hutterer1-1/+1
Get rid of the deviceValuator processing and a few other things, but still drop back into XI before checking device grabs or doing anything else. NoticeEventTime now needs to take InternalEvents, and while we're at it, change NoticeTime from a macro to a function. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23dix: update CheckMotion to deal with DeviceEvents.Peter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-23xkb: Switch the xkb event processing path over to InternalEvents.Peter Hutterer1-1/+2
Before dropping down into the DIX, convert back into XI events. This is a temporary solution only, until the DIX is capable of handling InternalEvents anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-16dix: Don't set core events in SetMaskForEvent.Peter Hutterer1-1/+1
Rather, modify the two callers to call separately for the two different. events. Unexport SetMaskForEvent too. And while we're at it, get rid of the MotionFilter macro, because it's one half confusing and one half pointless. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-13dix: remove DefineInitialRootWindow()Peter Hutterer1-3/+0
Obsolete. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-03Constify atom name stringsAlan Coopersmith1-2/+2
Changes MakeAtom to take a const char * and NameForAtom to return them, since many callers pass pointers to constant strings stored in read-only ELF sections. Updates in-tree callers as necessary to clear const mismatch warnings introduced by this change. Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-01-22XKB: Make XKB mandatoryDaniel Stone1-2/+0
No more #ifdef XKB, because you can't disable the build, and no more noXkbExtension either. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade1-107/+107
Save in a few special cases, _X_EXPORT should not be used in C source files. Instead, it should be used in headers, and the proper C source include that header. Some special cases are symbols that need to be shared between modules, but not expected to be used by external drivers, and symbols that are accessible via LoaderSymbol/dlopen. This patch also adds conditionally some new sdk header files, depending on extensions enabled. These files were added to match pattern for other extensions/modules, that is, have the headers "deciding" symbol visibility in the sdk. These headers are: o Xext/panoramiXsrv.h, Xext/panoramiX.h o fbpict.h (unconditionally) o vidmodeproc.h o mioverlay.h (unconditionally, used only by xaa) o xfixes.h (unconditionally, symbols required by dri2) LoaderSymbol and similar functions now don't have different prototypes, in loaderProcs.h and xf86Module.h, so that both headers can be included, without the need of defining IN_LOADER. xf86NewInputDevice() device prototype readded to xf86Xinput.h, but not exported (and with a comment about it).
2008-11-30Remove declarations of symbols that are never defined.Paulo Cesar Pereira de Andrade1-10/+0
These symbols were removed from the X Server, or never declared. One symbol that may need special attention is XkbBuildCoreState(), that doesn't have a prototype anywhere, but is called from xkb/xkbEvents.c:XkbFilterEvents(), and also used by the macros XkbStateFieldFromRec() and XkbGrabStateFromRec() defined in include/xkbstr.h. fb/wfbrename.h also may need some cleanup, as it makes several "renames" of non existing symbols.
2008-11-25Warning fixAdam Jackson1-2/+0
Init.c:139: warning: no previous prototype for ‘ddxBeforeReset’ Just declare the prototype always, seriously.
2008-09-22Change 'remap' to 'map' in saveset functions/macrosOwen Taylor1-1/+1
Now that the code has been fixed so that Unmap means unmap and not "don't remap", 'remap' was confusing to have in the function names/parameters, so change it to simple 'map'. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-08-10Move strcasecmp(), strcasencmp() and strcasestr() prototypes to os.hMatthieu Herrb1-16/+0
And make sure os.h is included in files that use it.
2008-08-05Redefine clients as a fixed arrayTomas Carnecky1-1/+1
This removes yet another xalloc() each server generation. Also, I couldn't find the corresponding xfree() so I guess that used to be a memory leak there.
2008-07-24Shape extension is built-in and mandatory.Adam Jackson1-2/+0
2008-07-17Make xstrcasestr prototype return value match the implementationAlan Coopersmith1-1/+1
2008-07-16DIX: Add strcasestr from FreeBSDDaniel Stone1-0/+5
Add strcasestr for use on systems which don't have it.
2008-07-16DIX: Add strncasecmp from FreeBSD, make strcasecmp args constDaniel Stone1-1/+6
Add strncasecmp (as we're now using it) in case someone doesn't have it, and also change strncasecmp args to be const, in accordance with everything else.
2008-05-20Merge branch 'master' into mpxPeter Hutterer1-3/+0
Conflicts: Xext/xprint.c (removed in master) config/hal.c dix/main.c hw/kdrive/ati/ati_cursor.c (removed in master) hw/kdrive/i810/i810_cursor.c (removed in master) hw/xprint/ddxInit.c (removed in master) xkb/ddxLoad.c
2008-05-12X n'est pas une print API.Adam Jackson1-3/+0
2008-04-25Xi: remove RemoveOtherCoreGrabs()Peter Hutterer1-4/+0
PickPointer() returns grabbed devices, so we can't get a double grab anyway.
2008-04-10Xi: only DeliverFocusedEvents if the event is not a pointer event.Peter Hutterer1-0/+1
A pointer device may have a focus class, but even if so, pointer events must be delivered to the sprite window, not the focus window.
2008-04-07Merge branch 'master' into dcdc_reworkPeter Hutterer1-23/+0
Conflicts: Xext/xevie.c dix/dispatch.c
2008-03-04Merge branch 'master' into mpxPeter Hutterer1-19/+2
This merge reverts Magnus' device coorindate scaling changes. MPX core event generation is very different, so we can't scale in GetPointerEvents. Conflicts: Xi/opendev.c dix/devices.c dix/dixfonts.c dix/getevents.c dix/resource.c dix/window.c hw/xfree86/common/xf86Xinput.c mi/mipointer.c xkb/ddxBeep.c xkb/ddxCtrls.c xkb/ddxKeyClick.c xkb/ddxList.c xkb/ddxLoad.c xkb/xkb.c xkb/xkbAccessX.c xkb/xkbEvents.c xkb/xkbInit.c xkb/xkbPrKeyEv.c xkb/xkbUtils.c
2008-02-29dix: Refactoring of selection code to allow for polyinstantiation.Eamon Walsh1-23/+0
Introduces dixLookupSelection() API. Removes NumCurrentSelections from API.
2008-02-25Xi: remove ungrab handling of ExtendedUngrabDevice request.Peter Hutterer1-3/+0
This can be done by UngrabDevice, no need for separate codepaths.
2008-02-14requestingClient is an xprintism, hide it for other servers.Adam Jackson1-0/+2
2008-02-14Rip out useless indirection in the callback list management.Adam Jackson1-19/+0
2008-01-18dix: remove inputInfo.pointer reference in TryClientEvents.Peter Hutterer1-0/+1
Unfortunately, this requires a change in the TCE API, and thus a change in all callers. Tough luck.
2008-01-03Merge branch 'master' into mpxPeter Hutterer1-53/+35
Conflicts: XTrap/xtrapddmi.c Xext/security.c Xext/xprint.c Xext/xtest.c Xext/xvdisp.c Xi/exevents.c Xi/grabdevb.c Xi/grabdevk.c Xi/opendev.c Xi/ungrdev.c Xi/ungrdevb.c Xi/ungrdevk.c dix/cursor.c dix/devices.c dix/dixutils.c dix/events.c dix/getevents.c dix/main.c dix/window.c hw/xfree86/ramdac/xf86Cursor.c include/dix.h include/input.h include/inputstr.h mi/midispcur.c mi/miinitext.c mi/misprite.c render/animcur.c xfixes/cursor.c xkb/xkbAccessX.c