Received: by 2002:ab2:69cc:0:b0:1f4:be93:e15a with SMTP id n12csp1659604lqp; Mon, 15 Apr 2024 12:58:54 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVjz5ivUKTLoc/nT0kqW/mAmPTVxMRD2MTmWQAMw22vVULZW6OHQ2MVWZ9IlLspMMl1JEySIEnMpGfgaes3fCye6fOUxL99UMiwyXmMow== X-Google-Smtp-Source: AGHT+IF4A7+4H9eEB7QsEqjdBO88atW1BQRCp25GgpfmsGKgc/is5+N8rzFYkN/8rluTcFdSBDL5 X-Received: by 2002:a17:902:ce0e:b0:1e4:342a:b351 with SMTP id k14-20020a170902ce0e00b001e4342ab351mr12660246plg.4.1713211133920; Mon, 15 Apr 2024 12:58:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713211133; cv=pass; d=google.com; s=arc-20160816; b=XpPjtd+BDwqkk3v+UFAMpwfII7hRO0W95chaxYcrc46hOJo56zKtN8JriChXfqln02 r+IYj3h8kcTOHTl5+mSu2oavmJO2Oe+FvOpV5J+YbkCsl5SKZcLu1autEf/fSK2fq/qR 0uHZs9D3NZdDuyncQmmAii63zGdavYs13dUYLkG13jUDOcE3BoMKsHc4iIhS8YPiFKWy q5FXPRCIg/fJh4k7KtBNhMOGPI1MhZflT1wtHaOsD0ibizBKJMVW+ZVYFYDKjhMODUGn DG3/QMskQU8nFtcLjQK1RV7Aj1Hzn9k9JBGjAIGswBUruLLmzrwfbmHqk6DCk75z4HIy vjHg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=sd4qBFIurZa5789oJ4pvkqFdJ4TBJxMcpEKz1P+zoD0=; fh=h5f43DwhaW0/vFgGDfu3iMraNccxufQdte6cstYZWFs=; b=puGHcU4k2loSRWO/9hIvIUPm7uCeMVwe1NulRvEDw3RLInl+pTdSyuYr8hIFc7+fu2 ETV43g1114as7bCL5/9ZjVdXhCRoSH/aXYvBqsnlhgLroMsHLOFsnX5fgKk+8yL8vkJz 1OaiRr53y8SjjjSzqb2BpVKkNtq0OrF1bnhkWcRbC2wBc/PrJNxw26GBRxiIptJv/NpI W1IQzwQCjdlroQwACEfHtAKZr1QpQCs2Cvwq4s+PadbBnQZWA2xct8lCbcP1ASFwYyKj csawBPpnsx4mDvdATpTiyzbVElD8UV8M3tD2PS7rAu3gl0yXRIy0gv3IDRmpOsRGEOAi 1EuQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=VfNJHtKd; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-145819-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-145819-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id mb11-20020a170903098b00b001e247c6f153si8754049plb.618.2024.04.15.12.58.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 12:58:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-145819-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=VfNJHtKd; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-145819-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-145819-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3A1E528804C for ; Mon, 15 Apr 2024 19:48:09 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 873D615748C; Mon, 15 Apr 2024 19:35:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VfNJHtKd" Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) (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 3584F156C41; Mon, 15 Apr 2024 19:35:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713209743; cv=none; b=hzLE5LGuCmPOzOqJ1Hlt8yTmPIlgLvEMA+7NEQK7osjoBM5/gWYz/mSqdgnNqjhox3nJ4KleWv1AYOyR7yClimdzYXSFKK47Q7wHY8ohirmOMFNBfi2gbkWHTkBJ1Qh5Y2EtDk8+ksO7BRi1VicqPW5va9iufBtF3nQNrrpccFo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713209743; c=relaxed/simple; bh=8EX9vmvsTGxNX9SVhHyJdmgIv/WnqRU21dYjDwHUtF8=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=EpwBxtcF2A1N9fI4kTUkakuGEjrPuq26srbTIMMF4kP+FfYTMHDLbc0n7wCI/hPQe/WihGIS1o5uZ1oZK0N7J3hNWPE0nx3uujk5OVo1MWmqMXwWA/lES8CqlW6wbpM8929kggO5cN6rhIE3qIrShlQ2iEM0eJWwFUaKbFeq/xs= 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=VfNJHtKd; arc=none smtp.client-ip=209.85.215.178 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 Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-5cddfe0cb64so1990508a12.0; Mon, 15 Apr 2024 12:35:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713209741; x=1713814541; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=sd4qBFIurZa5789oJ4pvkqFdJ4TBJxMcpEKz1P+zoD0=; b=VfNJHtKdZzNq0qT03dOryB/36fl2YhvWuS3bFQlk85Mhh5MyPuwhHIbFJjcNqoKwH5 MM9FQacihPkzwvJL09B2UsiRyABjEZ1g4T0mGPzoOATtCw+Wjm4v6GzHVj6mDVvtfmT6 i1tbMxTCy6lE9fSMKhWwrBkvAX8PDuIyTUtONP6s0AmydgE2yuPH8XjTB1d4V0IHpMmA RNPRydbG55ffASmwOxQjqrVx8fdW8nm2g2wQ+lX09JKOwVRjNEErB3zyIhSKi7qT4vlY IQp1VxLVHaCZcim/PPg3du68YS+GYw3YJdXvTUp70Z6y3F98xZs1TrWURU6Aa97M9ZUI q6hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713209741; x=1713814541; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=sd4qBFIurZa5789oJ4pvkqFdJ4TBJxMcpEKz1P+zoD0=; b=q68BpWwzSzwBNhXe5DKH9D23/R4x22DJTPFEgylAFdsn5na1PvHprPp1+X4TVOht/v Zjm1pIfWQU/w9XlShMO3a+HYs/Gm3idk5XNpcNI+NsCEuC6Yu4CR5SFl0QHEuaogll4d rzWARl78e4vQn3QN5Esny0GdUSMBb+J6N6qFV9LfzvvZCX1R4E94k/44dJB65UM35qC6 Heg6K08bmCjgOL0kSh9mCy2l3cqugwCnNH1X2qENIibkAjfybLnjy/BCpePtI+Pys/6r HyyxG/pUrsn0NUM8ERgJnuvw8VmPpQ4RsoBMF8IPRLawYvTJCTp9fasySfdSfiYgMciW ZT5A== X-Forwarded-Encrypted: i=1; AJvYcCUyQSCnvK71f9K6zqMmjflzlvYBgFtj+CcMsYAaqRMpQ9VP4P5Id+M9p/wXO/4ztDesSHgMK+aO8wt7xFL9UsuzXH2yIrQe9ANEdny/+uCIBoikWFu/7IHKs+/TdjSGzP7PWJvZsiwYyY9M18zVVmtodi7KXaXKtmYKe/B2kqTVuuqXhC/rFigxK8rLBMsq X-Gm-Message-State: AOJu0Yw6oTT7EK4cqkOq4/HiJslfghyWfBkBxYgSh5ZQT4j2E60znFKD lt7L16V8TrJNuFXSKSjwM5QXPQ4z4vcCX9+O6sePvhwdKdmKmZVg X-Received: by 2002:a17:90a:c8e:b0:2a0:3dc3:8a8b with SMTP id v14-20020a17090a0c8e00b002a03dc38a8bmr7471492pja.47.1713209741258; Mon, 15 Apr 2024 12:35:41 -0700 (PDT) Received: from google.com ([2620:15c:9d:2:fbbe:421b:9296:f28c]) by smtp.gmail.com with ESMTPSA id y15-20020a17090a600f00b0029c49ed3974sm7383306pji.37.2024.04.15.12.35.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 12:35:40 -0700 (PDT) Date: Mon, 15 Apr 2024 12:35:38 -0700 From: Dmitry Torokhov To: Hans de Goede Cc: Mark Pearson , Peter Hutterer , Ilpo =?iso-8859-1?Q?J=E4rvinen?= , Henrique de Moraes Holschuh , ibm-acpi-devel@lists.sourceforge.net, "platform-driver-x86@vger.kernel.org" , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, Nitin Joshi1 , Vishnu Sankar Subject: Re: [PATCH 1/4] Input: Add trackpoint doubletap and system debug info keycodes Message-ID: References: <20240324210817.192033-1-mpearson-lenovo@squebb.ca> <20240324210817.192033-2-mpearson-lenovo@squebb.ca> <92ee5cb2-565e-413c-b968-81393a9211c4@app.fastmail.com> <411e6353-16ef-455b-98fa-2d38bb7bf9bd@redhat.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=us-ascii Content-Disposition: inline In-Reply-To: <411e6353-16ef-455b-98fa-2d38bb7bf9bd@redhat.com> On Thu, Apr 11, 2024 at 02:30:35PM +0200, Hans de Goede wrote: > Hi Dmitry, > > On 4/11/24 2:02 AM, Dmitry Torokhov wrote: > > On Tue, Apr 09, 2024 at 10:17:05PM -0400, Mark Pearson wrote: > >> Hi Dmitry > >> > >> On Tue, Apr 9, 2024, at 9:20 PM, Dmitry Torokhov wrote: > >>> On Tue, Apr 09, 2024 at 02:47:05PM -0700, Dmitry Torokhov wrote: > >>>> On Tue, Apr 09, 2024 at 03:23:52PM +1000, Peter Hutterer wrote: > >>>>> On 09/04/2024 09:31, Dmitry Torokhov wrote: > >>>>>> Hi Mark, > >>>>>> > >>>>>> On Sun, Mar 24, 2024 at 05:07:58PM -0400, Mark Pearson wrote: > >>>>>>> Add support for new input events on Lenovo laptops that need exporting to > >>>>>>> user space. > >>>>>>> > >>>>>>> Lenovo trackpoints are adding the ability to generate a doubletap event. > >>>>>>> Add a new keycode to allow this to be used by userspace. > >>>>>> > >>>>>> What is the intended meaning of this keycode? How does it differ from > >>>>>> the driver sending BTN_LEFT press/release twice? > >>>>>>> > >>>>>>> Lenovo support is using FN+N with Windows to collect needed details for > >>>>>>> support cases. Add a keycode so that we'll be able to provide similar > >>>>>>> support on Linux. > >>>>>> > >>>>>> Is there a userspace consumer for this? > >>>>> > >>>>> Funnily enough XKB has had a keysym for this for decades but it's not > >>>>> hooked up anywhere due to the way it's pointer keys accessibility > >>>>> feature was implemented. Theory is that most of userspace just needs > >>>>> to patch the various pieces together for the new evdev code + keysym, > >>>>> it's not really any different to handling a volume key (except this > >>>>> one needs to be assignable). > >>>> > >>>> What is the keysym? If we can make them relatable to each other that > >>>> would be good. Or maybe we could find a matching usage from HID usage > >>>> tables... > >>> > >>> I was looking through the existing codes and I see: > >>> > >>> #define KEY_INFO 0x166 /* AL OEM Features/Tips/Tutorial */ > >>> > >>> We also have KEY_VENDOR used in a few drivers/plafrom/x86, including > >>> thinkkpad_acpi.c and I wonder if it would be suitable for this vendor > >>> specific debug info collection application (which I honestly doubt will > >>> materialize). > >>> > >> > >> That's a somewhat disappointing note on your doubts, is that based on > >> anything? Just wondering what we've done to deserve that criticism. > > > > Sorry, this was not meant as a criticism really, but you mentioned > > yourself that there isn't anything in the works yet, you just have some > > plans. > > > > For such a project to succeed Lenovo needs to invest into selling > > devices with Linux as a primary operating system, and it has to be > > consumer segment (or small business, because for corporate they > > typically roll their own support channels). The case of retrofitting > > Linux onto a that device originally came with Windows OS rarely gets > > much if any response from the normal support channels. > > > > Is this something that is actually happening? > > Yes, Lenovo is actually offering Fedora as an OS choice when > ordering ThinkPads directly from their website in many countries > including when ordering as a consumer. Ah, very nice, I was not aware of this. > > And unlike other vendor's Linux preloads which often use a kernel > with downstream laptop specific changes these laptops are running > unmodified Fedora kernels, which themselves are almost pristine > upstream kernels. > > Lenovo (Mark) has been really good the last couple of years in > making sure that their hw just works with mainline kernels without > any downstream vendor specific patches. > > >> That aside, I guess KEY_INFO or KEY_VENDOR could be a good fit (I > >> personally don't think KEY_CONFIG matches well), but I would be > >> worried about clashing with existing functionality. > > Using KEY_INFO / KEY_VENDOR works for me too. So maybe we should > just go with one of those 2 ? It looks like Mark's preference is KEY_VENDOR, so let's go with it? Thanks. -- Dmitry