Bug 15277

Summary: Settings "AlwaysCore", "SendCoreEvents", "CorePointer", "CoreKeyboard" ignored
Product: xorg Reporter: Justin Blanchard <justinb04>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: cloos
Version: 7.3 (2007.09)   
Hardware: All   
OS: All   
URL: http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=9a7aaeb3f6ff79af60fde91cd0575a54ba0b9587
Whiteboard:
i915 platform: i915 features:

Description Justin Blanchard 2008-03-31 02:31:18 UTC
Well, they're ignored unless you turn all four of them on!
This is due to a thinko in xf86Xinput.c (see bug's "URL" field for the commit).
Turning those ||'s into &&'s will fix the problem.
Combined with the patches that work around #10324, this apparently makes my laptop's nice, expensive pen work again, so I'd appreciate a fix! :-)
Thanks.
Comment 1 James Cloos 2008-03-31 14:03:32 UTC
For reference, the current code looks like:

    if (!xf86SetBoolOption(list, "AlwaysCore", 1) ||
        !xf86SetBoolOption(list, "SendCoreEvents", 1) ||
        !xf86SetBoolOption(list, "CorePointer", 1) ||
        !xf86SetBoolOption(list, "CoreKeyboard", 1)) {
        xf86Msg(X_CONFIG, "%s: doesn't report core events\n", local->name);
    } else {
        local->flags |= XI86_ALWAYS_CORE;
        xf86Msg(X_CONFIG, "%s: always reports core events\n", local->name);
    }

!xf86SetBoolOption(list, "FooBar", 1) should return 0 if FooBar is not in the config (because of the last argument), 0 of it is in the config and set to true and 1 if it is in the config and set to false, yes?

Therefore, XI86_ALWAYS_CORE should get set only then all four are «set true» OR «not mentioned in the config».

Are you saying that it should in fact set the XI86_ALWAYS_CORE flag if any of AlwaysCore, SendCoreEvents, CorePointer or CoreKeyboard are set?

So that all four would have to be explicitly set false to disable XI86_ALWAYS_CORE?

Comment 2 Justin Blanchard 2008-03-31 20:52:14 UTC
Sorry... "April Fools" :)
That commit was actually the fix for a bug I'd run into! My mistake.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.