Commit Graph

720 Commits

Author SHA1 Message Date
Mark Vytlacil
41c3069f7c XFree86: Input: Save/restore errno around SIGIO (bug #10683)
Make sure errno is saved and restored from the SIGIO handler, so errors
from system calls in input handlers don't break the interrupted code.
2007-11-04 16:46:21 +00:00
Kristian Høgsberg
7a0555e9bb Fix crash in xf86InitOrigins()
In a multihead setup, if only the first screen can be
initialized, but the second screen is mentioned first in the
ServerLayout section, the xf86InitOrigins() function will crash
because the screen referred to in the e.g. "RightOf" part is
non-existent.
2007-11-02 12:06:09 -04:00
Kristian Høgsberg
692654b430 Set up visuals for the existing X visuals.
This makes the root visual a GLX capable visual again and adds a GLX visual
for the COMPOSITE ARGB visual cleanly (as opposed to the hack we had before).
2007-10-29 18:14:18 -04:00
Peter Hutterer
8ead41388e xfree86: wrap keyboard devices for XKB.
Call ProcessOtherEvents first, then for all keyboard devices let them be
wrapped by XKB. This way all XI events will go through XKB.

Note that the VCK is still not wrapped, so core events will bypass XKB.

(cherry picked from commit d627061b48)
2007-10-28 17:31:07 +02:00
Daniel Stone
6d59bb5709 XFree86 Misc/VidMode: Remove ridiculous debug ErrorFs
When we're building with --enable-debug, don't emit an ErrorF every time a
function gets called.
2007-10-26 09:12:38 +03:00
Eamon Walsh
b633d54b94 Merge branch 'master' into XACE-SELINUX
Conflicts:

	GL/glx/glxscreens.c
	hw/xnest/Screen.c
	render/glyph.c
	render/glyphstr.h
	render/render.c
2007-10-25 12:19:30 -04:00
David Nusinow
d808d653d1 Define PCI_TXT_IDS_DIR more cleanly 2007-10-22 21:30:04 -04:00
David Nusinow
be9b0e558d Add a note as to why the text file based PCI ID scheme is present at all 2007-10-21 23:49:14 -04:00
David Nusinow
b79b965bd9 Fix compilation issue on FreeBSD (bug #12841)
Hide getline call by checking for glibc. If not, use fgetln instead. Even
though this section is now #ifdef'ed for linux only, this should help make
it more portable if non-linux folks end up wanting it.
2007-10-21 23:46:54 -04:00
David Nusinow
7f5e71fa73 Make PCI text file directory configurable 2007-10-21 23:41:49 -04:00
Eric Anholt
7e1cada6c6 Disable debian pci-id-list autoconfig code on non-linux.
It contains static paths, fails to build on non-glibc, and apparently just
exists to support distributions managing binary drivers and open-source drivers
together.  Also restores previous code for fallback to vesa if nothing is
detected.
2007-10-19 15:16:19 -07:00
Kristian Høgsberg
8e3c1dfc48 Introduce a new "GlxVisuals" option that controls which visuals are added.
Right now we default to "all" which gives us a situation much like before,
but when the "typical" option is implemented, we can change the default and
reduce the number of visuals the GLX module bloats the X server with.
2007-10-18 21:03:43 -04:00
Eamon Walsh
c3f7b86255 Merge branch 'master' into XACE-SELINUX
Conflicts:

	os/access.c
2007-10-17 15:00:54 -04:00
Keith Packard
feac075952 Make config file preferred mode override monitor preferred mode.
Add a new even-more-preferred bit to each mode which is used to make config
file preferences selected instead of the monitor preferred mode.
2007-10-17 11:42:28 +08:00
Peter Hutterer
5fe9bfd23f xfree86: NIDR: don't call PairDevices explicitly.
set isMaster to FALSE explicitly.

Pairing isn't necessary, attachment should be done in EnableDevices.
2007-10-16 18:23:48 +09:30
Peter Hutterer
271d4c3d62 xfree86: remove XI86_SHARED_POINTER flag.
Not needed anymore. By default, all devices are slaves of first master device.
2007-10-16 15:50:07 +09:30
Peter Hutterer
e9f149fb56 Fix up detritus from removing GetPairedPointer/Keyboard. 2007-10-16 14:24:20 +09:30
Ben Byer
3d4eb17b38 mass change from #ifdef i386 to #ifdef __i386__ to conform to ANSI 2007-10-14 18:07:03 -07:00
David Nusinow
eaf0e2a21c Fix another compiler warning 2007-10-11 22:31:24 -04:00
David Nusinow
a5089af726 Fix a warning about the control logic in xchomp() 2007-10-11 22:24:31 -04:00
David Nusinow
cdf29ff45a Remove some unused variables 2007-10-11 22:23:34 -04:00
David Nusinow
3367091f7f Separate choosing driver from the file-based implementation
This clears the implementation out of the way to prepare for development
of a symbol-based resolution scheme
2007-10-11 22:21:38 -04:00
David Nusinow
ea2d4dc468 When there's no xorg.conf, use the video driver autoloading function 2007-10-11 20:26:02 -04:00
David Nusinow
8825d36a38 Allow the user to not have a screen section
If none is present, a default one will be created. This will be attached
to either the first device section in the xorg.conf (allowing you to
specify something like using EXA without having a screen section) or a
default screen section if none is present in the file.
2007-10-09 22:49:07 -04:00
David Nusinow
8665cf3327 Don't require that the screen explicitly attach the device section
This will allow the screen to not explicitly have a device section. If
this is the case and there is a device section in the xorg.conf, the first
one will be used. If there is no device section at all, a default one will
be created that loads the automatically determined module.
2007-10-09 22:45:15 -04:00
David Nusinow
37898b824f Use the best guess heuristic as a fallback for autoloading
This prevents breaking the current behavior
2007-10-09 22:13:15 -04:00
David Nusinow
847fbbf4d2 Fix autoloading of drivers for pci-rework 2007-10-09 22:13:15 -04:00
David Nusinow
6033d8150b First pass at improved video driver autoloading
This is what we're currently shipping in Debian. Enables the ability for
drivers to ship a text file listing PCI ID's they support, and have the
server read them on startup when no driver is specified. This works, but
isn't the final solution.
2007-10-09 22:13:15 -04:00
David Nusinow
81d7b81146 Load intel instead of i810 when autoconfiguring 2007-10-09 22:13:15 -04:00
Peter Hutterer
45ec6cd1fb xfree86: fix DGA to use the correct devices.
DGAStealXXXEvent modified to take in device argument.

The evdev driver only sends one valuator when only one axis changed. We need
to check for DGA either way (xf86PostMotionEventP), otherwise we lose purely
horizontal/vertical movements.

Note that DGA does not do XI events.
2007-10-02 13:19:07 +09:30
Peter Hutterer
122ae65ed9 xfree86: xf86DGA: some cleanup to use the correct devices instead of VCP/VCK. 2007-10-02 10:50:59 +09:30
Peter Hutterer
54ce7436b2 xfree86: update all pointers when calling xf86SwitchMode
Center the frame around the first pointer found and then update all pointers
on the same screen to move to the edges (if necessary).

Note: xf86WarpCursor needs to be modified, is using deprecated
miPointerWarpCursor and will kill the server when called with
inputInfo.pointer.
2007-10-02 10:49:46 +09:30
Peter Hutterer
113011221a Xi, xfree86: Remove leftovers of the XI wrapper code. 2007-10-01 21:42:01 +09:30
Eamon Walsh
5c03d13181 xace: add new hooks + access controls: XInput extension.
Introduces new dix API to lookup a device, dixLookupDevice(), which
replaces LookupDeviceIntRec and LookupDevice.
2007-09-28 08:02:00 -04:00
Peter Hutterer
e2cb851566 xfree86: pass in the XKB event processing proc instead of the XI one.
We need to pass ProcessPointerEvent or ProcessKeyboardEvent to
XkbSetExtension, otherwise we lose the xkb layer.
2007-09-26 18:01:17 +09:30
Peter Hutterer
340911d724 Wrap core event handling through ProcessOtherEvents.
When processing events from the EQ, _always_ call the processInputProc of the
matching device. For XI devices, this proc is wrapped in three layers.
Core event handling is wrapped by XI event handling, which is wrapped by XKB.
A core event now passes through XKB -> XI -> DIX.

This gets rid of a sync'd grab problem: with the previous code, core events
did disappear during a sync'd device grab on account of mieqProcessInputEvents
calling the processInputProc of the VCP/VCK instead of the actual device. This
lead to the event being processed as normal instead of being enqueued for
later replaying.
2007-09-26 15:12:49 +09:30
Eamon Walsh
97c150b61b Merge branch 'master' into XACE-SELINUX
Conflicts:

	afb/afbpntwin.c
	afb/afbscrinit.c
	afb/afbwindow.c
	cfb/cfb.h
	cfb/cfballpriv.c
	cfb/cfbscrinit.c
	cfb/cfbwindow.c
	configure.ac
	fb/wfbrename.h
	hw/xfree86/xf4bpp/ppcIO.c
	hw/xfree86/xf4bpp/ppcPntWin.c
	hw/xfree86/xf4bpp/ppcWindow.c
	hw/xfree86/xf8_32bpp/cfbscrinit.c
	mfb/mfb.h
	mfb/mfbpntwin.c
	mfb/mfbscrinit.c
	mfb/mfbwindow.c
	mi/miexpose.c

Note: conflicts caused by devPrivates rework vs. paintwindow changes.
2007-09-19 07:25:55 -04:00
Peter Hutterer
d627061b48 xfree86: wrap keyboard devices for XKB.
Call ProcessOtherEvents first, then for all keyboard devices let them be
wrapped by XKB. This way all XI events will go through XKB.

Note that the VCK is still not wrapped, so core events will bypass XKB.
2007-09-06 18:57:00 +09:30
Daniel Stone
81c28ffd2b Fix key repeats during VT switch.
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-05 17:46:23 -07:00
Keith Packard
accd71bda6 Deliver correct event when releasing keys on VT switch.
In commit 41bb9fce47, the event delivery loop
for Xinput enabled keyboards was changed and accidentally used the wrong
index variable, causing random events to be delivered when returning from VT
switch.

In addition, in commit aeba855b07,
SIGIO was blocked during delivery of these events, but not for the entire
period the xf86Events array was being used. Block SIGIO for the whole loop
to avoid other event delivery from trashing the key release events.
(cherry picked from commit aa7ed1f5f3)
2007-09-05 14:56:56 -07:00
Eric Anholt
47300ed2be Fix server version reporting to be the server package version.
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-09-05 12:43:28 -07:00
Eric Anholt
c2d80529fc Remove the now-dead PciAvoid symbol. 2007-08-30 11:26:17 -07:00
Eamon Walsh
4017d31902 devPrivates rework: since API is already broken, switch everything
over to new system.

Need to update documentation and address some remaining vestiges of
old system such as CursorRec structure, fb "offman" structure, and
FontRec privates.
2007-08-28 09:28:25 -04:00
Eamon Walsh
8554707326 Merge branch 'master' into XACE-SELINUX
Conflicts:

	include/miscstruct.h
	mi/mibstore.c
	mi/midispcur.c
	os/Makefile.am
2007-08-28 07:25:21 -04:00
Eric Anholt
3fe67d23ed Remove the BusAccWindows resource code which is now unused.
This was a bunch of poorly defined resource ranges per OS/platform combination
which were supposed to represent what regions could potentially have resources
allocated into them.
2007-08-27 19:02:41 -07:00
Eric Anholt
9e2112b2b5 Remove unused xf8GetBlock and xf86GetSparse entry points. 2007-08-27 18:50:34 -07:00
Adam Jackson
ae7f71a8b3 Implement core protocol backing store exclusively in terms of Composite.
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-25 15:08:20 -04:00
David Nusinow
bf0883ae50 Fix bug in debugging info related to pci-rework merge 2007-08-25 14:53:17 -04:00
Aaron Plattner
1ab4b3e183 Bump video driver ABI for pci-rework. 2007-08-24 16:00:31 -07:00
Ian Romanick
8b6b40b727 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/common/xf86.h
	hw/xfree86/common/xf86Init.c
	hw/xfree86/common/xf86pciBus.c
	hw/xfree86/int10/generic.c
	hw/xfree86/int10/helper_exec.c
	hw/xfree86/loader/xf86sym.c
	hw/xfree86/os-support/bus/Pci.c
	hw/xfree86/os-support/bus/Pci.h
	hw/xfree86/os-support/bus/linuxPci.c
	hw/xfree86/os-support/linux/int10/linux.c
2007-08-23 18:19:17 -07:00
Julien Cristau
13949f9972 Get rid of the type1 font module.
It is completely replaced by freetype these days.
2007-08-23 11:27:33 +02:00
David Nusinow
c839859d1b Move module defaults from the header to the source file.
This is where they should have been in the first place. All the rest of
the code in the server defines such things in the source files, not the
headers.
2007-08-20 21:09:27 -04:00
Eamon Walsh
b82557c9fb xace: add hooks + new access codes: core protocol screensaver requests 2007-08-16 10:36:05 -04:00
Eamon Walsh
42d6112ec2 xace: add hooks + new access codes: core protocol GC requests 2007-08-14 13:09:38 -04:00
Peter Hutterer
f367285fd5 Merge branch 'master' into mpx
Conflicts:

	Xi/exevents.c
	dix/devices.c
	dix/getevents.c
	include/dix.h
	mi/mieq.c
2007-08-12 15:31:10 +09:30
Daniel Stone
0e0174d45e XFree86: Allow disabling of HAL
If NoAutoAddDevices is given as a server flag, then no devices will be added
from HAL events at all.  If NoAutoEnableDevices is given, then the devices will
be added (and the DevicePresenceNotify sent), but not enabled, thus leaving
policy up to the client.
2007-08-01 03:33:06 +03:00
Daniel Stone
cd8e99e56e Input: Don't enable devices when we open them
Thanks to Xi's braindead design, it's otherwise impossible to query input
devices without enabling them.  Hurrah.
2007-08-01 03:33:06 +03:00
Daniel Stone
89f628394f XFree86: Input: Fix whitespace 2007-08-01 03:33:05 +03:00
Daniel Stone
a93033b0bc XFree86: Module: Bump input version
config_info changes the size (and ordering) of DeviceIntRec, so bump the
input major.
2007-08-01 01:53:31 +03:00
Daniel Stone
7c9e8fd56e Input: Allow enabling and disabling of devices
Add DEVICE_ENABLE to KDrive and XFree86 to allow us to enable and disable
devices on the fly.
2007-08-01 01:53:31 +03:00
Daniel Stone
4d3379d418 Fonts: Fix builtin fonts
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-01 01:53:31 +03:00
Adam Jackson
21bbd7d64b Delete some pre-dlloader debugging scaffolding.
If your loader is as bad as elfloader, then it makes sense for the
server to have some stubs for you to assign to / break on.  However it
is no longer 1996.
2007-07-18 15:45:11 -04:00
Adam Jackson
1f71f0c057 Remove (long-)deprecated xf86EnablePciBusMaster. 2007-07-18 15:44:45 -04:00
Adam Jackson
0a63d874e9 Always normalize the module name. 2007-07-18 15:44:45 -04:00
Adam Jackson
9a1c6afd12 Remove dead code for screen crossing. 2007-07-18 15:44:44 -04:00
Adam Jackson
8ca2fe8914 Delete dead module test code. 2007-07-18 15:44:44 -04:00
Adam Jackson
e2413cc7ca Remove MEMDEBUG
This existed (but may not have worked) in the monolith, but is gone now.
2007-07-18 15:43:40 -04:00
Adam Jackson
d1d65a8415 Dead ifdefs for BITMAP_SCANLINE_UNIT == 64
This appears to be a legacy of cfb24 not being smart enough to deal with this
case.  But since cfb24 unexists, die die die.
2007-07-18 15:42:30 -04:00
Adam Jackson
cbe74394a5 Nuke dead X -configure code. 2007-07-18 15:39:44 -04:00
Keith Packard
ac979c1651 MakeAtom needs length without trailing NUL. sizeof("string") includes NUL.
I made a mistake in some new code using MakeAtom, passing the size of the
string instead of the length of the string. Figuring there might be other
such mistakes, I reviewed the server code and found four bugs of the same
form.
2007-07-14 12:13:17 -07:00
Keith Packard
881a620b4d When sync'ing logfile, also flush it.
When the logfile is set to sync, the actual sync occurs whenever the log
file is flushed. If the log file is not also set to flush, no syncing
occurs.
2007-07-14 09:03:46 -07:00
Alan Coopersmith
031b009ea6 Use %S instead of %s for strftime seconds when printing build time 2007-07-13 14:54:45 -07:00
Alan Coopersmith
6b4231e3b5 Use kbd driver when xorg.conf specifies "keyboard" or "Keyboard" (bug #11301)
X.Org Bug #11301 <https://bugs.freedesktop.org/show_bug.cgi?id=11301>
Sun Bug #6560332 <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6560332>
2007-07-12 16:36:27 -07:00
Adam Jackson
e316fa59fe Add per-monitor config file option for maximum pixel clock. 2007-07-10 14:20:55 -04:00
Adam Jackson
4d76075dbb Death to RCS tags. 2007-06-29 14:06:52 -04:00
Adam Jackson
f7f3fe7fe7 Remove the remnants of OS/2 support.
This has never worked in any modular server release, and as far as I know
was never tested in 6.7 through 6.9.
2007-06-28 18:59:05 -04:00
Tiago Vignatti
38f8e53668 Janitor work. Remove 'defined but not used' warnings from xorg and other cosmetic. 2007-06-27 03:19:37 -03:00
Peter Hutterer
4c601b904e configFiles(): don't return anything when declared as void. 2007-06-25 10:53:05 +09:30
Peter Hutterer
bec4e47d12 NULL-terminate device list when synthesizing core devices.
This fix is required for 93ca526892 to work.
2007-06-25 10:51:42 +09:30
Peter Hutterer
93ca526892 Split up memory for devices configured in the config file.
If we're using a continuous block here, we segfault when a device removal
triggers an xfree call.
2007-06-25 09:35:30 +09:30
Peter Hutterer
1f97a76476 Merge branch 'master' into mpx
Conflicts:

	dix/devices.c
	hw/xfree86/common/xf86Xinput.c
	hw/xfree86/loader/xf86sym.c
	mi/mieq.c
2007-06-19 17:20:52 +09:30
Ian Romanick
ab7a6d860d Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/os-support/bus/Pci.c
	hw/xfree86/os-support/bus/linuxPci.c
2007-06-18 16:51:13 -07:00
Lennart Buytenhek
831d3b7f8d Compile fixes for Linux ARM platforms. 2007-06-18 12:05:55 -04:00
Zephaniah E. Hull
562ca3f2f9 In NewInputDeviceRequest, only call EnableDevice if xf86Screens[0]->vtSema is
true, preventing unwanted behavior in the case where a device is added while
the user is in a different VT.
2007-06-18 12:00:49 -04:00
Clark Rawlins
8d5f4368ea Really make sure BUILD_TIME doesn't have a leading zero.
date +'%k%M%S' still gives a leading zero in the hour after midnight...

Add a leading 1 and remove it in xf86PrintBanner().
2007-06-11 16:53:38 +02:00
Zephaniah E. Hull
75dece08fb xf86PostMotionEvents[P] calls xf86SendDragEvents, xf86SendDragEvents
unconditionally checks device->button->buttonsDown.

Let's make it possible to have a device with motion, but no buttons.

Without segfaulting.
2007-06-04 09:09:20 -04:00
Zephaniah E. Hull
fbb9b20395 Let's not do a calloc and a free on every call to xf86PostMotionEvents. 2007-06-04 06:59:42 -04:00
Zephaniah E. Hull
3f4295e643 Add xf86PostMotionEventP, takes a pointer instead of a variable number of
arguments.

Bump input ABI to 1.1 since we export this.
2007-06-04 06:48:06 -04:00
Zephaniah E. Hull
0cbc3a4da2 Print the build time as well as the date if we can. 2007-06-04 02:03:44 -04:00
Daniel Stone
9a7aaeb3f6 XFree86: Input: Assume core events per default
Assume that a device will be sending core events, unless explicitly
specified otherwise.
2007-06-03 18:38:53 +03:00
Daniel Stone
94361cbba7 XFree86: Input: Perform case-insensitive comparisons on option names 2007-06-03 18:38:42 +03:00
Adam Jackson
90eb22656c Minor cleanup/robustification to config parsing. 2007-06-02 16:49:26 -04:00
Adam Jackson
f6a983533b Don't warn about default behaviour when autoconfigging. 2007-06-02 16:37:39 -04:00
Henry Zhao
66702f3c1c Need to use minPitch in miScanLineWidth() to get the shrinked
linePitch.
2007-06-01 23:55:40 -07:00
Matthieu Herrb
ee20c481ee Remove wscons keyboard handling stuff that doesn't belong there anymore. 2007-05-29 14:54:27 -06:00
Bastian Blank
2267bf48b3 Fixes for s390 2007-05-28 21:55:05 -04:00
Keith Packard
6a870992d8 xf86XVFillKeyHelper assumed root clip never changed.
When the root window changed size, xf86XVFillKeyHelper would not revalidate
the GC, leaving the clip at the old size causing lossage (and possibly
memory corruption if the screen and frame buffer shrank).

Fixed by just using a scratch GC; saving memory, eliminating bugs and
shrinking the code.
2007-05-25 20:33:18 -07:00
Michel Dänzer
649e7f82d8 Consolidate portPriv->pDraw assignments into xf86XVEnlistPortInWindow.
This avoids a crash in xf86XVReputVideo and also cleans up the code slightly.
2007-05-24 12:10:05 +02:00
David Nusinow
ff2eae86b6 Fix boolean thinko that prevented working without a server layout 2007-05-21 22:10:55 -04:00
Peter Hutterer
5c680e9493 Remove double-grab option. We only want one grab per device. 2007-05-14 12:34:53 +09:30
David Nusinow
021e5df85d Add more informative logging for module default loading
When the modules section is parsed, if a module is set to be loaded by
default, this will be logged. If it is redundantly specified in xorg.conf,
this will also be noted. None of this logging will happen if the xorg.conf
lacks a modules section.
2007-05-07 21:09:01 -04:00
David Nusinow
030a578391 Provide UseDefaultFontPath option
This provides a new option, UseDefaultFontPath. This option is enabled by
default, and causes the X server to always append the default font path
(defined at compile time) to the font path for the server. This will allow
people to specify additional font paths if they want without breaking
their font path, thus hopefully avoiding ye olde "fixed front" problem.

Because this option is a ServerFlag option, the ServerFlags need to be
processed before the files section of the config file, so swap the order
that they are processed.
2007-05-03 22:51:32 -04:00
David Nusinow
e91b9ddc7a Improve modules loading defaults
Provide default modules that may be overrided easily. Previously the
server would load a set of default modules, but only if none were
specified in the xorg.conf, or if you didn't have a xorg.conf at all. This
patch provides a default set and you can add only the "Load" instructions
to xorg.conf that you want without losing the defaults. Similarly, if you
don't want to load a module that's loaded by default, you can add "Disable
modulename" to your xorg.conf (see man xorg.conf in this release for
details). This allows for a minimal "Modules" section, where the user only
need specify what they want to be different. See bug #10541 for more.

The list of default modules is taken from the set loaded by default when
there was a xorg.conf containing no "Modules" section.

A potential problem for some users is that some users disable a module,
most notably DRI, by commenting out the "Load" line in their xorg.conf.
This needs to be changed to an uncommented "Disable" line, as DRI is
loaded by default.
2007-05-03 22:00:23 -04:00
Peter Hutterer
58c0fd2927 Adjust EQ to support long events.
Add RawDeviceEvent (pointers only for now).

This commit changes the event queue to use EventLists instead of xEvent
arrays. Only EQ is affected, event delivery still uses xEvent* (look for
comment in mieqProcessInputEvent).

RawDeviceEvents deliver driver information to the client, without clipping or
acceleration.
2007-05-02 13:50:09 +09:30
Peter Hutterer
f28eea0647 Merge branch 'master' into mpx
Conflicts:

	dix/devices.c
	dix/events.c
2007-04-27 16:34:36 +09:30
Peter Hutterer
09436fb7c3 Disable devices before removing, remove unrecoverable devices. 2007-04-24 23:11:44 +09:30
Peter Hutterer
c7e2ba0c9b Use DevicePresence events to tell the client about enabled/disabled devices.
Include the device id in the event sent to the client.
2007-04-24 23:11:44 +09:30
Peter Hutterer
547d720938 Remove workaround for a NULL core pointer in ProcessInputEvents.
This workaround is obsolete with 33a5d9605e
2007-04-12 11:16:19 +09:30
Peter Hutterer
d4dad6f84f Merge branch 'master' into mpx
Conflicts:

	configure.ac
	dix/events.c
	hw/xfree86/common/xf86Xinput.c
2007-04-12 11:11:03 +09:30
Daniel Stone
33a5d9605e XFree86: DGA: Don't call ProcessInputEvents from CloseScreen
By the time CloseScreen gets called, we can't call ProcessInputEvents, as
the event queue will get unhappy.  So just unregister our hooks instantly,
and hope that they don't get called.
2007-04-11 18:28:57 +03:00
Remigiusz Marcinkiewicz
aecbc71214 Input: Allow a pointer to a device to be returned in NIDR
Allow a pointer to the first device added to be returned, so we know which
device(s) were added by the NIDR call.
2007-04-11 00:38:16 +03:00
Magnus Vigerlöf
82962bbae2 Input: Add DeleteInputDeviceRequest
Add DIDR, which asks the DDX to remove a device, analogous to
NewInputDeviceRequest.  Only implemented for XFree86 at the moment.
2007-04-10 23:58:20 +03:00
Magnus Vigerlöf
7b82a836c6 XFree86: Fix memory leaks, option parsing, in NewInputDeviceRequest
Plugged some possible memory leaks, and added some more checks on the
options, particular for driver/identifier.  Added an unwind.
2007-04-10 23:58:20 +03:00
Magnus Vigerlöf
4771fa8747 XFree86: Fix memory leak in option parsing
Fix option parsing functions and callers thereof to not leak memory.
2007-04-10 23:58:20 +03:00
Peter Hutterer
f1f8b562aa Alloc sprite memory in devices' devPrivates, allow undisplaying cursors.
Improve memory usage by allocating the sprite's memory only to devices that
actually have a sprite and provide means to remove a device's cursor from the
screen (more hotplugging, yay!).
This commit breaks ScreenRec's ABI.
2007-04-09 19:31:59 +09:30
Daniel Stone
4beeab8424 XFree86: Treat evdev and vmmouse as mouse drivers (bug #10512, #10559)
When we see an evdev or vmmouse section, assume that it's a mouse, and
don't add a default mouse device.  This will break users who have an
evdev keyboard section but no mouse, and want the mouse to get added
by default.
2007-04-08 13:39:06 +03:00
Peter Hutterer
e8777a91f3 Merge branch 'master' into mpx
Conflicts:

	Xi/closedev.c
	Xi/exevents.c
	Xi/extinit.c
	Xi/listdev.c
	dix/window.c
	hw/xfree86/common/xf86Xinput.c
	include/extinit.h
	mi/mipointer.c
2007-04-02 15:36:26 +09:30
Aaron Plattner
5257b32e49 Bump video driver ABI to 2.0 for cw change (commit 6ed08949af). 2007-03-30 17:07:44 -07:00
Peter Hutterer
63d8f01819 dix: Fix wrong cursor refcount.
Calloc cursor struct to ensure devPrivates are zeroed out and don't
        increase the refcnt for devices automatically when allocating a new
        cursor. Use new DeviceIsPointerType() to detect if device is a pointer
        _before_ device has been activated and can thus be identified and set
        up grab functions accordingly. This way we can increase the refcnt
        when we get a pointer grab.
2007-03-30 14:59:43 +09:30
Ian Romanick
2c6d471088 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/Makefile.am
	hw/xfree86/dri/dri.c
2007-03-28 08:08:04 -07:00
Adam Jackson
62224e3972 Static cleanup for xf86 ddx. 2007-03-25 17:55:15 -04:00
Adam Jackson
e8bc1988d9 Un-staticise VTSwitchEnabled, since kbd wants it apparently. 2007-03-25 15:13:05 -04:00
Adam Jackson
9a0f25de7c Static cleanups, dead code deletion. 2007-03-25 12:27:01 -04:00
Peter Hutterer
5f9c10e8da Clean up DeviceIntPtr, prepare for Server 1.4 ABI. Move sprite-related
information into a new SpriteInfoRec, remove isMPDev flag.
2007-03-25 15:00:03 +09:30
Daniel Stone
3e9f7a5504 XFree86 DGA: Guard against NULL pointer dereferences.
Ass, u, me ...
2007-03-21 02:35:31 +02:00
Adam Jackson
021fc5cb2c Static markup and dead code cull over xkb/.
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.
2007-03-20 18:37:02 -04:00
Daniel Stone
9398d62f27 XFree86 input: Add backwards compatibility for motion history
Add the old motion history API back, as a shim around the new mi API.
2007-03-21 00:18:24 +02:00
Daniel Stone
0f75c47e0c xfree86 input: Re-enable DGA support
Re-enable DGA support for relative mouse motion.
2007-03-21 00:12:02 +02:00
Peter Hutterer
015d728bcd Merge branch 'master' into mpx
Conflicts:

	dix/devices.c
	dix/events.c
	mi/misprite.c
2007-03-19 09:42:56 +10:30
Peter Hutterer
65b0eb60b0 Xi: move IsPointerDevice into dix.
dix:    IsPointerDevice and IsKeyboardDevice, use same ways to identify type
        of device as XI does for the XListInputDevices reply.
        Autopair each non-pointer device with VCP when activating, pair with
        real device after activation.
        Don't return non-keyboard devices when calling GetPairedKeyboard or
        PickKeyboard, otherwise we segfault for 'evdev brain'.
2007-03-16 15:52:24 +10:30
Peter Hutterer
ceca5670fe dix: Each device needs to differ between a core grab and an XI grab,
otherwise a Xi grab may overwrite or release a core grab.
        Replace grab and associates with coreGrab and deviceGrab structures,
        adjust rest of dix/Xi/etc to compile.

xfree86: Don't check for core devices, we'll have the virtual ones anyway.
         If we check, the first mouse device is duplicated and sends
         double events.
2007-03-08 17:17:23 +10:30
Eric Anholt
024bbc7cbb Bug #9931: Fix linear allocations with a non-1-byte granularity.
This was introduced in 83080809f9.  Instead of
aligning the offset, it doubled it.  Results were appropriately spectacular.
2007-03-06 16:20:34 -08:00
Peter Hutterer
39aa791771 dix: Add GuessFreePointerDevice(). Runs through device list and tries to
find a pointer that hasn't been paired yet.

xfree86:  Use GuessFreePointerDevice() for newly connected non-sprite devices.
2007-03-05 15:31:16 +10:30
Peter Hutterer
1f0075786f Merge branch 'master' into mpx
Conflicts:

	configure.ac
	dix/getevents.c
	hw/xfree86/ramdac/xf86Cursor.c
	mi/mipointer.c
	xkb/xkbUtils.c
2007-03-05 12:37:17 +10:30
Peter Hutterer
e43b8a4e40 dix: Add ClientPointer to client, used for picking which pointer to use in
ambiguious request. PickPointer and PickKeyboard are used for getting
        the appropriate pointer when situation is unclear.
        Fix some issues with InitializeSprite.

dix, xfree86: Remove last traces of InitSprite.
2007-03-02 15:21:46 +10:30
Peter Hutterer
43bd35fcf8 dix: Remove InitSprite, work can be done by InitializeSprite.
Free sprite struct if a spriteOwner is paired.

xfree86: Use PairDevices instead of passing booleans around when creating a
         sprite.

Xext:    Switch back to using LookupPointer/KeyboardDevice instead of
         inputInfo.xyz.
2007-03-01 17:19:37 +10:30
Peter Hutterer
bc4ae25433 xfree86: Don't initialize sprites for devices that don't own a sprite (stops
keyboard hotplug segfaults)
2007-02-23 12:06:51 +10:30
Ben Byer
cf4994b0db dix mods for Darwin 2007-02-17 01:21:43 -08:00
Keith Packard
f350909d16 Kludge around duplicate code added in hw/xfree86/modes.
Code added in hw/xfree86/modes came from the server-1.3-branch.
Portions of this code had previously been integrated into xf86Mode.c
and edid_modes.c.

To preserve hw/xfree86/modes as much as possible, the duplicate code from
the other files has been disabled; a more careful review would figure out
where that code actually belonged.
2007-02-15 21:50:48 -08:00
Peter Hutterer
f6c3b9fa97 xfree86: mouse and keyboard hotplugging support. New mouse devices will get
new cursors,  keyboard devices use VCP's focus until paired.
2007-02-15 13:51:20 +10:30
Ian Romanick
16eb7254f8 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework 2007-02-09 12:38:49 -08:00
Eric Anholt
8bce182568 Restore a few important lines killed in the previous commit.
Typical results were failure to sync, and a black screen.
2007-01-29 17:30:59 -08:00
Ian Romanick
3814862a86 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/os-support/bus/linuxPci.c
2007-01-29 15:14:31 -08:00
Eric Anholt
31f2d4a57e Bug #9680: Remove bogus blank length limiting in xf86SetModeCrtc().
Our modes typically come from EDID or default modes, and when the monitor
asks for a specific mode, deciding to tweak it usually results in incorrect
display.  And if the user is specifying a mode by hand, tweaking it then is
still pretty rude.

Reviewed by: ajax
2007-01-29 09:45:33 -08:00
Peter Hutterer
4aaaa70d1b Xi: Adding ChangePointerKeyboardPairing request
Adding PointerKeyboardPairingChanged event
	Correct error values for XWarpDevicePointer

dix:	Adding device argument to SendMappingNotify
	Adding spriteOwner flag to devices
2007-01-29 18:23:24 +10:30
Peter Hutterer
15a81b6325 Merge branch 'master' 2007-01-28 17:18:57 +10:30
Ian Romanick
39b51e1bfc Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework 2007-01-23 13:25:56 -08:00
Michel Dänzer
788cfce911 Bump video driver ABI version to 1.2.
This is necessary because server-1.2-branch bumped to 1.1 for xf86CVTMode and
we have xf86XVFillKeyHelperDrawable on top of that.
2007-01-23 10:15:22 +01:00
Ian Romanick
637b19b3ee Eliminate pciControlBridge, pciGetBridgeBuses, and pciGetBridgeResources. 2007-01-22 09:58:33 -08:00
Ian Romanick
88f248e671 Replace PciBusId with 'struct pci_device *'
There's no need to store the slot information for a PCI device as its
ID.  Instead, skip the middle man and just store a pointer to the
pci_device structure.
2007-01-17 14:04:43 -08:00
Ian Romanick
0361611080 Convert xf86IsolateDevice to a 'struct pci_slot_match'.
This change was accidentally not committed on the previous commit.
2007-01-17 13:06:04 -08:00
Ian Romanick
c1808f1484 Convert xf86IsolateDevice to a 'struct pci_slot_match'. 2007-01-17 13:02:27 -08:00
Ian Romanick
d2f8c42c48 Convert xf86FindPrimaryDevice to use a static buffer and snprintf.
Rather than allocate a 9 byte buffer on each invocation, use a static
16 byte buffer.  Use snprintf for safety.  This commit should probably
be cherry-picked to the trunk.
2007-01-17 12:59:17 -08:00
Ian Romanick
28976bebec Eliminate unused fields in pciAccRec. 2007-01-17 12:15:09 -08:00
Ian Romanick
31bd8d1507 Fix domain insanity.
Eliminate xf86GetPciDomain.  The domain from libpciaccess is the
domain.  Period.  This means that 0 is a valid domain.  Make sure that
INCLUDE_XF86_NO_DOMAIN is *not* set.  Always run in "domain mode,"
even if the only domain possible is 0.
2007-01-15 15:19:30 -08:00
Ian Romanick
d8bd0c41de Convert to new pci_device_cfg_write_u* interface. 2007-01-15 11:38:22 -08:00
Ian Romanick
3936caa005 Refactor pciTagConvertRange2Host and pciConvertRange2Host. 2007-01-12 10:59:35 -08:00
Ian Romanick
60c5e023e8 Eliminate some dead code. 2007-01-12 10:24:03 -08:00
Ian Romanick
dd12a94885 Eliminate xf86GetPciEntity from public interface.
xf86GetPciEntity was folded into the only place (xf86CheckPciSlot) in
the tree that still called it.
2007-01-12 10:21:25 -08:00
Ian Romanick
da09964a93 Merge branch 'origin' into pci-rework
Conflicts:

	hw/xfree86/int10/generic.c
2007-01-09 15:27:34 -08:00
Peter Hutterer
a7ab793293 xfree86: fix XI86_SHARED_POINTER flag setting 2007-01-08 17:31:16 +10:30
Marc Aurele La France
83080809f9 xfree86: deal with pitch that isn't a multiple of the granularity
When the pitch isn't a multiple of the granularity, allocate more space to
compensate.
2006-12-24 06:28:52 +02:00
Peter Hutterer
9fd2f167ec xfree86: fix xf86ProcessCommonOptions() core and shared pointer assignment
TAG: mpx-0.3.0
2006-12-20 16:30:36 +10:30
Peter Hutterer
b55e1239ac xfree86: fix xf86ActivateDevice(): only set to MP device if not a keyboard 2006-12-20 14:43:38 +10:30
Peter Hutterer
202b46eb6b xfree86: Changing "IsMPDevice" to "SharedPointer" option. Devices will default
to MP devices.

Xi:	Adding QueryDevicePointer request/reply
	Adding WarpDevicePointer request/reply
2006-12-20 13:05:53 +10:30
Peter Hutterer
2d0a63126b Merge branch 'master' of git://anongit.freedesktop.org/git/xorg/xserver 2006-12-19 10:31:40 +10:30
Peter Hutterer
03c554283e mi: removing MPX ifdefs
global sprite renaming in mipointer and misprite
	fixed: multiple remove cursor call in miSpriteInstallColormap
	fixed: wrong core pointer usage in miSpriteStoreColors

dix:    bugfix in CheckCursorConfinement
	removing MPX ifdefs
	removing MPX event generation (using Xi solely now)
	bugfix GrabDevice: uninitialized field in grab struct caused segfault

xfree86: removing MPX fdefs

Xi:     removing MPX protocol events
2006-12-18 15:33:54 +10:30
Peter Hutterer
ae3c24da34 dix: Moving SpriteRec into DeviceIntRec
removing global sprite structure
	beginning to remove MPX ifdefs

xnest:  Fix to make xnest compile again
2006-12-11 18:09:59 +10:30
Ian Romanick
e1f73d2208 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/common/xf86Configure.c
	hw/xfree86/common/xf86Helper.c
	hw/xfree86/common/xf86pciBus.c
	hw/xfree86/int10/helper_exec.c
	hw/xfree86/os-support/bus/Pci.c
	hw/xfree86/os-support/bus/linuxPci.c
	hw/xfree86/os-support/linux/lnx_pci.c
	hw/xfree86/scanpci/Makefile.am
	hw/xfree86/utils/pcitweak/Makefile.am
	hw/xfree86/utils/scanpci/Makefile.am
2006-12-08 17:24:15 -08:00
Daniel Stone
e59aeac1ff xfree86: remove stray debug line 2006-12-08 21:31:50 +02:00
Michel Dänzer
729fca33a4 Revert "xfree86 DDX: Delete DDX screens in ddxGiveUp()."
This reverts commit a6381e6984.

See https://bugs.freedesktop.org/show_bug.cgi?id=9224 .
2006-12-07 12:09:18 +01:00
Daniel Stone
8884a73a3f xfree86/input: re-add support for disabling drag events 2006-12-06 23:24:24 +02:00
Peter Hutterer
3c8f166022 Merge branch 'master' of git://anongit.freedesktop.org/git/xorg/xserver into mpx
Conflicts:

	dix/events.c
2006-12-05 18:28:33 +10:30
Alan Coopersmith
f9f7d7f3be Check for __sparc as well as __sparc__ for compatibility with Sun cc
(gcc defines __sparc__, Sun cc defines __sparc)
2006-12-04 13:36:30 -08:00
Michel Dänzer
a6381e6984 xfree86 DDX: Delete DDX screens in ddxGiveUp().
This allows video drivers to clean up in the FreeScreen hook things they set up
in the PreInit hook.
2006-11-29 19:25:09 +01:00
Eric Anholt
16f8f10dc2 Move mode handling helpers from ddcProperty.c to xf86Mode.c. 2006-11-27 16:21:31 -08:00
Eric Anholt
b4b0d901d9 Merge branch 'randr-1.2'
Conflicts:

	dix/events.c
	dix/getevents.c
	hw/xfree86/common/xf86Mode.c
	hw/xfree86/dri/Makefile.am
	hw/xfree86/os-support/drm/xf86drm.c
	hw/xfree86/os-support/xf86drm.h
2006-11-27 15:43:15 -08:00
Eric Anholt
d6cd0313c7 Add some mode helper functions from the intel driver.
This also removes static from some other functions that had been copied out
to at least the intel driver, but perhaps others that were doing mode list
handling.
2006-11-27 14:46:50 -08:00
Peter Hutterer
1c7568b8a1 mi: closing memory leak, miPointer is freed in miPointerCloseScreen
bugfix: uninitialized pPointer in miPointerGetPosition ifndef MPX
	adding DeviceIntPtr parameter to ScreenRec's cursor functions.
	cleanup of miPointer code to use same scheme in each function

dix:	MPHasCursor() function determines checking whether to invoke
	cursor rendering.

animcur: adding DeviceIntPtr parameter to cursor functions but animcur relies
	 on the core pointer right now.

xfixes: adding DeviceIntPtr parameter to cursor functions but xfixes relies on
	the core pointer right now.

rac:	adding DeviceIntPtr parameter to cursor functions but RAC relies on
	the core pointer right now.

ramdac:	adding DeviceIntPtr parameter to cursor functions but ramdac relies on
	the core pointer right now.
2006-11-23 17:15:14 +10:30
Aaron Plattner
64de3baf85 Add a -showDefaultLibPath option.
A corollary to the previous change, this option prints $libdir.
2006-11-22 14:46:51 -08:00
Aaron Plattner
0a2a6e4070 Add a -showDefaultModulePath option.
As discussed on the mailing list, people would rather have an X command-line
option to print the module path so installers can know where to put modules,
rather than the installers using `pkg-config --variable=moduledir xorg-server`,
since some distros choose not to install xorg-server.pc.
2006-11-22 14:43:37 -08:00
Peter Hutterer
90bea69dfd mi:
added miCursorInfoRec to contain info of the MPX cursors.
        calling miUpdatePointerSprite() from event queue for MPX devices.
        adding device-specific processing to miPointer*() functions.

dix:    Call to SetCursorPosition in CheckMotion() temporarily disabled.

xfree86/common: call to miPointerUpdateSprite() disabled, is done from the EQ

NOTE: This build will not display cursor images.
BUG: The second mouse does to take correct x coordinates.
2006-11-17 18:03:43 +10:30
Peter Hutterer
5388423eb0 mieq: EQ processing handles MP devices
global: MPX define added to xorg-server.h.in

xfree86/common: small fix to avoid byte overflow
2006-11-16 20:43:27 +10:30
Peter Hutterer
c957a16180 dix: added isMPdev field to _DeviceIntRec, is used in GetPointerEvents()
mieq:   avoid merging events from different devices in mieqEnqueue()

xfree86/common
        isMPdev field used from xf86ActivateDevice(), xf86PostMotionEvent()
        and xf86PostButtonEvent()
2006-11-16 15:11:14 +10:30
Peter Hutterer
7ce2dc5784 dix:
merge with code cleanup from master
        GetPointerEvents treats events in the same way as XINPUT devices when flag
        has POINTER_MULTIPOINTER set.

xfree86/common:
    added XI86_MP_DEVICE flag and parsing in xf86ProcessCommonOptions
    added POINTER_MULTIPOINTER define. Is used in xf86PostMotionEvent and
    xf86PostButtonEvent for the flags that are passed into GetPointerEvents()

global:
    added flags to configure.ac to enable/disable MPX define
    added flags to dix-config.h.in to define MPX
2006-11-16 12:51:08 +10:30
Peter Hutterer
bffb1f9b67 removed unused variables drag and local from xf86PostMotionEvent 2006-11-15 17:53:13 +10:30
Matthias Hopf
26d2e45bdb Bug #9023: Only check mice for "mouse" or "void" if identifier is != NULL. 2006-11-14 15:33:07 +01:00
Keith Packard
ec77a95a02 Allow RandR objects to be created before the associated ScreenRec.
xf86 drivers need to create RandR object in the PreInit stage,
before the ScreenRec is allocated. Changing the RandR DIX code
to permit this required the addition of functions that later associate the
objects with the related screen.

An additional change is that modes are now global, and no longer associated
with a specific screen. This change actually makes mode management cleaner
as there is no more per-screen list of modes to deal with.

This changes the RandR 1.2 ABI/API for drivers.
2006-11-08 21:36:35 -08:00
Dave Airlie
fd91630b73 make X server use system libdrm - this requires libdrm >= 2.3.0
This patch blacklists the load "drm" line, moves some functions in dri module
links dri module against libdrm, and removes the X copy of libdrm
2006-11-09 09:30:33 +11:00
Daniel Stone
e7900d68c3 remove trailing whitespace
Whitespace police in full effect.
2006-11-08 15:36:47 +02:00
Daniel Stone
2035f115b7 xfree86: remove xf86Keymap.h 2006-11-08 15:30:03 +02:00
Daniel Stone
809e2841aa xfree86: add general handler, port ACPI to it (bug #5665)
Add 'general' handler registration, which will not trigger DPMS when an
event comes in.
Make ACPI use this.
2006-11-08 15:30:03 +02:00
Daniel Stone
844090a5b5 xfree86/xf86misc: warning fixes 2006-11-08 15:29:15 +02:00
Adam Jackson
05f1c30246 Merge branch 'autoconfig-for-7.2' 2006-11-07 18:42:54 -05:00
Keith Packard
028bbdc041 Merge master back to randr-1.2 2006-11-04 17:46:26 -08:00
Aaron Plattner
97fd471a62 Fix standard VESA modes.
The built-in mode timings were off slightly for the 640x480@60, 640x480@72,
and 1024x768@75 modes.
2006-11-03 14:06:32 -08:00
Matthias Hopf
16c5043fc0 Fix 2 warnings. 2006-11-03 18:59:51 +01:00
Keith Packard
543b397277 Merge branch 'origin' into randr-1.2 2006-11-02 19:00:35 -08:00
Daniel Stone
1d65429a9e xfree86: don't attempt to enable and disable non-DIX devices
Don't try to enable and disable devices with no entry in the DIX, such as
the evdev brain.
2006-11-02 04:12:55 +02:00
Daniel Stone
ba9f5138fc xfree86: allow starting with no input devices
Add a server flag (AllowEmptyInput), which will inhibit adding the
standard keyboard and mouse drivers, if there are no input devices in the
config file.
2006-11-02 03:16:10 +02:00
Daniel Stone
81728558a0 input: add non-keyboard bell ringing function
Add a generic 'ring the bell' function (console bell on Linux and BSD,
/dev/audio on Solaris), and add DDX functions for this.  Make this the
core keyboard's bell.
Port Xvfb and Xnest to this.
Port XFree86 to this, with OS-specific hooks for Linux, BSD, and Solaris
taken from foo_io.c in the old layer.
2006-11-01 23:10:26 +02:00
Daniel Stone
96e32805d1 Xi: disallow changing core keyboard and pointer
Just short-circuit the change core keyboard/pointer requests.
2006-10-29 03:43:34 +03:00
Daniel Stone
cdc8a4b7b2 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-10-26 00:28:30 +03:00
Michel Dänzer
becbda6d51 Fix test for Option "IgnoreABI".
This option has plenty of potential for wasting the time of bug triagers
without pretending it's always on.
2006-10-25 11:39:27 +02:00
Keith Packard
59511974db Merge branch 'master' into randr-1.2 2006-10-24 17:26:20 -07:00
Daniel Stone
0514d53e10 xfree86: remove motion history handling
Remove motion history handling, as we now deal with this in the DIX.
2006-10-25 01:10:44 +03:00
Daniel Stone
2a74b8a91d xfree86: re-bump input abi to 1.0, yet again 2006-10-25 01:04:53 +03:00
Ian Romanick
8b90913566 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/Makefile.am
	hw/xfree86/common/xf86.h
	hw/xfree86/common/xf86DoScanPci.c
	hw/xfree86/os-support/bus/linuxPci.c
	hw/xfree86/scanpci/extrapci.ids
	hw/xfree86/scanpci/pci.ids
	hw/xfree86/scanpci/pciid2c.pl
	hw/xfree86/scanpci/xf86PciStdIds.h
2006-10-24 08:57:59 -07:00
Daniel Stone
0cd6a3d8ef xfree86/input: add proximity support, free valuators
Re-add support for proximity events, and remember to both va_end our
varargs, and free our valuators.
2006-10-23 06:56:07 +03:00
Daniel Stone
c8f76fb3a4 xfree86/input: disallow pointer device changes, fix drag event calculation
Don't allow users to change the core pointer.
Fix xf86SendDragEvents to check the device button state, not the core
pointer's.
Remove unused xf86CheckButton.
2006-10-23 05:12:15 +03:00
Daniel Stone
c5b5b046e8 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-10-23 02:58:30 +03:00
Daniel Stone
fab1d37ecb xfree86/options: don't blindly dereference NULL pointers
Sure, conf_idev should be initialised, but if it's not, try to make the
best of a bad situation.
2006-10-23 02:57:00 +03:00
Zephaniah E. Hull
e26a494f41 Merge branch 'input-hotplug' of git+ssh://git.freedesktop.org/git/xorg/xserver 2006-10-21 04:26:14 -04:00
Zephaniah E. Hull
736b0d5078 DEVICE_TOUCHSCREEN becomes DEVICE_ABS_CALIB.
Update the DEVICE_ABS_CALIB stuff to include the new elements.

New DEVICE_ABS_AREA support.

dev->touchscreen becomes dev->absolute, with _CALIB and _AREA stuff in it.

Update xfree86 to compile with this, kdrive needs an update too.
2006-10-21 04:24:49 -04:00
Carl Switzky
edd5f17454 Add ast driver/device info to Xorg server & config utilities 2006-10-19 17:30:54 -07:00
Daniel Stone
aeba855b07 move keymap copy to event processing, from enqueuing
Move the keymap copying to event processing time (in
ProcessInputEvents), instead of being at event enqueuing time.
Break SetCore{Pointer,Keyboard} out into separate functions.
Change mieqEnqueue to take a device pointer, that asks for the
_original_ device associated with this event.
2006-10-20 00:43:11 +03:00
Alan Coopersmith
b0780312d8 Pre-release message should tell users to check git, not CVS, for updates 2006-10-20 00:43:10 +03:00
Alan Hourihane
85ac2f16ab Small modification to blocking signals when switching modes. 2006-10-20 00:42:47 +03:00
Michel Dänzer
a232693c8c Add per-drawable Xv colour key helper function.
This allows overlay Xv adaptors to work slightly better with compositing
managers.

Bump the video driver ABI minor so drivers only need to check for this at build
time.
2006-10-20 00:42:44 +03:00
Alan Coopersmith
e1dd1904c6 Pre-release message should tell users to check git, not CVS, for updates 2006-10-19 14:27:15 -07:00
Zephaniah E. Hull
1b1698af41 Pass SetDeviceValuators down to the driver.
NOTE: This changes the LocalDeviceRec struct, which breaks input drivers.
2006-10-18 04:57:22 -04:00
Alan Hourihane
d430e76a16 Small modification to blocking signals when switching modes. 2006-10-16 12:39:05 +01:00
Daniel Stone
4ae7745a0d xfree86 input: always open devices on NewInputDeviceRequest 2006-10-15 21:48:01 +03:00
Michel Dänzer
f9bfee5098 Add per-drawable Xv colour key helper function.
This allows overlay Xv adaptors to work slightly better with compositing
managers.

Bump the video driver ABI minor so drivers only need to check for this at build
time.
2006-10-15 16:55:09 +02:00
Daniel Stone
335b503c5e Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-10-13 18:10:45 +03:00
Alan Hourihane
cf948b7b04 Block IO on switchmode just as we do for VT switching
to avoid cursor movements signalling io.
2006-10-13 14:48:10 +01:00
Daniel Stone
ef7e05e9de xfree86/xinput: pass first_valuator params, don't clip to first screen bound
Pass first_valuator to GetPointerEvents/GetKeyboardValuatorEvents.
Don't clip axis bounds to that of screen 0 when initialising axes.
2006-10-08 21:42:15 +03:00
Daniel Stone
41bb9fce47 mipointer: take device arguments, split miPointerAbsoluteCursor
Update mipointer API to take a device argument to (almost) all functions,
and split miPointerAbsoluteCursor into a couple of separate functions.
Remove miPointerAbsoluteCursor call from mieq, as we now deal with it in
GetPointerEvents.
Make miPointerSetPosition (successor of miPointerAbsoluteCursor) take
pointers to x and y, so it can return the clipped values.
Modify callers of miPointer*() functions to generally use the new
functions.
This should fix things with multi-head setups.
2006-10-08 20:34:32 +03:00
Daniel Stone
be8dfafd1d warning cleanups
Fix still more warnings.
2006-10-08 20:32:16 +03:00
Daniel Stone
3ae4d25018 xfree86 Xinput: remove still more excessive debugging
There isn't any more debugging left for input events in the XFree86 DDX.
2006-10-08 16:20:42 +03:00
Daniel Stone
58314756ae GetPointerEvents: add first_valuator parameter
Add a first_valuator parameter.  Looks correct by inspection, but untested
with first_valuator != 0 as yet.
2006-10-08 16:18:05 +03:00
Daniel Stone
22a836fafd xfree86/loader: bump input major ABI version
Bump input major ABI version to 1.0, since we removed the OS keyboard
layer.
2006-10-07 14:16:51 +03:00
Daniel Stone
ad631afcf3 make core keyboard/pointer map functions act on all core-sending devices
Make Set{Keyboard,Modifier,Pointer}Mapping act on all devices which send core
events.
Change LegalModifier to accept a DeviceIntPtr.
2006-09-29 00:34:23 +03:00
Keith Packard
2be1ac15ae Remove smashing of CFLAGS from server build.
CFLAGS is a user variable, extracted from the environment at configure time
and settable by the user at build time. We must not override this variable.
2006-09-18 12:11:18 -07:00
Adam Jackson
46af6d1e95 Always believe the monitor when it reports a reduced-blanking mode.
CVT reduced blanking modes are typically only seen on digital connections to
LCDs, but there are some monitors that report them as supported over the
VGA connector too, which is perfectly legitimate, electrically speaking.
2006-09-14 19:28:44 -04:00
Adam Jackson
63acf18b7e In xf86MatchPciInstances, fail gracefully when there's no PCI device at all.
This allows the autoconfig logic to fall through sanely on non-PCI machines,
which importantly includes Xen virtual machines.
2006-09-14 19:26:37 -04:00
Adam Jackson
a8f9936f55 Prefer driver-provided modes when matching name strings to modelines.
Well, kinda.  Strictly we prefer M_T_BUILTIN strongest since those are modes
where the driver has said it absolutely can't do anything else (VBE).  Then
we look for user-defined modes, ie, modelines from the config file.  Then
we consider modes reported by the monitor via EDID.  Finally if nothing has
matched yet we consider the default mode pool.

Within each of the above-mentioned classes, modes with the M_T_PREFERRED bit
take priority over other modes in the same class.

This logic ensures that the timings sent to the monitor exactly match the
timings it reported as supported, which occasionally don't match the numbers
you might get for that mode from CVT or GTF.
2006-09-14 19:24:41 -04:00
Adam Jackson
81ef1b6d60 Mark EDID modes as driver modes. Infer virtual size from driver modes.
This allows the server to guess an appropriate initial virtual size and
resolution.  The heuristic is to select the largest driver-reported mode
that matches the monitor's physical aspect ratio.  We revalidate this
estimate after mode validation, since we may have filtered away all
modes that would fill that size.

Also, the EDID preferred timing is now marked as M_T_PREFERRED as well.
2006-09-14 19:18:58 -04:00
Adam Jackson
43d9edd31e Attempt to add the 'mouse' driver in more situations.
Always add a mouse driver instance configured to send core events, unless
a core pointer already exists using either the mouse or void drivers.  This
handles the laptop case where the config file only specifies, say,
synaptics, which causes the touchpad to work but not the pointing stick.
We don't double-instantiate the mouse driver to avoid the mouse moving twice
as fast, and we skip this logic when the user asked for a void core pointer
since that probably means they want to run with no pointer at all.
2006-09-14 19:09:02 -04:00
Adam Jackson
739224d05e Load the default module set when no Module section is given in the config.
Also, synchronize that list with the list for the pseudoconfig file used
when starting with no config file.  These really need to be better unified.
2006-09-14 19:03:32 -04:00
Adam Jackson
beac2bf1e4 Expand the default sync ranges to be large enough for 800x600@60. 2006-09-14 19:01:13 -04:00
Adam Jackson
7939c8dfb7 Bump the default pixel depth to 24, and default bpp to 32. 2006-09-14 18:57:57 -04:00
Adam Jackson
d89fee68d0 Record the maximum dot clock of the monitor, and filter by it. 2006-09-14 18:41:15 -04:00
Luc Verhaegen
511c60bc73 Bug #5386: Synthesize modelines from EDID data. 2006-09-14 18:30:36 -04:00
Daniel Stone
5e9d33fe87 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-09-07 15:43:31 +03:00
Michel Dänzer
8356be492c Make sure _XSERVER64 is defined when it should be and gets tested. 2006-09-06 15:20:55 +02:00
Daniel Stone
7fa3383e3c Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-08-29 15:16:01 +03:00
Adam Jackson
ebbdc1342a Remove calls to LoaderCheckUnresolved(), since it's now a stub. 2006-08-28 18:17:32 -04:00
Ian Romanick
21291d6ca7 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework 2006-08-25 09:34:21 -07:00
Daniel Stone
3a36b0a24a Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-08-24 23:35:28 +03:00