Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938587AbXHJPKC (ORCPT ); Fri, 10 Aug 2007 11:10:02 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S935354AbXHJPJn (ORCPT ); Fri, 10 Aug 2007 11:09:43 -0400 Received: from styx.suse.cz ([82.119.242.94]:34226 "EHLO mail.suse.cz" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935111AbXHJPJl (ORCPT ); Fri, 10 Aug 2007 11:09:41 -0400 Date: Fri, 10 Aug 2007 17:10:47 +0200 (CEST) From: Jiri Kosina To: Renato Golin Cc: Dmitry Torokhov , linux-kernel@vger.kernel.org Subject: Re: joydev.c and saitek cyborg evo force In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2942 Lines: 82 On Sat, 21 Jul 2007, Renato Golin wrote: > sorry for the delay, below the report descriptor and attached is the > full report when I've connected the joystick. Hi Renato, I guess I can now see the problem. The important parts of the dump are [11165.496717] INPUT(6)[INPUT] [11165.496722] Field(0) [11165.496726] Physical(GenericDesktop.Pointer) [11165.496733] Usage(1) [11165.496738] GenericDesktop.X [11165.496744] Logical Minimum(0) [11165.496749] Logical Maximum(4096) [11165.496754] Physical Minimum(0) [11165.496758] Physical Maximum(4096) [11165.496763] Report Size(16) [11165.496767] Report Count(1) [11165.496772] Report Offset(0) [11165.496776] Flags( Variable Absolute ) [11165.496785] Field(1) [11165.496788] Physical(GenericDesktop.Pointer) [11165.496795] Usage(1) [11165.496799] GenericDesktop.Y [11165.496806] Logical Minimum(0) [11165.496810] Logical Maximum(4096) [11165.496815] Physical Minimum(0) [11165.496819] Physical Maximum(4096) [11165.496824] Report Size(16) [11165.496828] Report Count(1) [11165.496832] Report Offset(16) [11165.496837] Flags( Variable Absolute ) ... but later on we have [11165.499897] OUTPUT(129)[OUTPUT] [11165.499901] Field(0) [11165.499904] Logical(00ff.0100) [11165.499912] Usage(1) [11165.499916] GenericDesktop.X [11165.499923] Logical Minimum(-127) [11165.499927] Logical Maximum(127) [11165.499932] Physical Minimum(-10000) [11165.499936] Physical Maximum(10000) [11165.499941] Report Size(8) [11165.499945] Report Count(1) [11165.499949] Report Offset(0) [11165.499954] Flags( Variable Absolute ) [11165.499962] Field(1) [11165.499965] Logical(00ff.0100) [11165.499972] Usage(1) [11165.499976] GenericDesktop.Y [11165.499983] Logical Minimum(-127) [11165.499987] Logical Maximum(127) [11165.499992] Physical Minimum(-10000) [11165.499996] Physical Maximum(10000) [11165.500001] Report Size(8) [11165.500005] Report Count(1) [11165.500010] Report Offset(8) [11165.500014] Flags( Variable Absolute ) [11165.500022] FEATURE(11)[FEATURE] As we call input_set_abs_params() both for input and output fields, I can easily see how the range gets corrupted. Renato, does force feedback work properly in Linux with this device? If so, that would mean that the device has logical maximum and minimum for X and Y axes different in input and output, and we would need to handle this properly (we currently don't). Thanks, -- Jiri Kosina SUSE Labs - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/