summaryrefslogtreecommitdiff
path: root/Xi/extinit.c
AgeCommit message (Collapse)AuthorFilesLines
2009-03-20Xext: remove ev_fill from GEExtensions.Peter Hutterer1-1/+1
2009-03-20Xext: purge XGE event masks.Peter Hutterer1-43/+8
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-25Xi: remove AllExtensionVersions.Peter Hutterer1-2/+2
Keeping an AllExtensionVersions array to save all versions of all extension is rather pointless if only one extension uses it. Rename to XIVersion, reduce to a single struct. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-16Xi: remove dynamic mask assignment for XI events.Peter Hutterer1-99/+50
They end up being the same anyway on startup, so let's not have a dynamic mask assignment mechanism and instead just hardcode them already. Also unexport SelectForWindow and remove the valid_masks parameter. We can check that before calling, since there's only one caller anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-03Xi: create well-known atoms on demand, rather than preinit themSimon Thum1-1/+0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-12-12Remove #define NEED_EVENTS and NEED_REPLIESPeter Hutterer1-2/+0
A grep on xorg/* revealed there's no consumer of this define. Quote Alan Coopersmith: "The consumer was in past versions of the headers now located in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h, all the event definitions were only available if NEED_EVENTS were defined, and all the reply definitions required NEED_REPLIES. Looks like Xproto.h dropped them by X11R6.3, which didn't have the #ifdef's anymore, so these are truly ancient now." Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade1-10/+10
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-02Xi: fix xi_filters size.Peter Hutterer1-1/+1
2008-11-29Export symbols defined in the sdk.Paulo Cesar Pereira de Andrade1-10/+10
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-04Purge device-based WindowAccess code.Peter Hutterer1-17/+8
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-10-31Move MAX_DEVICES to misc.h, rename to MAXDEVICES for consistency.Peter Hutterer1-6/+6
2008-10-06Loader: Unexport a handful of consumerless symbols from dixsym.Adam Jackson1-1/+1
2008-09-26Xi: remove configure/query device property calls.Peter Hutterer1-32/+26
This removes all the meta-information about device properties (pending, fromClient, range, valid_values, immutable).
2008-09-18Xi: remove broken SDeviceEnterNotifyEvent, replace with ...Leave...Peter Hutterer1-11/+1
The event format is the same for both (bar the type), so one is enough.
2008-08-28Prepare for array-index based devPrivates.Tomas Carnecky1-1/+2
TODO: static indices can be made just an int; some indices can be combined.
2008-08-22Xi: don't include .c files.Peter Hutterer1-2/+1
2008-08-22Xi: swap devices property replies.Peter Hutterer1-0/+6
2008-08-15Backport device properties to XI 1.5 instead of XI 2.0Peter Hutterer1-35/+58
2008-07-13Xi: expose Enable/DisableDevice through XI_PROP_ENABLED property.Peter Hutterer1-0/+2
2008-07-10Xi: add support for input device properties.Peter Hutterer1-2/+15
Basically just copied from randr properties, with minor changes only. Each device supports arbitrary properties that can be modified by clients. Modifications to the properties are passed to the driver (if applicable) and can then affect the configuration of the device. Note that device properties are limited to a specific device. A property set on a slave device does not migrate to the master.
2008-07-10Revert "Xi: add support for input device properties."Peter Hutterer1-15/+2
Note to self: don't mix up branches with half-finished cherrypicks. This reverts commit 666838fcc8b71fdeae160844160187f345cbf4a6.
2008-07-10Xi: add support for input device properties.Peter Hutterer1-2/+15
Basically just copied from randr properties, with minor changes only. Each device supports arbitrary properties that can be modified by clients. Modifications to the properties are passed to the driver (if applicable) and can then affect the configuration of the device. Note that device properties are limited to a specific device. A property set on a slave device does not migrate to the master.
2008-05-13Xi: Fix up ProcIVector, got out of sync with the protocol.Peter Hutterer1-10/+10
When the opcode squash happened in the protocol, the processing vector got out of sync for a few requests. As a result, client and server would interpret requests differently, leading to a couple of BadLength problems.
2008-04-29Xi: stop excessive use of _X_EXPORT.Peter Hutterer1-1/+1
2008-04-29Xi: add IEventBase global variable. Stores event base for X Input events.Peter Hutterer1-0/+3
2008-04-26Xi: add versioning support.Peter Hutterer1-1/+32
Remember the version the client sent to us, so we can adjust our replies accordingly. This requires the client to use the {major|minor}Version fields in the GetExtensionVersion request. However, they were padding before, so we must assume they are garbage if nbytes is non-zero. If nbytes is zero, the client is probably a new client and we can handle it correctly.
2008-04-25Xi: handle requests through a dispatch handler.Peter Hutterer1-188/+111
Same principle as e.g. in the RandR extension, rather than having a load of if (type == XI_whatever) use an array of function pointers.
2008-04-25Xi: remove unused #define DISPATCHPeter Hutterer1-5/+0
2008-02-25Xi: remove GetPairedPointer handling.Peter Hutterer1-7/+0
obsolete, ListInputDevices provides this information now.
2008-02-14Xi: remove FakeDeviceData calls. And one leftover from GrabAccessControl.Peter Hutterer1-8/+0
FakeDeviceData needs more thoughtful integration.
2008-02-14Xi: remove raw device events.Peter Hutterer1-21/+0
Need to be better refined.
2008-02-14Xi: Remove files for GrabAccessControl.Peter Hutterer1-5/+0
2008-01-03Merge branch 'master' into mpxPeter Hutterer1-23/+2
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
2007-12-04dix: change the filters to be per-device.Peter Hutterer1-3/+9
If we have one global filter, one pointer may change the filter value and affect another pointer. Reproduceable effect: blackbox and xterm, start dragging xterm then click anywhere with the other pointer (attached to different masterd device!). The button release resets the filter[Motion_Filter(button)] value, thus stopping dragging and no event is sent to the client anymore. Having the filters set per device gets around this.
2007-11-20registry: Remove registry code from XInput extension.Eamon Walsh1-115/+0
Moving all the names into dix/registry.c
2007-11-18Xi: add missing XI_DeviceClassesChangedMask to XI filters array.Peter Hutterer1-1/+2
2007-11-13Xi: remove RegisterPairingClient handling. Deprecated with device hierarchy.Peter Hutterer1-8/+0
2007-11-13Xi: remove trailing whitespaces.Peter Hutterer1-13/+13
2007-11-09Xi, dix: Add ability to change MD classes + send event when doing so.Peter Hutterer1-0/+51
Each time a different slave device sends through a master, an DeviceClassesChangedEvent is enqueued. When this event is processed, all classes of the matching master device are changed, and the event is sent to the clients. Next time the master is queried, it thus shows the evclasses of the last slave device. The original classes are stored in the devPrivates. TODO: if all slave devices are removed, the master's original classes need to be restored.
2007-11-09Xi: notify the clients when the device hierarchy has been changed.Peter Hutterer1-3/+2
2007-11-08Merge branch 'mpx' into mdsdPeter Hutterer1-2/+1
Conflicts: Xi/opendev.c
2007-11-07Merge branch 'master' into mpxPeter Hutterer1-2/+1
Conflicts: Xi/extinit.c Xi/grabdev.c Xi/setmode.c Xi/ungrdev.c dix/devices.c dix/events.c dix/getevents.c include/dix.h mi/midispcur.c mi/misprite.c xkb/xkbActions.c xkb/xkbEvents.c xkb/xkbPrKeyEv.c
2007-10-19Xi: advertise as XInput v2 capablePeter Hutterer1-2/+2
2007-10-19Xi: remove ChangePointerKeyboardPairing in favour of ChangeDeviceHierarchy.Peter Hutterer1-9/+5
2007-10-15registry: Register Input extension protocol names.Eamon Walsh1-0/+117
2007-09-28xace: add new hooks + access controls: XInput extension.Eamon Walsh1-23/+0
Introduces new dix API to lookup a device, dixLookupDevice(), which replaces LookupDeviceIntRec and LookupDevice.
2007-09-26Input: Properly swap DevicePresenceNotify events.Eamon Walsh1-0/+3
2007-09-26Input: Return errors to the dispatcher instead of sending them ourself.Eamon Walsh1-8/+2
Also fixed two "unused variable: stuff" warnings.
2007-09-26Xi: unify ErrorFs. Prefix all with [Xi].Peter Hutterer1-1/+1
2007-09-06dix: don't change the device struct while processing core events.Peter Hutterer1-0/+12
The device state needs to be changed while processing the XI event. Core events are always processed after XI, so by then the device is already set up properly. However, we now rely on DeviceButtonMotionMask to be equal to ButtonMotionMask. It already is, but stick a big fat warning in so nobody attempts to change it. This commit disables XKB for the VCK, thus essentially for all devices. Temporarily anyway.