summaryrefslogtreecommitdiff
path: root/dix
AgeCommit message (Collapse)AuthorFilesLines
2008-12-10dix: move MAX_VALUATOR_EVENTS into include/input.hPeter Hutterer1-4/+0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-12-10dix: purge dead device-based window access code.Peter Hutterer1-17/+0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-12-08dix: fix calculation of valuator events.Peter Hutterer1-3/+3
Follow-up to 4971315296cb. countValuatorEvents was copied from GKVE where it was obviously broken but nobody noticed. GPE had the correct version, but that one got lost during de-duplication. Restoring the correct calculation - if we have 6 valuators, we want 1 valuator event, not 2. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade29-591/+591
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-12-03Let the DDX decide on the XkbRulesDefaults.Peter Hutterer1-1/+0
Rather than assuming rules in the CoreKeyboardProc, init the default rules in InitCoreDevices, then re-use them later. In the xfree86 DDX, set the rules to "base" or "evdev", depending on whether we'll load kbd or evdev. If we create a new MD, use pc105,us as default and re-use the rules file used previously. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-03dix: fix GetMaximumEventsNum(), may return a DCCE event too.Peter Hutterer1-0/+3
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-02dix: remove confusing (and wrong) comment. VCP is not the only pointer.Peter Hutterer1-2/+1
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-02dix: use UpdateFromMaster in GetProximityEvents.Peter Hutterer1-11/+1
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-02Xi: fix use of button->down - bitflags instead of int arrays.Peter Hutterer1-1/+1
The device's button down state array was changed to use DOWN_LENGTH and thus bitflags for each button in cfcb3da7. Update the DBSN events to copy this bit-wise state. Update xkb and Xi to check for the bit flag instead of the array value. Reported by ajax. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-29Export symbols defined in the sdk.Paulo Cesar Pereira de Andrade28-379/+379
This is the biggest "visibility" patch. Instead of doing a "export" symbol on demand, export everything in the sdk, so that if some module fails due to an unresolved symbol, it is because it is using a symbol not in the sdk. Most exported symbols shouldn't really be made visible, neither advertised in the sdk, as they are only used by a single shared object. Symbols in the sdk (or referenced in sdk macros), but not defined anywhere include: XkbBuildCoreState() XkbInitialMap XkbXIUnsupported XkbCheckActionVMods() XkbSendCompatNotify() XkbDDXFakePointerButton() XkbDDXApplyConfig() _XkbStrCaseCmp() _XkbErrMessages[] _XkbErrCode _XkbErrLocation _XkbErrData XkbAccessXDetailText() XkbNKNDetailMaskText() XkbLookupGroupAndLevel() XkbInitAtoms() XkbGetOrderedDrawables() XkbFreeOrderedDrawables() XkbConvertXkbComponents() XkbWriteXKBSemantics() XkbWriteXKBLayout() XkbWriteXKBKeymap() XkbWriteXKBFile() XkbWriteCFile() XkbWriteXKMFile() XkbWriteToServer() XkbMergeFile() XkmFindTOCEntry() XkmReadFileSection() XkmReadFileSectionName() InitExtInput() xf86CheckButton() xf86SwitchCoreDevice() RamDacSetGamma() RamDacRestoreDACValues() xf86Bpp xf86ConfigPix24 xf86MouseCflags[] xf86SupportedMouseTypes[] xf86NumMouseTypes xf86ChangeBusIndex() xf86EntityEnter() xf86EntityLeave() xf86WrapperInit() xf86RingBell() xf86findOptionBoolean() xf86debugListOptions() LoadSubModuleLocal() LoaderSymbolLocal() getInt10Rec() xf86CurrentScreen xf86ReallocatePciResources() xf86NewSerialNumber() xf86RandRSetInitialMode() fbCompositeSolidMask_nx1xn fbCompositeSolidMask_nx8888x0565C fbCompositeSolidMask_nx8888x8888C fbCompositeSolidMask_nx8x0565 fbCompositeSolidMask_nx8x0888 fbCompositeSolidMask_nx8x8888 fbCompositeSrc_0565x0565 fbCompositeSrc_8888x0565 fbCompositeSrc_8888x0888 fbCompositeSrc_8888x8888 fbCompositeSrcAdd_1000x1000 fbCompositeSrcAdd_8000x8000 fbCompositeSrcAdd_8888x8888 fbGeneration fbIn fbOver fbOver24 fbOverlayGeneration fbRasterizeEdges fbRestoreAreas fbSaveAreas composeFunctions VBEBuildVbeModeList() VBECalcVbeModeIndex() TIramdac3030CalculateMNPForClock() shadowBufPtr shadowFindBuf() miRRGetScreenInfo() RRSetScreenConfig() RRModePruneUnused() PixmanImageFromPicture() extern int miPointerGetMotionEvents() miClipPicture() miRasterizeTriangle() fbPush1toN() fbInitializeBackingStore() ddxBeforeReset() SetupSprite() InitSprite() DGADeliverEvent() SPECIAL CASES o defined as _X_INTERNAL xf86NewInputDevice() o defined as static fbGCPrivateKey fbOverlayScreenPrivateKey fbScreenPrivateKey fbWinPrivateKey o defined in libXfont.so, but declared in xorg/dixfont.h GetGlyphs() QueryGlyphExtents() QueryTextExtents() ParseGlyphCachingMode() InitGlyphCaching() SetGlyphCachingMode()
2008-11-27Export symbols also defined in libXfont.Paulo Cesar Pereira de Andrade2-11/+11
libXfont has stubs for these symbols, so, when compiling with hidden symbols by default, these symbols must be visible in the X Server, or the stubs in libXfont will be used.
2008-11-26dix: Enable core devices in InitCoreDevices already.Peter Hutterer2-19/+7
Updated patch, see http://lists.freedesktop.org/archives/xorg/2008-November/040540.html Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-11-26Revert "dix: Enable core devices in InitCoreDevices already."Peter Hutterer2-9/+23
I merged the wrong patch. See correct patch at: http://lists.freedesktop.org/archives/xorg/2008-November/040540.html Not activating the device before attempting to enable it would leave the sprite unset, crashing the server when enabling the real devices. This reverts commit e078901a4eca02bd3e7a80d9462dafbca939a187. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-25Do not send VisibilityNotify events when MapUnmapEvents are disabledMichael Vogt1-0/+2
This prevents a protocol visible side-effect (XVisibilityEvent) on XCompositeRedirectWindow() followed by a XCompositeUnredirectWindow(). The problem shows up in gnome-screensaver with compiz and "unredirect fullscreen windows" enable. A VisibilityNotify event is generated (first with obscured and than with unobscured) when the window swithces from redirected to unredirected. https://bugs.freedesktop.org/show_bug.cgi?id=18133 http://launchpad.net/bugs/278112
2008-11-25dix: updated enter/leave core event model.Peter Hutterer3-2/+274
As proposed by Owen Taylor [1], the enter-leave event model needs to adjust the events sent to each window depending on the presence of pointers in a window, or in a subwindow. The new model can be summarised as: - if the pointer moves into or out of a window that has a pointer in a child window, the events are modified to appear as if the pointer was moved out of or into this child window. - if the pointer moves into or out of a window that has a pointer in a parent window, the events are modified to appear as if the pointer was moved out of or into this parent window. Note that this model requires CoreEnterLeaveEvent and DeviceEnterLeaveEvent to be split and treated separately. [1] http://lists.freedesktop.org/archives/xorg/2008-August/037606.html Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-25dix: add FirstPointerChild, FirstPointerAncestor auxiliary functions.Peter Hutterer1-0/+100
FirstPointerChild: Return the first child that has a pointer within its boundaries. FirstPointerAncestor: return the first ancestor with a child within its boundaries. These are required for the updated enter/leave model. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-25dix: Add EnterWindow, LeaveWindow, HasPointer auxiliary functions.Peter Hutterer1-0/+50
These replace the ENTER_LEAVE_SEMAPHORE_* macros. Unused currently. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-25dix: split enter/leave event handling into core and device handling.Peter Hutterer3-123/+125
Device events always need to be delivered, core events only in some cases. Let's keep them completely separate so we can adjust core event delivery. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-25dix: remove unused EnterLeaveSemaphoresIsset.Peter Hutterer1-15/+0
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-25dix: move Enter-Leave related functions into new enterleave.cPeter Hutterer4-113/+196
Preparation for the new core enter/leave model. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-24dix: Enable core devices in InitCoreDevices already.Peter Hutterer2-23/+9
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-11-24dix: fix false comment.Peter Hutterer1-2/+0
VCP and VCK are always present, this comment is a leftover from earlier MPX days. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-21dix: memset DeviceVelocityPtr to zero.Peter Hutterer1-9/+2
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-11-21dix: fix typos in comments, one formatting fix.Simon Thum2-3/+4
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-14[dix] Remove a duplicate statement.Fernando Carrijo1-2/+0
Signed-off-by: James Cloos <cloos@jhcloos.com>
2008-11-13dix: don't store enter/leave and focus semaphores in a devPrivate.Peter Hutterer2-10/+4
We need them for each window, every time a window is allocated. Storing them in a devPrivate is the wrong thing to do. This also removes the unused ENTER_LEAVE_SEMAPHORE_ISSET macro. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2008-11-13dix: remove duplicate line in EnterLeaveEvent.Peter Hutterer1-2/+0
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-11dix: formatting fix.Peter Hutterer1-1/+2
2008-11-11dix: remove superfluous variable devgrabPeter Hutterer1-4/+3
grab == devgrab anyway, this is a leftover from the time when we had two different grabs per device (core and XI grab). Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-10input: Remove useless conditional.Fernando Carrijo1-5/+1
2008-11-08Remove some null statements.James Cloos1-1/+1
Remove several doubled statement-terminal semicolons. Reported by Fernando Carrijo.
2008-11-04Purge device-based WindowAccess code.Peter Hutterer4-388/+61
Really, this was a bad idea. It's not security, the UI features that would have been cool (e.g. clicking through windows) aren't implemented anyway, and there's nothing you can't achieve just by using plain XI anyway. Requires inputproto 1.9.99.6.
2008-11-04dix: clean up GetPointerEvents and GetKeyboardValuatorEvents.Peter Hutterer1-155/+237
Split into several functions, remove some stale comments. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04DIX: Remove unnecessary prototypeDaniel Stone1-1/+0
We don't call XkbCopyKeymap from getevents.c anymore, so axe it. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-11-04Remove XEvIEDaniel Stone2-123/+2
It's unmaintained and has been broken for quite a while; MPX finally smashed it completely. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-10-31dix: FreeDeviceClass() and friends can be static.Peter Hutterer1-23/+25
2008-10-31dix: remove unused GuessFreePointerDevice().Peter Hutterer1-40/+0
Not used since the MD/SD hierarchy was introduced many moons ago.
2008-10-31dix: NextFreePointerDevice() can be static.Peter Hutterer1-11/+14
2008-10-31dix: SwitchCorePointer is long gone, bury it.Peter Hutterer1-16/+0
2008-10-31dix: PairDevices() can be static, remove from input.Peter Hutterer1-32/+32
PairDevices() is only ever called in EnableDevice().
2008-10-31Move EXTENSION_BASE and EXTENSION_EVENT_BASE to misc.h.Peter Hutterer2-4/+0
2008-10-31Move MAX_DEVICES to misc.h, rename to MAXDEVICES for consistency.Peter Hutterer2-13/+13
2008-10-30xace: Fix an incorrect call to the RECEIVE_ACCESS hook.Eamon Walsh1-3/+2
2008-10-26Ansify declaration of FontToXError()Julien Cristau1-2/+1
2008-10-26Nuke unused variablesJulien Cristau2-2/+1
2008-10-23dix: fix two more endian issues, correct initial "enabled" value. #18111Peter Hutterer1-3/+7
EnableDevice and DisableDevice both change the property too. And enabled must be set to FALSE in AddInputDevice, the device is not enabled yet. X.Org Bug 18111 <https://bugs.freedesktop.org/show_bug.cgi?id=18111>
2008-10-23dix: don't allow VCP/VCK be disabled through properties.Peter Hutterer1-0/+5
2008-10-23dix: fix endianess issue in AddInputDevice. #18111Peter Hutterer1-1/+3
dev->enabled is a Bool. Bool is two bytes. BOOL on the other hand is a protocol type and always 1 byte. So copy the value into the one-byte type before passing it into XIChangeDeviceProperty. Found by Michel Dänzer. X.Org Bug 18111 <http://bugs.freedesktop.org/show_bug.cgi?id=18111>
2008-10-22dix: init remaining three xkb fields to zero in a new client.Peter Hutterer1-0/+2
2008-10-13Xi: check all handlers before applying property changes.Peter Hutterer1-5/+9
The current code exposes to inconsistent updates, i.e. if handler N succeeds but handler N+1 fails in setting the property, an error is returned to the client although parts of the server now behave as if the property change succeeded. This patch adds a "checkonly" parameter to the SetProperty handler. The handlers are then called twice, once with checkonly set to TRUE. On the checkonly run, handlers _MUST_ return error codes if the property cannot be applied. Handlers are not permitted to actually apply the changes. On the second run, handlers are permitted to apply property changes. Errors codes returned on the second run are ignored.