Re: [PATCH:xdm 2/5] Add echoPasswdChar resource to set character to display
From: Alan Coopersmith alan.coopersm...@oracle.com Date: Sat, 19 Feb 2011 22:36:38 -0800 Stop hardcoding it to '*'. Allows setting a resource with no value to display to advance the cursor without drawing text. What's the motivation for this change? Giving users more knobs to play with isn't necessarily going to make them happier. ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH:xdm 1/5] Delete some unused variables
From: Alan Coopersmith alan.coopersm...@oracle.com Date: Sat, 19 Feb 2011 22:36:37 -0800 auth.c: In function `DefineSelf': auth.c:1045: warning: unused variable `n' error.c: In function `Debug': error.c:116: warning: unused variable `buf' Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com --- xdm/auth.c |1 - xdm/error.c |2 -- 2 files changed, 0 insertions(+), 3 deletions(-) Reviewed-by: Mark Kettenis kette...@openbsd.org ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH:xdm 4/5] greeter: Remove unused extern dpy that is shadowed by local variables
From: Alan Coopersmith alan.coopersm...@oracle.com Date: Sat, 19 Feb 2011 22:36:40 -0800 Resolves these warnings from gcc -Wshadow: greet.c: In function `InitGreet': greet.c:244: warning: declaration of 'dpy' shadows a global declaration greet.c:146: warning: shadowed declaration is here greet.c: In function `CloseGreet': greet.c:326: warning: declaration of 'dpy' shadows a global declaration greet.c:146: warning: shadowed declaration is here greet.c: At top level: greet.c:431: warning: declaration of 'dpy' shadows a global declaration greet.c:146: warning: shadowed declaration is here Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com Reviewed-by: Mark Kettenis kette...@openbsd.org --- greeter/greet.c |2 -- 1 files changed, 0 insertions(+), 2 deletions(-) ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH:xdm 3/5] Remove forced cursor move for no-echo entry when echoPasswd not set
From: Alan Coopersmith alan.coopersm...@oracle.com Date: Sat, 19 Feb 2011 22:36:39 -0800 If you want to have it, for feedback that's visible to the user but harder to shoulder-surf, enable echoPasswd and set the echoPasswdChar to empty/space. But that would move the pixel more than one pixel per character isn't it, making it easier to spot the password length. Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com --- greeter/Login.c |6 -- 1 files changed, 0 insertions(+), 6 deletions(-) diff --git a/greeter/Login.c b/greeter/Login.c index 18a3f86..5bc8c05 100644 --- a/greeter/Login.c +++ b/greeter/Login.c @@ -495,12 +495,6 @@ realizeCursor (LoginWidget w, GC gc) x += len*TEXT_WIDTH(text, w-login.echo_passwd_char, 1); } - else - { - /* Move cursor one pixel per character to give some feedback -without giving away the password length */ - x += PROMPT_CURSOR(w, w-login.activePrompt); - } break; } ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH:xdm 5/5] greeter: Rename valueMask for xpm window to avoid shadowing argument
From: Alan Coopersmith alan.coopersm...@oracle.com Date: Sat, 19 Feb 2011 22:36:41 -0800 The Realize function names one of its arguments valueMask, so rename the local variable to xpmValueMask to reduce confusion and clear the gcc -Wshadow warning: Login.c: In function `Realize': Login.c:1901: warning: declaration of 'valueMask' shadows a parameter Login.c:1871: warning: shadowed declaration is here Signed-off-by: Alan Coopersmith alan.coopersm...@oracle.com --- greeter/Login.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/greeter/Login.c b/greeter/Login.c index 5bc8c05..1a02846 100644 --- a/greeter/Login.c +++ b/greeter/Login.c @@ -1898,7 +1898,7 @@ static void Realize ( * Create pixmap window */ { -unsigned long valueMask = CWBackPixel | CWBackPixmap; +unsigned long xpmValueMask = CWBackPixel | CWBackPixmap; XSetWindowAttributes windowAttributes = { 0 }; windowAttributes.background_pixel = w-core.background_pixel; @@ -1911,7 +1911,7 @@ static void Realize ( (w-core.height - w-login.logoHeight) /2, w-login.logoWidth, w-login.logoHeight, 0, CopyFromParent, InputOutput, CopyFromParent, -valueMask, windowAttributes); +xpmValueMask, windowAttributes); Why not eliminate valueMask completely, and just use CWBackPixel | CWBackPixmap directly in the function call? ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH] xfree86: Fix undefined reference to `XNFsprintf' on sparc.
Build failure on sparc: | copying selected object files to avoid basename conflicts... | CCLD Xorg | ./.libs/libxorg.a(xf86sbusBus.o): In function `xf86SbusConfigureNewDev': | […]/hw/xfree86/common/xf86sbusBus.c:712: undefined reference to `XNFsprintf' | collect2: ld returned 1 exit status Fix typo introduced in: 3a9bb93dd178084f4ff1abcea331ca5a62f88ce6 Signed-off-by: Cyril Brulebois k...@debian.org --- hw/xfree86/common/xf86sbusBus.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) BIG FAT WARNING: Not actually tested yet. Waiting for other builds to finish before uploading a new revision with that fix. (https://buildd.debian.org/status/package.php?p=xorg-serversuite=experimental) diff --git a/hw/xfree86/common/xf86sbusBus.c b/hw/xfree86/common/xf86sbusBus.c index 8cfac84..181c6ab 100644 --- a/hw/xfree86/common/xf86sbusBus.c +++ b/hw/xfree86/common/xf86sbusBus.c @@ -709,6 +709,6 @@ xf86SbusConfigureNewDev(void *busData, sbusDevicePtr sBus, GDevRec *GDev) XNFasprintf(GDev-busID, SBUS:%s, promPath); free(promPath); } else { -XNFsprintf(GDev-busID, SBUS:fb%d, sBus-fbNum); +XNFasprintf(GDev-busID, SBUS:fb%d, sBus-fbNum); } } -- 1.7.4.1 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH v2 keyboard 2/3] Removed useless leds (member structure KbdDevRec)
Signed-off-by: Alexandr Shadchin alexandr.shadc...@gmail.com --- src/kbd.c |8 ++-- src/xf86OSKbd.h |1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/kbd.c b/src/kbd.c index 86b5be5..e0d55e5 100644 --- a/src/kbd.c +++ b/src/kbd.c @@ -220,14 +220,12 @@ UpdateLeds(InputInfoPtr pInfo) pKbd-keyLeds MODEFLAG)leds |= XLED3; if (pKbd-keyLeds COMPOSEFLAG) leds |= XLED4; -pKbd-leds = leds; -pKbd-SetLeds(pInfo, pKbd-leds); +pKbd-SetLeds(pInfo, leds); } static void KbdCtrl( DeviceIntPtr device, KeybdCtrl *ctrl) { - unsigned long leds; InputInfoPtr pInfo = (InputInfoPtr) device-public.devicePrivate; KbdDevPtr pKbd = (KbdDevPtr) pInfo-private; @@ -251,9 +249,7 @@ KbdCtrl( DeviceIntPtr device, KeybdCtrl *ctrl) } else { pKbd-keyLeds = ~COMPOSEFLAG; } - leds = ctrl-leds ~(XCAPS | XNUM | XSCR); /* ??? */ - pKbd-leds = leds; - pKbd-SetLeds(pInfo, pKbd-leds); + pKbd-SetLeds(pInfo, ctrl-leds); } static void diff --git a/src/xf86OSKbd.h b/src/xf86OSKbd.h index f94f177..1c8d764 100644 --- a/src/xf86OSKbd.h +++ b/src/xf86OSKbd.h @@ -65,7 +65,6 @@ typedef struct { OpenKeyboardProc OpenKeyboard; PostEventProc PostEvent; -unsigned long leds; unsigned long keyLeds; intscanPrefix; Bool CustomKeycodes; -- 1.7.3.5 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH v2 keyboard 3/3] Rewrote code to set initial state LEDS
Saved only initial state CapsLock and NumLock Signed-off-by: Alexandr Shadchin alexandr.shadc...@gmail.com --- src/kbd.c | 105 - 1 files changed, 27 insertions(+), 78 deletions(-) diff --git a/src/kbd.c b/src/kbd.c index e0d55e5..2a2a8a8 100644 --- a/src/kbd.c +++ b/src/kbd.c @@ -41,13 +41,8 @@ #include xkbstr.h #include xkbsrv.h -#define CAPSFLAG 1 -#define NUMFLAG2 -#define SCROLLFLAG 4 -#define MODEFLAG 8 -#define COMPOSEFLAG16 -/* Used to know when the first DEVICE_ON after a DEVICE_INIT is called */ -#define INITFLAG (1U 31) +/* Support only 4 LEDS */ +#define INITFLAG (~(XLED1 | XLED2 | XLED3 | XLED4)) #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) 12 static InputInfoPtr KbdPreInit(InputDriverPtr drv, IDevPtr dev, int flags); @@ -59,9 +54,6 @@ static void KbdCtrl(DeviceIntPtr device, KeybdCtrl *ctrl); static void KbdBell(int percent, DeviceIntPtr dev, pointer ctrl, int unused); static void PostKbdEvent(InputInfoPtr pInfo, unsigned int key, Bool down); -static void InitKBD(InputInfoPtr pInfo, Bool init); -static void UpdateLeds(InputInfoPtr pInfo); - _X_EXPORT InputDriverRec KBD = { 1, kbd, @@ -209,76 +201,19 @@ KbdBell(int percent, DeviceIntPtr dev, pointer ctrl, int unused) } static void -UpdateLeds(InputInfoPtr pInfo) +KbdCtrl(DeviceIntPtr device, KeybdCtrl *ctrl) { +InputInfoPtr pInfo = (InputInfoPtr) device-public.devicePrivate; KbdDevPtr pKbd = (KbdDevPtr) pInfo-private; -unsigned long leds = 0; - -if (pKbd-keyLeds CAPSFLAG)leds |= XLED1; -if (pKbd-keyLeds NUMFLAG) leds |= XLED2; -if (pKbd-keyLeds SCROLLFLAG || -pKbd-keyLeds MODEFLAG)leds |= XLED3; -if (pKbd-keyLeds COMPOSEFLAG) leds |= XLED4; - -pKbd-SetLeds(pInfo, leds); -} - -static void -KbdCtrl( DeviceIntPtr device, KeybdCtrl *ctrl) -{ - InputInfoPtr pInfo = (InputInfoPtr) device-public.devicePrivate; - KbdDevPtr pKbd = (KbdDevPtr) pInfo-private; - - if ( ctrl-leds XLED1) { - pKbd-keyLeds |= CAPSFLAG; - } else { - pKbd-keyLeds = ~CAPSFLAG; - } - if ( ctrl-leds XLED2) { - pKbd-keyLeds |= NUMFLAG; - } else { - pKbd-keyLeds = ~NUMFLAG; - } - if ( ctrl-leds XLED3) { - pKbd-keyLeds |= SCROLLFLAG; - } else { - pKbd-keyLeds = ~SCROLLFLAG; - } - if ( ctrl-leds (XCOMP|XLED4) ) { - pKbd-keyLeds |= COMPOSEFLAG; - } else { - pKbd-keyLeds = ~COMPOSEFLAG; - } - pKbd-SetLeds(pInfo, ctrl-leds); -} -static void -InitKBD(InputInfoPtr pInfo, Bool init) -{ - KbdDevPtr pKbd = (KbdDevPtr) pInfo-private; - - pKbd-scanPrefix = 0; +if (pKbd-keyLeds INITFLAG) { +pKbd-keyLeds = (INITFLAG | XLED1 |XLED2); +pKbd-keyLeds |= ctrl-leds; +} else { +pKbd-keyLeds = ctrl-leds; +} - if (init) { - pKbd-keyLeds = pKbd-GetLeds(pInfo); - UpdateLeds(pInfo); - pKbd-keyLeds |= INITFLAG; - } else { - unsigned long leds = pKbd-keyLeds; - - pKbd-keyLeds = pKbd-GetLeds(pInfo); - UpdateLeds(pInfo); - if ((pKbd-keyLeds CAPSFLAG) != - ((leds INITFLAG) ? 0 : (leds CAPSFLAG))) { - pKbd-PostEvent(pInfo, KEY_CapsLock, TRUE); - pKbd-PostEvent(pInfo, KEY_CapsLock, FALSE); - } - if ((pKbd-keyLeds NUMFLAG) != - (leds INITFLAG ? 0 : leds NUMFLAG)) { - pKbd-PostEvent(pInfo, KEY_NumLock, TRUE); - pKbd-PostEvent(pInfo, KEY_NumLock, FALSE); - } - } +pKbd-SetLeds(pInfo, pKbd-keyLeds); } static int @@ -299,6 +234,9 @@ KbdProc(DeviceIntPtr device, int what) pKbd-KbdGetMapping(pInfo, keySyms, modMap); + pKbd-keyLeds = pKbd-GetLeds(pInfo); + pKbd-keyLeds |= INITFLAG; + device-public.on = FALSE; #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) = 5 { @@ -329,7 +267,6 @@ KbdProc(DeviceIntPtr device, int what) (KbdCtrlProcPtr)KbdCtrl); } #endif /* XINPUT ABI 5*/ - InitKBD(pInfo, TRUE); break; case DEVICE_ON: if (device-public.on) @@ -350,7 +287,7 @@ KbdProc(DeviceIntPtr device, int what) } device-public.on = TRUE; -InitKBD(pInfo, FALSE); +pKbd-scanPrefix = 0; break; case DEVICE_CLOSE: @@ -412,6 +349,18 @@ PostKbdEvent(InputInfoPtr pInfo, unsigned int scanCode, Bool down) scanCode = KEY_Pause; } +if (pKbd-keyLeds INITFLAG) { +if (pKbd-keyLeds XLED1) { +xf86PostKeyboardEvent(device, KEY_CapsLock + MIN_KEYCODE, TRUE); +xf86PostKeyboardEvent(device, KEY_CapsLock + MIN_KEYCODE, FALSE); +} +if (pKbd-keyLeds XLED2) { +xf86PostKeyboardEvent(device, KEY_NumLock + MIN_KEYCODE, TRUE); +xf86PostKeyboardEvent(device, KEY_NumLock + MIN_KEYCODE, FALSE); +} +pKbd-keyLeds = ~INITFLAG; +} + xf86PostKeyboardEvent(device, scanCode +
[PATCH v2 keyboard 1/3] Removed option XLeds
IMHO nobody needs because it works not correctly and still not fixed Signed-off-by: Alexandr Shadchin alexandr.shadc...@gmail.com --- man/kbd.man |7 --- src/kbd.c | 19 +-- src/xf86OSKbd.h |1 - 3 files changed, 1 insertions(+), 26 deletions(-) diff --git a/man/kbd.man b/man/kbd.man index 4fb2336..b7d57d5 100644 --- a/man/kbd.man +++ b/man/kbd.man @@ -53,13 +53,6 @@ Standard, Xqueue. Not all protocols are supported on all platforms. Default: Standard. .RE .TP 7 -.BI Option \*qXLeds\*q \*q ledlist \*q -makes the keyboard LEDs specified in -.I ledlist -available for client use instead of their traditional function -(Scroll Lock, Caps Lock and Num Lock). The numbers in the list are -in the range 1 to 3. Default: empty list. -.TP 7 .BI Option \*qXkbRules\*q \*q rules \*q specifies which XKB rules file to use for interpreting the .BR XkbModel , diff --git a/src/kbd.c b/src/kbd.c index d89d234..86b5be5 100644 --- a/src/kbd.c +++ b/src/kbd.c @@ -141,7 +141,6 @@ KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) #endif { KbdDevPtr pKbd; -char *s; const char **defaults; int rc = Success; @@ -187,22 +186,6 @@ KbdPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) goto out; } -if ((s = xf86SetStrOption(pInfo-options, XLeds, NULL))) { -char *l, *end; -unsigned int i; -l = strtok(s, \t\n); -while (l) { - i = strtoul(l, end, 0); - if (*end == '\0') - pKbd-xledsMask |= 1L (i - 1); - else { - xf86Msg(X_ERROR, \%s\ is not a valid XLeds value, l); - } - l = strtok(NULL, \t\n); -} -free(s); -} - xkb_rules = xf86SetStrOption(pInfo-options, XkbRules, NULL); xkb_model = xf86SetStrOption(pInfo-options, XkbModel, NULL); xkb_layout = xf86SetStrOption(pInfo-options, XkbLayout, NULL); @@ -237,7 +220,7 @@ UpdateLeds(InputInfoPtr pInfo) pKbd-keyLeds MODEFLAG)leds |= XLED3; if (pKbd-keyLeds COMPOSEFLAG) leds |= XLED4; -pKbd-leds = (pKbd-leds pKbd-xledsMask) | (leds ~pKbd-xledsMask); +pKbd-leds = leds; pKbd-SetLeds(pInfo, pKbd-leds); } diff --git a/src/xf86OSKbd.h b/src/xf86OSKbd.h index cba049f..f94f177 100644 --- a/src/xf86OSKbd.h +++ b/src/xf86OSKbd.h @@ -66,7 +66,6 @@ typedef struct { PostEventProc PostEvent; unsigned long leds; -unsigned long xledsMask; unsigned long keyLeds; intscanPrefix; Bool CustomKeycodes; -- 1.7.3.5 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH synaptics 0/4] synaptics cleanup patches
For the series: Reviewed-by: Chris Bagwell ch...@cnpbagwell.com On Wed, Feb 16, 2011 at 7:19 PM, Peter Hutterer peter.hutte...@who-t.net wrote: Just a few cleanup patches I had in my tree for a while. Shouldn't change the driver behaviour, at least I didn't notice anything yet. Cheers, Peter ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: XDM: Fix FTBFS with gold or recent gcc releases.
[ Please CC me, I am not subscribed to this ML ] Hi, which toolchain from Debian are you using? Did you try with gcc-4.5 and binutils-2.21.0 (both from experimental)? Changelog from [1] says (see also [2]): ... * Pass --no-add-needed by default to the linker. See http://wiki.debian.org/ToolChain/DSOLinking, section Not resolving symbols in indirect dependent shared libraries for more information. ... The problems with gold and building X are not new, see 2009-11-02 Packages failing because binutils-gold/indirect linking [3]. It's currently discussed which toolchain will get into Debian wheezy|sid release [4]. Might be also a good idea to contact debian-gcc team in this issue? Regards, - Sedat - [1] http://packages.debian.org/changelogs/pool/main/g/gcc-4.5/gcc-4.5_4.5.2-3/changelog [2] http://wiki.debian.org/ToolChain/DSOLinking?action=diffrev2=8rev1=7 [3] http://wiki.debian.org/qa.debian.org/FTBFS#A2009-11-02Packagesfailingbecausebinutils-gold.2BAC8-indirectlinking [4] http://lists.debian.org/debian-gcc/2011/02/msg00062.html ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: XDM: Fix FTBFS with gold or recent gcc releases.
Hi, On Sun, Feb 20, 2011 at 3:44 PM, Sedat Dilek sedat.di...@googlemail.com wrote: [...] which toolchain from Debian are you using? Everything from wheezy/sid, and I'm not using gold. I don't even have gold or GCC 4.5+ installed. gcc version 4.4.5 (Debian 4.4.5-12) GNU ld (GNU Binutils for Debian) 2.20.1-system.20100303 Did you try with gcc-4.5 and binutils-2.21.0 (both from experimental)? Changelog from [1] says (see also [2]): ... * Pass --no-add-needed by default to the linker. See http://wiki.debian.org/ToolChain/DSOLinking, section Not resolving symbols in indirect dependent shared libraries for more information. ... Not really, didn't try that. It actually surprised me because I thought the DSO linking change wouldn't affect sid for a while after the Debian freeze, but it seems to be already in place somehow. Several other packages are failing to link in sid now because of this. The problems with gold and building X are not new, see 2009-11-02 Packages failing because binutils-gold/indirect linking [3]. Yep, not only X packages, a lot of stuff will break, mostly minor bugs like this, but there will be false positives as well (lots of things that use Boost, for instance). It's currently discussed which toolchain will get into Debian wheezy|sid release [4]. Might be also a good idea to contact debian-gcc team in this issue? It could be. Regardless, this bug isn't Debian specific and affects all distros as they move on to --no-add-missing or gold. Regards, ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: xserver distcheck broken with and without --disable-devel-docs
On Sat, Feb 19, 2011 at 8:24 AM, Gaetan Nadon mems...@videotron.ca wrote: On Sat, 2011-02-19 at 17:08 +0100, Cyril Brulebois wrote: Gaetan Nadon mems...@videotron.ca (19/02/2011): The scenario in question is running distcheck in a VPATH build when doc generation is disabled which conflicts with the requirement of mandating generated docs in the tarball. This scenario does not affect distro/OS builds as far as I can tell. Out-of-tree build (with doc enabled) failed for me. I'm attaching the patch I used to get going. Need to figure out why $(abs_builddir) instead of plain $(builddir), though. Please also note the typo fix for the last target, there was a missing slash. Failure: | make[3]: Entering directory `/home/cyril/debian-x/xserver/xorg-server.git/build-main/hw/dmx/doc' | /usr/bin/doxygen ../../../../hw/dmx/doc/doxygen.conf | error: tag HTML_HEADER: header file `doxygen.head' does not exist | make[3]: *** [html/annotated.html] Error 1 That code has not changed for years. Perhaps a subtle change in automake behaviour. Out of curiosity, what version do you use? It may explain why just a few people noticed it. I am on automake 1.10. I don't see how this could be automake doing anything. doxygen has been passed the correct path to doxygen.conf, but it's having trouble finding doxygen.head, which isn't specified on the command line. Why don't we just generate doxygen.conf at build time with correct srcdir paths. Something like this (untested, formatting broken by gmail, using rename detection): diff --git a/configure.ac b/configure.ac index e1adeb5..f09cafc 100644 --- a/configure.ac +++ b/configure.ac @@ -2248,6 +2248,7 @@ hw/xfree86/utils/gtf/Makefile hw/dmx/config/Makefile hw/dmx/config/man/Makefile hw/dmx/doc/Makefile +hw/dmx/doc/doxygen.conf hw/dmx/examples/Makefile hw/dmx/input/Makefile hw/dmx/glxProxy/Makefile diff --git a/hw/dmx/doc/.gitignore b/hw/dmx/doc/.gitignore index 6bdd862..92c1150 100644 --- a/hw/dmx/doc/.gitignore +++ b/hw/dmx/doc/.gitignore @@ -8,3 +8,4 @@ scaled.html scaled.pdf scaled.ps scaled.txt +doxygen.conf diff --git a/hw/dmx/doc/doxygen.conf b/hw/dmx/doc/doxygen.conf.in similarity index 98% rename from hw/dmx/doc/doxygen.conf rename to hw/dmx/doc/doxygen.conf.in index f7a541f..f886a43 100644 --- a/hw/dmx/doc/doxygen.conf +++ b/hw/dmx/doc/doxygen.conf.in @@ -344,9 +344,9 @@ WARN_LOGFILE = # directories like /usr/src/myproject. Separate the files or directories # with spaces. -INPUT = .. \ - ../input \ - ../config +INPUT = @srcdir@/.. \ + @srcdir@/../input \ + @srcdir@/../config # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp @@ -367,9 +367,9 @@ RECURSIVE = NO # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag -EXCLUDE= ../config/parser.c \ - ../config/parser.h \ - ../config/scanner.c +EXCLUDE= @srcdir@/../config/parser.c \ + @srcdir@/../config/parser.h \ + @srcdir@/../config/scanner.c # The EXCLUDE_SYMLINKS tag can be used select whether or not files or directori # that are symbolic links (a Unix filesystem feature) are excluded from the inp @@ -510,20 +510,20 @@ HTML_FILE_EXTENSION= .html # each generated HTML page. If it is left blank doxygen will generate a # standard header. -HTML_HEADER= doxygen.head +HTML_HEADER= @srcdir@/doxygen.head # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. -HTML_FOOTER= doxygen.foot +HTML_FOOTER= @srcdir@/doxygen.foot # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet -HTML_STYLESHEET= doxygen.css +HTML_STYLESHEET= @srcdir@/doxygen.css # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Fixing out-of-tree failures in hw/dmx/doc
Hi, I saw Dan's reply, but I'm posting anyway the tiny patch series that fixes the out-of-tree build for me (with devel docs enabled, with doxygen; not tried distcheck). [PATCH 1/3] hw/dmx/doc: Fix missing slash in css target. Trivial enough. [PATCH 2/3] hw/dmx/doc: Specify {src,build}dir in DOXYGEN_SRC. Distinguish between source and build directories. [PATCH 3/3] hw/dmx/doc: Move from $(builddir) to $(abs_builddir). http://www.gnu.org/software/hello/manual/autoconf/Preset-Output-Variables.html says builddir is equal to '.'; I tried riping out $(builddir)/ entirely, but that didn't help. That's why I went for $(abs_builddir). As for the tested automake versions (both work with the 3 patches, both fail without the 3rd one): automake (GNU automake) 1.11.1 (the default for me) automake (GNU automake) 1.10.3 KiBi. ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH 3/3] hw/dmx/doc: Move from $(builddir) to $(abs_builddir).
$(builddir)/doxygen.* targets are never considered out-of-date, so symlinks never get created and out-of-tree builds fail. Using $(abs_builddir) instead fixes it. Signed-off-by: Cyril Brulebois k...@debian.org --- hw/dmx/doc/Makefile.am |8 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/dmx/doc/Makefile.am b/hw/dmx/doc/Makefile.am index b7e7412..143c8bd 100644 --- a/hw/dmx/doc/Makefile.am +++ b/hw/dmx/doc/Makefile.am @@ -27,7 +27,7 @@ include $(top_srcdir)/doc/xml/xmlrules-noinst.in if HAVE_DOXYGEN -DOXYGEN_SRC=$(builddir)/doxygen.head $(builddir)/doxygen.foot $(builddir)/doxygen.css $(srcdir)/doxygen.conf +DOXYGEN_SRC=$(abs_builddir)/doxygen.head $(abs_builddir)/doxygen.foot $(abs_builddir)/doxygen.css $(srcdir)/doxygen.conf all-local: html/annotated.html @@ -254,12 +254,12 @@ EXTRA_DIST = \ html/usb-private_8h.html \ html/usb-private_8h_source.html -$(builddir)/doxygen.head: +$(abs_builddir)/doxygen.head: $(LN_S) $(srcdir)/doxygen.head $@ -$(builddir)/doxygen.foot: +$(abs_builddir)/doxygen.foot: $(LN_S) $(srcdir)/doxygen.foot $@ -$(builddir)/doxygen.css: +$(abs_builddir)/doxygen.css: $(LN_S) $(srcdir)/doxygen.css $@ -- 1.7.4.1 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH 1/3] hw/dmx/doc: Fix missing slash in css target.
Signed-off-by: Cyril Brulebois k...@debian.org --- hw/dmx/doc/Makefile.am |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/dmx/doc/Makefile.am b/hw/dmx/doc/Makefile.am index 4bbc8bf..17defb5 100644 --- a/hw/dmx/doc/Makefile.am +++ b/hw/dmx/doc/Makefile.am @@ -260,6 +260,6 @@ $(builddir)/doxygen.head: $(builddir)/doxygen.foot: $(LN_S) $(srcdir)/doxygen.foot $@ -$(builddir)doxygen.css: +$(builddir)/doxygen.css: $(LN_S) $(srcdir)/doxygen.css $@ -- 1.7.4.1 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH] dmx: Construct paths in doxygen.conf to fix VPATH builds
The paths in doxygen.conf assumed that srcdir=builddir and broke otherwise. Use autoconf to fill in the paths to the srcdir so that the files can be found when users have a separate build directory (as with distcheck). Signed-off-by: Dan Nicholson dbn.li...@gmail.com --- I actually tested this now and contains a fix where the Makefile was referencing $(srcdir)/doxygen.conf, but it's now being created in the build directory. I also have rename detection on here to make the reviewing easier, so you'll need git am or apply to do the right thing. configure.ac |1 + hw/dmx/doc/.gitignore|1 + hw/dmx/doc/Makefile.am |2 +- hw/dmx/doc/{doxygen.conf = doxygen.conf.in} | 18 +- 4 files changed, 12 insertions(+), 10 deletions(-) rename hw/dmx/doc/{doxygen.conf = doxygen.conf.in} (98%) diff --git a/configure.ac b/configure.ac index e1adeb5..f09cafc 100644 --- a/configure.ac +++ b/configure.ac @@ -2248,6 +2248,7 @@ hw/xfree86/utils/gtf/Makefile hw/dmx/config/Makefile hw/dmx/config/man/Makefile hw/dmx/doc/Makefile +hw/dmx/doc/doxygen.conf hw/dmx/examples/Makefile hw/dmx/input/Makefile hw/dmx/glxProxy/Makefile diff --git a/hw/dmx/doc/.gitignore b/hw/dmx/doc/.gitignore index 6bdd862..92c1150 100644 --- a/hw/dmx/doc/.gitignore +++ b/hw/dmx/doc/.gitignore @@ -8,3 +8,4 @@ scaled.html scaled.pdf scaled.ps scaled.txt +doxygen.conf diff --git a/hw/dmx/doc/Makefile.am b/hw/dmx/doc/Makefile.am index 4bbc8bf..838b6f2 100644 --- a/hw/dmx/doc/Makefile.am +++ b/hw/dmx/doc/Makefile.am @@ -34,7 +34,7 @@ all-local: html/annotated.html dist-local: html/annotated.html html/annotated.html: $(DOXYGEN_SRC) - $(DOXYGEN) $(srcdir)/doxygen.conf + $(DOXYGEN) doxygen.conf maintainer-clean-local: rm -rf html/ diff --git a/hw/dmx/doc/doxygen.conf b/hw/dmx/doc/doxygen.conf.in similarity index 98% rename from hw/dmx/doc/doxygen.conf rename to hw/dmx/doc/doxygen.conf.in index f7a541f..f886a43 100644 --- a/hw/dmx/doc/doxygen.conf +++ b/hw/dmx/doc/doxygen.conf.in @@ -344,9 +344,9 @@ WARN_LOGFILE = # directories like /usr/src/myproject. Separate the files or directories # with spaces. -INPUT = .. \ - ../input \ - ../config +INPUT = @srcdir@/.. \ + @srcdir@/../input \ + @srcdir@/../config # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp @@ -367,9 +367,9 @@ RECURSIVE = NO # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE= ../config/parser.c \ - ../config/parser.h \ - ../config/scanner.c +EXCLUDE= @srcdir@/../config/parser.c \ + @srcdir@/../config/parser.h \ + @srcdir@/../config/scanner.c # The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories # that are symbolic links (a Unix filesystem feature) are excluded from the input. @@ -510,20 +510,20 @@ HTML_FILE_EXTENSION= .html # each generated HTML page. If it is left blank doxygen will generate a # standard header. -HTML_HEADER= doxygen.head +HTML_HEADER= @srcdir@/doxygen.head # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. -HTML_FOOTER= doxygen.foot +HTML_FOOTER= @srcdir@/doxygen.foot # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet -HTML_STYLESHEET= doxygen.css +HTML_STYLESHEET= @srcdir@/doxygen.css # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to -- 1.7.3.4 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: xserver distcheck broken with and without --disable-devel-docs
On Sun, 2011-02-20 at 08:51 -0800, Dan Nicholson wrote: I don't see how this could be automake doing anything. doxygen has been passed the correct path to doxygen.conf, but it's having trouble finding doxygen.head, which isn't specified on the command line. Correct. Something too long to explain confused me. Why don't we just generate doxygen.conf at build time with correct srcdir paths. Something like this (untested, formatting broken by gmail, using rename detection): That's the right solution, I tried that in a smaller package and it's clean. Also: PROJECT_NUMBER = @PACKAGE_VERSION@ OUTPUT_DIRECTORY = @abs_builddir@ It could use some cruft removal, it has not been changed for 7 years. The css and header files can be deleted. Ancient look. The default css is way better. The conf file need upgraded and the footer can be regenerated by doxygen. All the LN_S can be removed. Who ever looks after xserver documentation... signature.asc Description: This is a digitally signed message part ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH] dmx: Construct paths in doxygen.conf to fix VPATH builds
Dan Nicholson dbn.li...@gmail.com (20/02/2011): The paths in doxygen.conf assumed that srcdir=builddir and broke otherwise. Use autoconf to fill in the paths to the srcdir so that the files can be found when users have a separate build directory (as with distcheck). Signed-off-by: Dan Nicholson dbn.li...@gmail.com Tested-by: Cyril Brulebois k...@debian.org both in-tree and out-of-tree. Thanks. KiBi. signature.asc Description: Digital signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH] xfree86: Fix undefined reference to `XNFsprintf' on sparc.
On 02/20/11 07:26 AM, Cyril Brulebois wrote: Build failure on sparc: | copying selected object files to avoid basename conflicts... | CCLD Xorg | ./.libs/libxorg.a(xf86sbusBus.o): In function `xf86SbusConfigureNewDev': | […]/hw/xfree86/common/xf86sbusBus.c:712: undefined reference to `XNFsprintf' | collect2: ld returned 1 exit status Fix typo introduced in: 3a9bb93dd178084f4ff1abcea331ca5a62f88ce6 Signed-off-by: Cyril Brulebois k...@debian.org --- hw/xfree86/common/xf86sbusBus.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) BIG FAT WARNING: Not actually tested yet. Waiting for other builds to finish before uploading a new revision with that fix. (https://buildd.debian.org/status/package.php?p=xorg-serversuite=experimental) diff --git a/hw/xfree86/common/xf86sbusBus.c b/hw/xfree86/common/xf86sbusBus.c index 8cfac84..181c6ab 100644 --- a/hw/xfree86/common/xf86sbusBus.c +++ b/hw/xfree86/common/xf86sbusBus.c @@ -709,6 +709,6 @@ xf86SbusConfigureNewDev(void *busData, sbusDevicePtr sBus, GDevRec *GDev) XNFasprintf(GDev-busID, SBUS:%s, promPath); free(promPath); } else { -XNFsprintf(GDev-busID, SBUS:fb%d, sBus-fbNum); +XNFasprintf(GDev-busID, SBUS:fb%d, sBus-fbNum); } } Reviewed-by: Alan Coopersmith alan.coopersm...@oracle.com Apologized-for-by: Alan Coopersmith alan.coopersm...@oracle.com -- -Alan Coopersmith-alan.coopersm...@oracle.com Oracle Solaris Platform Engineering: X Window System ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: xserver distcheck broken with and without --disable-devel-docs
On Sun, Feb 20, 2011 at 11:05 AM, Gaetan Nadon mems...@videotron.ca wrote: On Sun, 2011-02-20 at 08:51 -0800, Dan Nicholson wrote: I don't see how this could be automake doing anything. doxygen has been passed the correct path to doxygen.conf, but it's having trouble finding doxygen.head, which isn't specified on the command line. Correct. Something too long to explain confused me. Why don't we just generate doxygen.conf at build time with correct srcdir paths. Something like this (untested, formatting broken by gmail, using rename detection): That's the right solution, I tried that in a smaller package and it's clean. Also: PROJECT_NUMBER = @PACKAGE_VERSION@ OUTPUT_DIRECTORY = @abs_builddir@ It could use some cruft removal, it has not been changed for 7 years. The css and header files can be deleted. Ancient look. The default css is way better. The conf file need upgraded and the footer can be regenerated by doxygen. All the LN_S can be removed. Oh, yeah definitely the LN_S stuff can be removed. I should have gotten that in my patch. -- Dan ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: dmx: Construct paths in doxygen.conf to fix VPATH builds
Hi, I also have rename detection on here to make the reviewing easier, so you'll need git am or apply to do the right thing. applying the patch from [1] here with git-1.7.4.1 via git apply fails. The renaming part hw/dmx/doc/{doxygen.conf = doxygen.conf.in fails and doxygen.conf file was deleted. Instead I had success via git am. Feel free to add a... Tested-by: Sedat Dilek sedat.di...@gmail.com - Sedat - [1] http://patchwork.freedesktop.org/patch/4193/ ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: Input drivers (was [ANNOUNCE] xorg-server 1.9.99.902 (1.10 RC2))
On Sat, Feb 19, 2011 at 03:57:38PM +0100, Cyril Brulebois wrote: Hi, Keith Packard kei...@keithp.com (18/02/2011): Other than that, I think we're pretty much ready for the 1.10 release. Let me know if you've got pending fixes that you want to see merged in 1.10. Peter, could we please get a (pre)release for -synaptics? Latest release doesn't build with input ABI 12. (I could just merge from master, but I guess it makes sense to get something released at this point.) Ditto for -keyboard and -mouse. (I didn't check other drivers, my plan is to upload only a few essential drivers to debian experimental for now.) sorry, I'll get them out asap Cheers, Peter ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH mouse 1/6] man: remove mention of core pointer.
This doesn't apply to X servers 1.7 and later. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- man/mousedrv.man |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/man/mousedrv.man b/man/mousedrv.man index e805335..a6b443d 100644 --- a/man/mousedrv.man +++ b/man/mousedrv.man @@ -21,9 +21,8 @@ types of mice depends on the OS. .PP The .B mouse -driver functions as a pointer input device, and may be used as the -X server's core pointer. Multiple mice are supported by multiple -instances of this driver. +driver functions as a pointer input device. Multiple mice are supported by +multiple instances of this driver. .SH SUPPORTED HARDWARE .TP USB mouse -- 1.7.4 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH mouse 2/6] man: add mention of xorg.conf.d snippet
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- man/mousedrv.man |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/man/mousedrv.man b/man/mousedrv.man index a6b443d..13db918 100644 --- a/man/mousedrv.man +++ b/man/mousedrv.man @@ -73,8 +73,9 @@ what matters. .SH CONFIGURATION DETAILS .PP Depending on the X server version in use, input device options may be set -in either a __xconfigfile__ file, or in the configuration files read by the -Hardware Abstraction Layer (HAL) daemon, hald(1). +in either a __xconfigfile__ file, an xorg.conf.d snippet +or in the configuration files read by the Hardware Abstraction Layer (HAL) +daemon, hald(1). .PP Please refer to __xconfigfile__(__filemansuffix__) for general configuration details and for options that can be used with all input drivers. This -- 1.7.4 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH mouse 3/6] man: README.mouse is just README
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- man/mousedrv.man |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/man/mousedrv.man b/man/mousedrv.man index 13db918..7be4935 100644 --- a/man/mousedrv.man +++ b/man/mousedrv.man @@ -86,8 +86,9 @@ platforms this is limited to plug and play serial mice, and on some the auto-detection works for any mouse that the OS's kernel driver supports. On others, it is always necessary to specify the mouse protocol in the config file. The -.I README.mouse -document contains some detailed information about this. +.I README +document provided with this driver contains some detailed information about +this. .PP The following driver .B Options -- 1.7.4 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH mouse 4/6] man: fix typo Auto platform → Auto protocol
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- man/mousedrv.man |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/man/mousedrv.man b/man/mousedrv.man index 7be4935..f9b9993 100644 --- a/man/mousedrv.man +++ b/man/mousedrv.man @@ -105,7 +105,7 @@ NetMousePS/2, NetScrollPS/2, BusMouse, SysMouse, WSMouse, USB, VUID, Xqueue. .RE .PP .RS 7 -Not all protocols are supported on all platforms. The Auto platform +Not all protocols are supported on all platforms. The Auto protocol specifies that protocol auto-detection should be attempted. There is no default protocol setting, and specifying this option is mandatory. .RE -- 1.7.4 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH mouse 5/6] man: protocol option isn't mandatory, it's platform-specific.
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- man/mousedrv.man |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/man/mousedrv.man b/man/mousedrv.man index f9b9993..917ca8e 100644 --- a/man/mousedrv.man +++ b/man/mousedrv.man @@ -106,8 +106,8 @@ NetMousePS/2, NetScrollPS/2, BusMouse, SysMouse, WSMouse, USB, VUID, Xqueue. .PP .RS 7 Not all protocols are supported on all platforms. The Auto protocol -specifies that protocol auto-detection should be attempted. There is no -default protocol setting, and specifying this option is mandatory. +specifies that protocol auto-detection should be attempted. The default +protocol setting is platform-specific. .RE .TP 7 .BI Option \*qDevice\*q \*q string \*q -- 1.7.4 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH mouse 6/6] man: ClearDTR and ClearRTS are handled by the X server.
If it breaks, we know who to blame (or file a bug against). Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- man/mousedrv.man |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/man/mousedrv.man b/man/mousedrv.man index 917ca8e..23528f6 100644 --- a/man/mousedrv.man +++ b/man/mousedrv.man @@ -281,13 +281,15 @@ indicating that the next button pressed is to be .BI Option \*qClearDTR\*q \*q boolean \*q Enable/disable clearing the DTR line on the serial port used by the mouse. Some dual-protocol mice require the DTR line to be cleared to operate -in the non-default protocol. This option is for serial mice only. +in the non-default protocol. This option is for serial mice only and is +handled by the X server. Default: off. .TP 7 .BI Option \*qClearRTS\*q \*q boolean \*q Enable/disable clearing the RTS line on the serial port used by the mouse. Some dual-protocol mice require the RTS line to be cleared to operate -in the non-default protocol. This option is for serial mice only. +in the non-default protocol. This option is for serial mice only and is +handled by the X server. Default: off. .TP 7 .BI Option \*qBaudRate\*q \*q integer \*q -- 1.7.4 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH mouse 1/6] man: remove mention of core pointer.
Peter Hutterer peter.hutte...@who-t.net (21/02/2011): This doesn't apply to X servers 1.7 and later. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net For the series: Reviewed-by: Cyril Brulebois k...@debian.org KiBi. signature.asc Description: Digital signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [Patch synaptics] add hysteresis-based noise cancellation
On Tue, Feb 15, 2011 at 12:24:39AM +0100, Simon Thum wrote: This adresses the noise motion coming from most touchpads. The reviews have been incorporated, the code now get fuzz from the kernel if that is set (which it usually isn't). all 4 merged, though the ComputeDelta's patch has moved a bit. Cheers, Peter From 174882a675bf36b766f697958813ff0f8028a6ee Mon Sep 17 00:00:00 2001 From: Simon Thum simon.t...@gmx.de Date: Sun, 6 Feb 2011 17:57:17 +0100 Subject: [PATCH] Add hysteresis-based noise reduction This introduces hysteresis into the driver's processing. It significantly reduces noise motion, i.e. now the pad does no longer generate a stream of sub-pixel events when just holding the position with the finger down. Also, taking off the finger no longer generates additional motion, scrolling becomes flicker-free etc. The code makes use of fuzz from the kernel, if available. This has not been tested extensively, as an overwhelming majority of evdev touchpad drivers view 0 (zero) as a good value for fuzz, forcing userland into assuming zero fuzz means make zero assumptions about fuzz, not there is no fuzz. Until things improve, this is what we do. Anyway, the fuzz a.k.a. hysteresis can be set/overridden with options and properties, as documented. Signed-off-by: Simon Thum simon.t...@gmx.de --- include/synaptics-properties.h |3 ++ man/synaptics.man | 18 + src/eventcomm.c|9 ++ src/properties.c | 17 src/synaptics.c| 55 ++-- src/synapticsstr.h |3 ++ 6 files changed, 97 insertions(+), 8 deletions(-) diff --git a/include/synaptics-properties.h b/include/synaptics-properties.h index 9c6a2ee..bdb2112 100644 --- a/include/synaptics-properties.h +++ b/include/synaptics-properties.h @@ -155,4 +155,7 @@ /* 32 bit, 4 values, left, right, top, bottom */ #define SYNAPTICS_PROP_AREA Synaptics Area +/* 32 Bit Integer, 2 values, horizontal hysteresis, vertical hysteresis */ +#define SYNAPTICS_PROP_NOISE_CANCELLATION Synaptics Noise Cancellation + #endif /* _SYNAPTICS_PROPERTIES_H_ */ diff --git a/man/synaptics.man b/man/synaptics.man index 3f1ca9d..16ae7f6 100644 --- a/man/synaptics.man +++ b/man/synaptics.man @@ -222,6 +222,17 @@ Motion Factor Greatest setting for pressure motion factor. Property: Synaptics Pressure Motion Factor .TP +.BI Option \*qHorizHysteresis\*q \*q integer \*q +The minimum horizontal HW distance required to generate motion events. Can be +specified as a percentage. Increase if noise motion is a problem for you. Zero +is disabled. +Default: 0.5 percent of the diagonal or (in case of evdev) the appropriate +fuzz as advertised by the device. +.TP +.BI Option \*qVertHysteresis\*q \*q integer \*q +The minimum vertical HW distance required to generate motion events. See +\fBHorizHysteresis\fR. +.TP .BI Option \*qUpDownScrolling\*q \*q boolean \*q If on, the up/down buttons generate button 4/5 events. . @@ -707,6 +718,13 @@ scrolling to circular scrolling. That is, if CornerCoasting is active, scrolling will stop, and circular scrolling will not start, when the finger leaves the corner. +.SS Noise cancellation +The synaptics has a built-in nose canellation based on hysteresis. This means +that incoming coordinates actually shift a box of predefined dimensions such +that it covers the incoming coordinate, and only the boxes own center is used +as input. Obviously, the smaller the box the better, but the likelyhood of +noise motion coming through also increases. + .SS Trackstick mode Trackstick emulation mode is entered when pressing the finger hard on the touchpad. diff --git a/src/eventcomm.c b/src/eventcomm.c index 4593bba..9357a26 100644 --- a/src/eventcomm.c +++ b/src/eventcomm.c @@ -184,6 +184,12 @@ event_query_axis_ranges(InputInfoPtr pInfo) abs.minimum, abs.maximum); priv-minx = abs.minimum; priv-maxx = abs.maximum; + /* + * The kernel's fuzziness concept seems a bit weird, but it can more or + * less be applied as hysteresis directly, i.e. no factor here. Though, + /* we don't trust a zero fuzz as it probably is just a lazy value. */ + if (abs.fuzz 0) + priv-synpara.hyst_x = abs.fuzz; #if LINUX_VERSION_CODE KERNEL_VERSION(2,6,30) priv-resx = abs.resolution; #endif @@ -198,6 +204,9 @@ event_query_axis_ranges(InputInfoPtr pInfo) abs.minimum, abs.maximum); priv-miny = abs.minimum; priv-maxy = abs.maximum; + /* don't trust a zero fuzz */ + if (abs.fuzz 0) + priv-synpara.hyst_y = abs.fuzz; #if LINUX_VERSION_CODE KERNEL_VERSION(2,6,30) priv-resy = abs.resolution; #endif diff --git a/src/properties.c b/src/properties.c index 5400928..23b5a6a 100644 --- a/src/properties.c +++
Re: [PATCH synaptics] Stop scrolling if not exactly two fingers on touchpad.
On Mon, Feb 14, 2011 at 10:08:41PM +0800, Daniel Kurtz wrote: X.Org Bug 34257 http://bugs.freedesktop.org/show_bug.cgi?id=34257 Signed-off-by: Daniel Kurtz djku...@google.com --- src/synaptics.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/synaptics.c b/src/synaptics.c index 783bd64..6e826f1 100644 --- a/src/synaptics.c +++ b/src/synaptics.c @@ -1960,7 +1960,7 @@ HandleScrolling(SynapticsPrivate *priv, struct SynapticsHwState *hw, priv-circ_scroll_on = FALSE; } - if (!finger || hw-numFingers 2) { + if (!finger || hw-numFingers != 2) { if (priv-vert_scroll_twofinger_on) { DBG(7, vert two-finger scroll off\n); priv-vert_scroll_twofinger_on = FALSE; -- 1.7.3.1 merged, thanks. Cheers, Peter ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH] dix: a valuator count of 0 is valid (#34510)
For all but motion and proximity events, having no valuators is ok. Regression from 1.9, keyboard events are not converted to protocol events. X.Org Bug 34510 http://bugs.freedesktop.org/show_bug.cgi?id=34510 Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- dix/eventconvert.c | 16 ++-- 1 files changed, 14 insertions(+), 2 deletions(-) diff --git a/dix/eventconvert.c b/dix/eventconvert.c index 7b894f0..dd1ca46 100644 --- a/dix/eventconvert.c +++ b/dix/eventconvert.c @@ -263,8 +263,20 @@ eventToKeyButtonPointer(DeviceEvent *ev, xEvent **xi, int *count) num_events = (countValuators(ev, first) + 5)/6; /* valuator ev */ if (num_events = 0) { -*count = 0; -return BadMatch; +switch (ev-type) +{ +case ET_KeyPress: +case ET_KeyRelease: +case ET_ButtonPress: +case ET_ButtonRelease: +/* no axes is ok */ +break; +case ET_Motion: +case ET_ProximityIn: +case ET_ProximityOut: +*count = 0; +return BadMatch; +} } num_events++; /* the actual event event */ -- 1.7.4 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH] test: write some event → XI1 conversion tests.
These tests don't test everything, but hey, life is short and I'm trying to have one. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- test/input.c | 139 ++ 1 files changed, 139 insertions(+), 0 deletions(-) diff --git a/test/input.c b/test/input.c index 879e14f..e0e9e6a 100644 --- a/test/input.c +++ b/test/input.c @@ -36,6 +36,7 @@ #include inputstr.h #include eventconvert.h #include exevents.h +#include exglobals.h #include dixgrabs.h #include eventstr.h #include inpututils.h @@ -285,6 +286,143 @@ static void dix_event_to_core_conversion(void) dix_event_to_core(ET_Motion); } +static void +_dix_test_xi_convert(DeviceEvent *ev, int expected_rc, int expected_count) +{ +xEvent *xi; +int count = 0; +int rc; + +rc = EventToXI((InternalEvent*)ev, xi, count); +g_assert(rc == expected_rc); +g_assert(count = expected_count); +if (count 0){ +deviceKeyButtonPointer *kbp = (deviceKeyButtonPointer*)xi; +g_assert(kbp-type == IEventBase + ev-type); +g_assert(kbp-detail == ev-detail.key); +g_assert(kbp-time == ev-time); +g_assert((kbp-deviceid ~MORE_EVENTS) == ev-deviceid); +g_assert(kbp-root_x == ev-root_x); +g_assert(kbp-root_y == ev-root_y); +g_assert(kbp-state == ev-corestate); +g_assert(kbp-event_x == 0); +g_assert(kbp-event_y == 0); +g_assert(kbp-root == ev-root); +g_assert(kbp-event == 0); +g_assert(kbp-child == 0); +g_assert(kbp-same_screen == FALSE); + +while (--count 0) { +deviceValuator *v = (deviceValuator*)xi[count]; +g_assert(v-type == DeviceValuator); +g_assert(v-num_valuators = 6); +} + + +free(xi); +} +} + +/** + * This tests for internal event → XI1 event conversion + * - all conversions should generate the right XI event type + * - right number of events generated + * - extra events are valuators + */ +static void dix_event_to_xi1_conversion(void) +{ +DeviceEvent ev = {0}; +int time; +int x, y; +int state; +int detail; +const int ROOT_WINDOW_ID = 0x100; +int deviceid; + +IEventBase = 80; +DeviceValuator = IEventBase - 1; +DeviceKeyPress = IEventBase + ET_KeyPress; +DeviceKeyRelease= IEventBase + ET_KeyRelease; +DeviceButtonPress = IEventBase + ET_ButtonPress; +DeviceButtonRelease = IEventBase + ET_ButtonRelease; +DeviceMotionNotify = IEventBase + ET_Motion; +DeviceFocusIn = IEventBase + ET_FocusIn; +DeviceFocusOut = IEventBase + ET_FocusOut; +ProximityIn = IEventBase + ET_ProximityIn; +ProximityOut= IEventBase + ET_ProximityOut; + +/* EventToXI callocs */ +x = 0; +y = 0; +time = 12345; +state = 0; +detail = 0; +deviceid = 4; + +ev.header = 0xFF; + +ev.header = 0xFF; +ev.length = sizeof(DeviceEvent); +ev.time = time; +ev.root_y = x; +ev.root_x = y; +SetBit(ev.valuators.mask, 0); +SetBit(ev.valuators.mask, 1); +ev.root = ROOT_WINDOW_ID; +ev.corestate= state; +ev.detail.key = detail; +ev.deviceid = deviceid; + +/* test all types for bad match */ +ev.type = ET_KeyPress; _dix_test_xi_convert(ev, Success, 1); +ev.type = ET_KeyRelease; _dix_test_xi_convert(ev, Success, 1); +ev.type = ET_ButtonPress; _dix_test_xi_convert(ev, Success, 1); +ev.type = ET_ButtonRelease;_dix_test_xi_convert(ev, Success, 1); +ev.type = ET_Motion; _dix_test_xi_convert(ev, Success, 1); +ev.type = ET_ProximityIn; _dix_test_xi_convert(ev, Success, 1); +ev.type = ET_ProximityOut; _dix_test_xi_convert(ev, Success, 1); + +/* No axes */ +ClearBit(ev.valuators.mask, 0); +ClearBit(ev.valuators.mask, 1); +ev.type = ET_KeyPress; _dix_test_xi_convert(ev, Success, 1); +ev.type = ET_KeyRelease; _dix_test_xi_convert(ev, Success, 1); +ev.type = ET_ButtonPress; _dix_test_xi_convert(ev, Success, 1); +ev.type = ET_ButtonRelease;_dix_test_xi_convert(ev, Success, 1); +ev.type = ET_Motion; _dix_test_xi_convert(ev, BadMatch, 0); +ev.type = ET_ProximityIn; _dix_test_xi_convert(ev, BadMatch, 0); +ev.type = ET_ProximityOut; _dix_test_xi_convert(ev, BadMatch, 0); + +/* more than 6 axes → 2 valuator events */ +SetBit(ev.valuators.mask, 0); +SetBit(ev.valuators.mask, 1); +SetBit(ev.valuators.mask, 2); +SetBit(ev.valuators.mask, 3); +SetBit(ev.valuators.mask, 4); +SetBit(ev.valuators.mask, 5); +SetBit(ev.valuators.mask, 6); +ev.type = ET_KeyPress; _dix_test_xi_convert(ev, Success, 2); +ev.type = ET_KeyRelease; _dix_test_xi_convert(ev, Success, 2); +ev.type = ET_ButtonPress;
[PATCH v2] xkb: Fix a check for MASTER_KEYBOARD
And copy into the master keyboard, not just the directly attached device. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- On Fri, Feb 18, 2011 at 10:48:10AM +0100, Benjamin Tissoires wrote: @@ -5883,9 +5884,8 @@ ProcXkbGetKbdByName(ClientPtr client) nkn.changed|= XkbNKN_GeometryMask; XkbSendNewKeyboardNotify(dev,nkn); -if (!IsMaster(dev) !IsFloating(dev)) +if (!IsMaster(dev) (master = GetMaster(dev, MASTER_KEYBOARD))) I had a quick watch on the series, and this line worries me: I all the time consider putting an affectation in a test as a bug (or source of bug) as it's ambiguous. I know that it's valid in this case, but I don't like it. Sorry for the noise if you consider this as valid. ;) who am I to argue with that :) another change: the previous patch would still copy the keymap into the attached master, not the master keyboard. fix this. xkb/xkb.c | 10 -- 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/xkb/xkb.c b/xkb/xkb.c index 43d847a..5da2814 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -5883,12 +5883,10 @@ ProcXkbGetKbdByName(ClientPtr client) nkn.changed|= XkbNKN_GeometryMask; XkbSendNewKeyboardNotify(dev,nkn); - if (!IsMaster(dev) !IsFloating(dev)) - { - DeviceIntPtr master = dev-u.master; - if (master-u.lastSlave == dev) - { - XkbCopyDeviceKeymap(dev-u.master, dev); + if (!IsMaster(dev)) { + DeviceIntPtr master = GetMaster(dev, MASTER_KEYBOARD); + if (master master-u.lastSlave == dev) { + XkbCopyDeviceKeymap(master, dev); XkbSendNewKeyboardNotify(dev,nkn); } } -- 1.7.4 ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH] dix: a valuator count of 0 is valid (#34510)
On Mon, 21 Feb 2011 15:39:17 +1000, Peter Hutterer peter.hutte...@who-t.net wrote: For all but motion and proximity events, having no valuators is ok. Regression from 1.9, keyboard events are not converted to protocol events. Looks right to me. Reviewed-by: Keith Packard kei...@keithp.com -- keith.pack...@intel.com pgpCeZhC1FEGo.pgp Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH] test: write some event → XI1 conversion tests.
On Mon, 21 Feb 2011 15:44:31 +1000, Peter Hutterer peter.hutte...@who-t.net wrote: These tests don't test everything, but hey, life is short and I'm trying to have one. These look good to me. Reviewed-by: Keith Packard kei...@keithp.com -- keith.pack...@intel.com pgpIAT60g7FeP.pgp Description: PGP signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH v2] xkb: Fix a check for MASTER_KEYBOARD
On Mon, Feb 21, 2011 at 04:00:23PM +1000, Peter Hutterer wrote: And copy into the master keyboard, not just the directly attached device. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- On Fri, Feb 18, 2011 at 10:48:10AM +0100, Benjamin Tissoires wrote: @@ -5883,9 +5884,8 @@ ProcXkbGetKbdByName(ClientPtr client) nkn.changed|= XkbNKN_GeometryMask; XkbSendNewKeyboardNotify(dev,nkn); -if (!IsMaster(dev) !IsFloating(dev)) +if (!IsMaster(dev) (master = GetMaster(dev, MASTER_KEYBOARD))) I had a quick watch on the series, and this line worries me: I all the time consider putting an affectation in a test as a bug (or source of bug) as it's ambiguous. I know that it's valid in this case, but I don't like it. Sorry for the noise if you consider this as valid. ;) who am I to argue with that :) another change: the previous patch would still copy the keymap into the attached master, not the master keyboard. fix this. Reviewed-by: Daniel Stone dan...@fooishbar.org Cheers, Daniel signature.asc Description: Digital signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH] dix: a valuator count of 0 is valid (#34510)
On Mon, Feb 21, 2011 at 03:39:17PM +1000, Peter Hutterer wrote: For all but motion and proximity events, having no valuators is ok. Regression from 1.9, keyboard events are not converted to protocol events. X.Org Bug 34510 http://bugs.freedesktop.org/show_bug.cgi?id=34510 Signed-off-by: Peter Hutterer peter.hutte...@who-t.net Reviewed-by: Daniel Stone dan...@fooishbar.org signature.asc Description: Digital signature ___ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel