From nobody Sun Oct 5 10:44:49 2025 Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CDC7621D5B6; Tue, 5 Aug 2025 19:21:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754421677; cv=none; b=rCIj9iJyZF2YzfwAYVpnc84+IufhvbFiOjRiyd3TVyptKokFpZBSy/s7OJL/X0wI0Qyr1N/cK06sAkouTN53hxsSzXxJqE12cvfdnt/3LUSqYHKoyTAIcpz23aDNOSCeey+BNMNlZfGNnP9xy4GNyHJmZTqRp5jOuWTtRiMf/s8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754421677; c=relaxed/simple; bh=YVEUTS11ts658pKpdfpH3D5AJpuXULayJVkA7E+HFYM=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=IoDqzrJizqUA/hErJEV8eGFTtn9oxGQb17GxJQlMmP2WCBSwfa8Y6FZ70lOWCTaWgfhcSyfpQw2gQjG/iOeMfUnwAWuZVSIQAnKOBHKNNpJGduah9nn7y2hLYCyUrIHqyoxwVuiZGQ3JFl+RBRVGDUV5YzBKFmBlsbfKg/yU2mI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GntXL8C9; arc=none smtp.client-ip=209.85.208.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GntXL8C9" Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-33245e653bbso32432581fa.1; Tue, 05 Aug 2025 12:21:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754421674; x=1755026474; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=rwxm+29m+vC2nSU3Hx47xSx1Do1W9sGMjp59rfZVT4Q=; b=GntXL8C9C+u+MftN7ybJTWDlqJmFXX19cu3+lz76SAJ4gGXEJdVgi/YmzDoYcvm860 m3fxjizS/1porkrsR0WYuEiJHO3augCokZykYTcrJ7PCxvlpMq75RTRL2M9TdpKAGO1F Bq66IPWLMbyTFF7YG4T/w5Gf19Ch/5D0Q3YIZC85uprip+6dkIG8RP9KO0+idy1VfAmL 5kkPjjez0iujYdKtiEH/bFSLKTqBQoBhT01ClJlkoS6E8fL/Q1yg0B3vXjX49XjhltJj RnrwhOqHa1Z3Mt9WsY1/bSnoS8Lt5A5/IAwcajzRh997Hw81NC6xvCK2JXeCDQRcduOI UESQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754421674; x=1755026474; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rwxm+29m+vC2nSU3Hx47xSx1Do1W9sGMjp59rfZVT4Q=; b=nyjSoZDDAIUciN3dP9iHUDX8lAqvFt1VMwTMGyKO4uSQTi7mPpTnT+koIvxvh0IEh+ 1sM4PUL/CphgtbsI/g1kTbxhegnIou1JfbJqIb52nFsHlRq1X998VR9yxVXfFfzUTtLb QrDEuY4Gk03WsPLHfi7f1xpujM6FllQi5xv6apulXuJ1w75LGV19waWaVPHqG37XGTqJ oeMWFEjmT44asVnum5IIPjSUgGbT4c8+VP7GnGIdqfSadM0cQuCx21I+meClIc/yTcTK EgJeZlCjqf3YAVlacWWJjw2Lui5tBHWKleVoUUEQ/dpf39iGuOS44Pppk8V2SDd1BwG7 Mvpw== X-Forwarded-Encrypted: i=1; AJvYcCURi6PptDwoNLO5/BgGaz2sOF1SSCb/swgI79LpaF8ebvmM2pv5I5cFQZPjHw3AY0c82DLysWl0l5QCgw==@vger.kernel.org, AJvYcCVuz04LeNXObT4IyaasBZldsn3heNfzW3qMUrKkRPgCgTLsuRWAJztYCziypxyz4ZzJPEORMvy6LBtYJhsf@vger.kernel.org X-Gm-Message-State: AOJu0YxYr0ZmvjIgow/dV67PhrpHehHc7unMn/8YF1NuVtLDVnh8rlY5 YYwVfCh7Eks++Tg2uXuR/dDWwfdUR9FYOfySJI2jQTGNwLcWMD+hyu8= X-Gm-Gg: ASbGncvuSbp1wBydm5cBkxXkgZNMVGDgXl7eOltovahsm5sLkYIX2WInCBkR3wjDVlE nlfpwXrYoHA3EcW6M1WYl8uAqRWadUrOF0MdHEMv8dPhtWN6TT2ZJvqKPUqr+Jk7c+njCTubo8P FJLpXxfw6TDSxtsyvl3/r4SRSRCnDEI6xaWJoef5jFhSN5y7HopgAmm0CNA6W52jIwjQRc+fTuC EPP/TcWPlHaw29DCUzEPS/ajLA1P/tJuGFQOUeFkGXZPktUXO4QEoCeFkBcl2m/SjBJiukTb16P uBNognMoJyNnJK/DRoti6goESHJkuRrCL/kTzP+PA6xyb/IDsQUAW3Xfciby7jG5N3ay65HaS/y aTd0V1LLLf94= X-Google-Smtp-Source: AGHT+IHHvfBbvW792GJesU16ZosUoDGJmwAH0HfpMV5vEj/0KoaVRp1swdgvc8WGMdWP5GB5YEpguQ== X-Received: by 2002:a05:651c:1a0a:b0:332:5ce1:1fd5 with SMTP id 38308e7fff4ca-3325ce124f0mr36420981fa.31.1754421673794; Tue, 05 Aug 2025 12:21:13 -0700 (PDT) Received: from frylock.hermans.pl ([2001:9b1:dfa:6c00::f02]) by smtp.googlemail.com with ESMTPSA id 38308e7fff4ca-33262ac17casm10258271fa.82.2025.08.05.12.21.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Aug 2025 12:21:13 -0700 (PDT) From: =?UTF-8?q?P=C3=A4r=20Eriksson?= To: Dmitry Torokhov , Vicki Pfau , Pavel Rojtberg , Nilton Perim Neto , Antheas Kapenekakis , =?UTF-8?q?P=C3=A4r=20Eriksson?= , Mario Limonciello , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] Input: xpad - Add MAP_FERRARI_458_CUSTOM_AXES mapping flag Date: Tue, 5 Aug 2025 21:20:28 +0200 Message-ID: <20250805192036.53918-2-parherman@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250805192036.53918-1-parherman@gmail.com> References: <20250805192036.53918-1-parherman@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Introduce MAP_FERRARI_458_CUSTOM_AXES to support custom axis mapping for the Thrustmaster Ferrari 458 Spider wheel and pedals. Signed-off-by: P=C3=A4r Eriksson --- drivers/input/joystick/xpad.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index 1d8c579b5433..51e285efac79 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -84,6 +84,7 @@ #define MAP_PADDLES BIT(4) #define MAP_PROFILE_BUTTON BIT(5) #define MAP_SHARE_OFFSET BIT(6) +#define MAP_FERRARI_458_CUSTOM_AXES BIT(7) =20 #define DANCEPAD_MAP_CONFIG (MAP_DPAD_TO_BUTTONS | \ MAP_TRIGGERS_TO_BUTTONS | MAP_STICKS_TO_NULL) --=20 2.50.1 From nobody Sun Oct 5 10:44:49 2025 Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 32C1226E70B; Tue, 5 Aug 2025 19:21:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754421680; cv=none; b=IO9WU3eh0RhqzOh0nEXZtWKy1slSFWDzCT9vsU0GOl9kLz7RFPxm8I7x4zQZFZQsuSFhAjzZtKe4DIhh6DRm5KnvuvzFk2TmzxRuZg423YHoLuCk+a7XjLNYH+WngoHRCSwwDY4yKo9dwX8fDNB5UZNjK/76I3v5G38A0YwrSBU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754421680; c=relaxed/simple; bh=ZwjQRWYfwc9skmRPIa6MTaoCmy1KGtTkrWqFILxCLu4=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=cqLIcuu9x/7M3jObKbOYC5Y1XC2AD5geiljWQwrWxGT2oHhbBD8voAZUocPFLAvgiF8/pNab84yBG1cmQhQgfpM6LrjB4g0acVmRKJknF5klezXbpmvzpUgkKQoKdVlPK5d3MMHojV9E0jgQDttND1unGXq5N17mkCS9IvFpWTk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SPDs0qn3; arc=none smtp.client-ip=209.85.208.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SPDs0qn3" Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-3324e6a27a0so34193621fa.1; Tue, 05 Aug 2025 12:21:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754421677; x=1755026477; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=5BzVYtNR1pAHV5QAtukF50SMj24UbVioNyneCkS6L+Y=; b=SPDs0qn3ivt6rJQ8v7KKgzZHodTaJ0ktxTb7HcSoBKO9d9sI9VDMV8ndXH+DKFMtvk SbJqoUF/lV8BErXvpJaZJsGUPBBjVT58pqXleqz5Xcds5mtiNRVPRjpjRm5J8sK1Tfsl FA1oxXqfGFs41F+mc5v15N16JYwIiSsTUamBQZncR1QD3rpSOYSW4p4huYJDwizGMNuI +AXPElT2+4j8CUm5iqpIhXqpj0JxhAWBg9hBB0OB2ePABRVnL78OWCUM+fjeKbfkplIy uzklt57OHNI2yvI6oi3iEo5LLIwqygGVipURhNPrzMXyTFrnf12BpJcQhvlky0toY8v/ 6ZjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754421677; x=1755026477; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5BzVYtNR1pAHV5QAtukF50SMj24UbVioNyneCkS6L+Y=; b=khJBaqXNQolAFb6uV3iKdhC7gUuDeQRLz9/ScQ7nQD7rrJvzKyuozjHjt04jmACDlr jusa82f1a8awYyXHoff7gAw91q+2+nM2GaSGai0XM/CslgYCrHyAMbvMG6R/3OzXv/Nr 9J313xa5wc7tnZHUw76WBOa9EV+eBh2OXkRaHYPwmUF1uJPx+T0mMk1itmSUhFByZPuQ QjT4P9UW/voR4fQsiO181Sn6KaDQ0JvF1yfz21OvJZ8h7kbI4zIWNOi5zJoukgP8s6vf Z+mKgBVJfavs3p72SiyekpIeHLDFlbozSaPfZKEE61NBIpZbm78wMsGDCnegoeHGUnyw UgNw== X-Forwarded-Encrypted: i=1; AJvYcCVYc3+4VoJqMZykN106/38cHWky4AxQRM3CxXYuigi4gPHhKHSwPyxKFWAqv8ED3mSPV9prFdvZdcwHPw==@vger.kernel.org, AJvYcCVZInBk54J/4NBTfMNx4VlEHT0bcQjmAJ3ZTZAPVJ9mxt9qIyocJHDMM9An6Emfke8D6Sy33UyQupc+77q5@vger.kernel.org X-Gm-Message-State: AOJu0YzQK5GMOWfHYZGAF3sNIrMiFA9FAxIFcVD3t2QtbECBXZxBYIS7 ZmEmfWTlzjPdJ/6OcIWtHW7IcTnICFf248qwU8LBIOCHHFWgjidPQGw= X-Gm-Gg: ASbGncsB3RlTgIfB0F8KhZT1mT/HPa7fvsM/3Y2atn1pL4I+xWyjxPnamglfEE4q+1q bXBDwHmATW0/ouGO0rPmu0bPo8w8jHyApYM3d7+TnEHGpECCZEeGJfpawhsyjx/y8Vb+w19a4Wg 1gkipI8rutJ7fC3vhF2uwrIf9OZ5U4WYMvc4o4sx6TqM5LIcmukt+OCau54dN23VLbRnVXWbQYZ Slx1ufQuZvTZtF7bcrAdmMTSL5LnbEgNon5COqK4coKwL9ZxEPhb5ypK7zNwcvGrQfxOUEE3wUx bBF0fXDcVTi6IpvjALSum8pIWl4Uo8GOFkcXhVC7mIGkkXVWg/XCbEruZIV0cgHhfwarN/j282f YZlNi52R0GFs= X-Google-Smtp-Source: AGHT+IEVWLxVD8gbqmr1drBNcqv56HbrFyASJzULrVtZRUssJ5ezVg6k7Pp929dR3SDNfsvSzu9QvQ== X-Received: by 2002:a2e:a98b:0:b0:332:5fd5:e3c7 with SMTP id 38308e7fff4ca-3325fd5f754mr39907131fa.33.1754421676977; Tue, 05 Aug 2025 12:21:16 -0700 (PDT) Received: from frylock.hermans.pl ([2001:9b1:dfa:6c00::f02]) by smtp.googlemail.com with ESMTPSA id 38308e7fff4ca-33262ac17casm10258271fa.82.2025.08.05.12.21.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Aug 2025 12:21:16 -0700 (PDT) From: =?UTF-8?q?P=C3=A4r=20Eriksson?= To: Dmitry Torokhov , Vicki Pfau , Pavel Rojtberg , Nilton Perim Neto , Antheas Kapenekakis , =?UTF-8?q?P=C3=A4r=20Eriksson?= , Mario Limonciello , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/3] Input: xpad - Add Thrustmaster Ferrari 458 Spider (044f:b671) device entry Date: Tue, 5 Aug 2025 21:20:29 +0200 Message-ID: <20250805192036.53918-3-parherman@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250805192036.53918-1-parherman@gmail.com> References: <20250805192036.53918-1-parherman@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Add the USB ID for the Thrustmaster Ferrari 458 Spider (044f:b671) to the device table, using the MAP_FERRARI_458_CUSTOM_AXES mapping flag. Signed-off-by: P=C3=A4r Eriksson --- drivers/input/joystick/xpad.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index 51e285efac79..fdd70f256be7 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -147,6 +147,7 @@ static const struct xpad_device { { 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", 0, XTYPE_XBOX }, { 0x044f, 0x0f10, "Thrustmaster Modena GT Wheel", 0, XTYPE_XBOX }, { 0x044f, 0xb326, "Thrustmaster Gamepad GP XID", 0, XTYPE_XBOX360 }, + { 0x044f, 0xb671, "Thrustmaster, Inc. Ferrari 458 Spider Racing Wheel", M= AP_FERRARI_458_CUSTOM_AXES, XTYPE_XBOXONE }, { 0x044f, 0xd01e, "ThrustMaster, Inc. ESWAP X 2 ELDEN RING EDITION", 0, X= TYPE_XBOXONE }, { 0x045e, 0x0202, "Microsoft X-Box pad v1 (US)", 0, XTYPE_XBOX }, { 0x045e, 0x0285, "Microsoft X-Box pad (Japan)", 0, XTYPE_XBOX }, --=20 2.50.1 From nobody Sun Oct 5 10:44:49 2025 Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A7A729ACC2; Tue, 5 Aug 2025 19:21:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754421684; cv=none; b=X7WT0e1DjfUa/ubHVgMOD9WYk//uoHA7Q/Mf3Ybvoxcxg2P04eWy8ESMvqwgpCK7aEbzxifpRXDF+IPkM0SIv0PMLBahj2WoCFsbRDkf6PpuICDGCm2+32xkIXozswD32b1/+1B/igJ724VOyruveUnhqdCwE9TnbNpcH8KOrmk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754421684; c=relaxed/simple; bh=dHwcTRSLdwMYfV+uodiBzuzbnJtX3UdI5Lfrz/H+TAE=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=sOPqcYSkUYR8SG1M9sJD94LEh/qNAGjzDmJUAcs/qrLY8mc/Q4Y+o/nlkFO0Wq8enAil4ZujFwl0Z1j6ahAICLdDE0fUviC3UtntTcfE9MLt1SWoJ4gM5qWACp8lojIUt0myLEK6/Jm6/g8r4bO5xzvM+HsTO4c6PDJiUnCDjhA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UKlw4x2m; arc=none smtp.client-ip=209.85.208.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UKlw4x2m" Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-32e14ce168eso46654331fa.1; Tue, 05 Aug 2025 12:21:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754421680; x=1755026480; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=8sQ80esMoEHmM7lBZbtTbd0OmUR1HV3ixDauZ/q44yo=; b=UKlw4x2mAMi5NL16FIwSVxZnH0GPhD73GVT6j0kKX0MvBDVM4wdQHGMe4YnLebur+Z Fi7D5IuEWO/15TncNkALwt486Du4NJoXWLGdM/DVVc+ueaBXJfbeij6U23D1NAxjSs6h yN4UoB8hT+Mn5vqNGeMGp8FPpa9Kr/9aXIBXNzrnBZn9acfpYYekmYAJDaAMW2lCduop QFx1Fd4lQzodIqIJBzZA5afNHt5LWeqMGGWsrmPhSnlkJ/0M22D5q4WGg+ctSpgq/H5T s4xD0eEeIaIJAKSfiQFVxX/Q2vpR7JTBsF7yKjfzgEm8JAvmnwlfHGRxGX5EtU1Uqfoq 5s+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754421680; x=1755026480; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8sQ80esMoEHmM7lBZbtTbd0OmUR1HV3ixDauZ/q44yo=; b=ItpVB3LwZ7B0muDCRo6sGRUp1L+TGq436Whpm0a7zrlxl/tM65nFrsVtn7Iv6412BI eno+Yl/eLlBAnniMpFJR/tKX2GTMAitZpwF9MZk5TxrA2wB2J2QLSRhVt8qf1PLR+htG vmNUzbe6XwvX4rwdVHhbdrmtqdPLmnxmu0FsC2rtHo0Ko/g5+3sN922eO5A5Rpwt23t2 kn5XKSWMa3IGnnjYduRmMRqqbfXX7IrHJwbDR2dr7SQB7mkfvjRJHVku2k/eh6bMzZXT dJY95HaVO5/74KzOt3VARSqvSpnk09rOwfUnMLkpTphj60a0+eGIGSLCTt/fQ66U5kb5 6haA== X-Forwarded-Encrypted: i=1; AJvYcCU3hYM6+3D50YStKiyGL8OqN1DEx5bfbc9EfdvuXrV+5jvIep782RpcCHr8EgZbNqPu+EynYmPUTVCjlKJU@vger.kernel.org, AJvYcCUAVzTXwWBRtBjNy4aRKSlAoIFWYk4iYHrVEcI77BTz2WXJ0efnBCVlC1FFPTokaf6E8quLTB3YJ4tseQ==@vger.kernel.org X-Gm-Message-State: AOJu0YwITfBHuRocN5Cma0bJnC/FdoCZ4PxflSzpqvoDUTPENqdQW3eg wzFTBIhao+Hqvd8Es/lEHx83Nx2lhC6Mfy+h+BoYGtyCggHkrS2Yluw= X-Gm-Gg: ASbGncvV+7tJ/IYm0hrevNDRO68P6w6/rytFNHQLfcdj3jFnb946ILHnkt3hytjRGZM 3ZHOqGgFu2cQmyGS5oi+h0Rmn49blcb9JM1MQD10zyVkxWfhY4mu/eTIXUt/qiFdh5QhC8Xscmv q+EQ3kvUYeOcUtSbVdzdO6jHXz0Lc5fVLB8+4BbF1nzAOSdHaW9urP5AXC7zeAL9AVP+1j/qktr bcFfB7atkYt4UA9WDaGeHxgMbJ6oyKAV6g5chUZkx4hRsZ6KlCdt9L1btvMYs/p2KMsK6C1ubXB HdL+ZSZ0s3Kw6QhLNFXeIpxxIh81nj/xT+2YAQjntf5aY2rdmiV10islzsjUyPmNjOCSKQYB7oq 7OGVtXPm4Q5k= X-Google-Smtp-Source: AGHT+IF5KUdQe2vAe2vtxlnpo+yaIUGNR5YbZkpVp8qSymB/IbWcNaoX87JDyP1S5hc3jfXSzKZTJg== X-Received: by 2002:a2e:b4a6:0:b0:331:ebc6:7155 with SMTP id 38308e7fff4ca-332567b4ef8mr26849901fa.19.1754421680179; Tue, 05 Aug 2025 12:21:20 -0700 (PDT) Received: from frylock.hermans.pl ([2001:9b1:dfa:6c00::f02]) by smtp.googlemail.com with ESMTPSA id 38308e7fff4ca-33262ac17casm10258271fa.82.2025.08.05.12.21.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Aug 2025 12:21:19 -0700 (PDT) From: =?UTF-8?q?P=C3=A4r=20Eriksson?= To: Dmitry Torokhov , Vicki Pfau , Pavel Rojtberg , Nilton Perim Neto , =?UTF-8?q?P=C3=A4r=20Eriksson?= , Antheas Kapenekakis , "Pierre-Loup A. Griffais" , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/3] Input: xpad - Implement custom axis mapping for Ferrari 458 Spider Date: Tue, 5 Aug 2025 21:20:30 +0200 Message-ID: <20250805192036.53918-4-parherman@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250805192036.53918-1-parherman@gmail.com> References: <20250805192036.53918-1-parherman@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Update xpadone_process_packet to handle steering and pedal data at non-standard offsets for devices with MAP_FERRARI_458_CUSTOM_AXES. Signed-off-by: P=C3=A4r Eriksson --- drivers/input/joystick/xpad.c | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index fdd70f256be7..252290424bbd 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -1135,17 +1135,23 @@ static void xpadone_process_packet(struct usb_xpad = *xpad, u16 cmd, unsigned char input_report_key(dev, BTN_THUMBR, data[5] & BIT(7)); =20 if (!(xpad->mapping & MAP_STICKS_TO_NULL)) { - /* left stick */ - input_report_abs(dev, ABS_X, - (__s16) le16_to_cpup((__le16 *)(data + 10))); - input_report_abs(dev, ABS_Y, - ~(__s16) le16_to_cpup((__le16 *)(data + 12))); - - /* right stick */ - input_report_abs(dev, ABS_RX, - (__s16) le16_to_cpup((__le16 *)(data + 14))); - input_report_abs(dev, ABS_RY, - ~(__s16) le16_to_cpup((__le16 *)(data + 16))); + if (xpad->mapping & MAP_FERRARI_458_CUSTOM_AXES) { + /* steering wheel */ + input_report_abs(dev, ABS_X, + ((__u16) le16_to_cpup((__le16 *)(data + 6))) - S16_MAX); + } else { + /* left stick */ + input_report_abs(dev, ABS_X, + (__s16) le16_to_cpup((__le16 *)(data + 10))); + input_report_abs(dev, ABS_Y, + ~(__s16) le16_to_cpup((__le16 *)(data + 12))); + + /* right stick */ + input_report_abs(dev, ABS_RX, + (__s16) le16_to_cpup((__le16 *)(data + 14))); + input_report_abs(dev, ABS_RY, + ~(__s16) le16_to_cpup((__le16 *)(data + 16))); + } } =20 /* triggers left/right */ @@ -1154,6 +1160,11 @@ static void xpadone_process_packet(struct usb_xpad *= xpad, u16 cmd, unsigned char (__u16) le16_to_cpup((__le16 *)(data + 6))); input_report_key(dev, BTN_TR2, (__u16) le16_to_cpup((__le16 *)(data + 8))); + } else if (xpad->mapping & MAP_FERRARI_458_CUSTOM_AXES) { + input_report_abs(dev, ABS_Z, + (__u16) le16_to_cpup((__le16 *)(data + 10))); + input_report_abs(dev, ABS_RZ, + (__u16) le16_to_cpup((__le16 *)(data + 8))); } else { input_report_abs(dev, ABS_Z, (__u16) le16_to_cpup((__le16 *)(data + 6))); --=20 2.50.1