From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CBC1E218AC8 for ; Thu, 19 Dec 2024 16:01:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734624077; cv=none; b=YuOXsQTUBo/gVT4MnmJgScR3N/XK4jzqxWFEezTfoZ+s9tKT02wVh9lGUE4zERf3BeEcp+kwz8fiFOLJ/tO3fXXuCmnNXhDPvohX6lKQLspelC9DeMU71xqZuYYYb4EN9KG+6kyhGximF2p99kcFWPApaLq+8KB6AbtBu0qiGa0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734624077; c=relaxed/simple; bh=gkBSIvlclYZebUHa0tU3uN0hiPeBegG6xbDwB+KmSyI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=a9zsiSR7AUy30PDeOxMQDqA924cSvej77v0Mngpm2GgqS/9MJmXzEgW+R+NWTpEJCv1QValoVXDDD1IIZJS4sPZuZdlmX+wI6OMQeqDV7GqMmbbxDr9wCqL/Ti+7nnYHvvcNZNyL8F3b35TTk8eiKz3fFE17ArWvbhyCaDu2wwc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=MAwx8o37; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="MAwx8o37" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1734624075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3PS97DWanpLVn11jCVp26zYmWP/CARzArjE++9wPOCY=; b=MAwx8o37bFWxgouoeIIqqY1Hc9sS+3w0iErlI/qT67OSUGIAWjf1w2I/mjONVL0xOn7EYS nFWzEwhunjSYp1YlAVni2rwSTPnoONAd/Qo8Vwb5HPesDnnxMkxmRbUrPi0VHUzvyrK9cp XLnO5JT2WUKZl0qv2MoLBmrtrs2Zf3U= Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-307-P-z3D6vEMPS5Kc9heD-OGQ-1; Thu, 19 Dec 2024 11:01:13 -0500 X-MC-Unique: P-z3D6vEMPS5Kc9heD-OGQ-1 X-Mimecast-MFC-AGG-ID: P-z3D6vEMPS5Kc9heD-OGQ Received: by mail-ej1-f70.google.com with SMTP id a640c23a62f3a-aa683e90dd3so83206466b.3 for ; Thu, 19 Dec 2024 08:01:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734624072; x=1735228872; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3PS97DWanpLVn11jCVp26zYmWP/CARzArjE++9wPOCY=; b=W+4IjsdAduoIZXCUpwq6vf7Cl87O6rmttOWKP6XmpNTKqi7vyZKHxUdzm2AxaHdK+l fVXfC5Dmra3X9oGCT0oBRsQnQwQqZyQqHcIFyVABZG1tNUd3BdFbiM3fuoR6Bt5Fz61X lBfZMsomt8mlEC8pc5hY8bNLiR3U/9ryMnAX2zBdSjmYs+7rR69pp/9d9av+MjXu4pk9 gLLR43MBlCjITJS9MQZIB8zepbHZr9eGHHYzpS7CiPuiCN8nvbwz2Af1LjtjLSLLOOxB mHffbXr6lQX73qPphsbLk4Duxnv52SbzgkRPDCMhRdlGyP9J8OmRNactt9LHfRFHRcOd 4pag== X-Forwarded-Encrypted: i=1; AJvYcCVJlGT3LVkCOTha86fBpwO/ArTehgOrvECcUvCR7hDSEFc2i/eocE/aOK39KK9vkTIUblIF6ZoW3JEKGM4=@vger.kernel.org X-Gm-Message-State: AOJu0YwdsrGhATL9VPu9VQnGVRY5qGGCPqfEL0B3noG+8pfbfkqOKzlx c8rWOqpvkq3pSnRQSLRHCnnrsbWxqlgMIbnT7P5GnaPHtJZ9IB6Jfe4Glg506DazCryqpNCKzY9 F/5nAVNBQMvy8hOHyR3cwRU1ldaXy2RNHyeUfXgtvK9EyRRlYZ6hlcrMuakCCqcNqR1urXp4P X-Gm-Gg: ASbGncvKwwnGzCXZirpi4JO/FmRMp+YulQePvC3PzDPjSXpdSNthGY5AKunKNvswG2g Wqw4O0yFN0i+7lD2dKWS8+pKUtuv+UQ0TWRz6MnjE/Y/rylfgWgj6iH6uofdwnJ5H98XVmH++eu T+p3hAEBl4uN1f4ylNUysoAqer/Z00zahx4hhNOX/+QDxztuJVnPNNzgoJU/syjX/tBdRxq08Bt ZshIrKfA1mE8YZfD1KrkZpRgx/NiVk0dur5ADHXUVQfHOeS2VAb3XZKD11h3TRgQPkSMolkzPVI 1d65SFpFKN1GCbUSfHQjKNycvpjFaJBauIDzdqMFxxPHeYmVFJ0ACbKvk1yR7Di7YIu/kn/+v9O iO3EnpGyxaNNITYTajkCD6nmhSj0o5kM= X-Received: by 2002:a17:907:6d04:b0:aa6:7165:504b with SMTP id a640c23a62f3a-aabf47c376emr675077166b.31.1734624071671; Thu, 19 Dec 2024 08:01:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IFWK5Zs0c5IaL27lseAapqHv3hKyzVy90SNMnVdQE9HllRYJ4+XMEhTIGAwuV3H43UWZyzZYQ== X-Received: by 2002:a17:907:6d04:b0:aa6:7165:504b with SMTP id a640c23a62f3a-aabf47c376emr675068366b.31.1734624070995; Thu, 19 Dec 2024 08:01:10 -0800 (PST) Received: from ?IPV6:2001:1c00:c32:7800:5bfa:a036:83f0:f9ec? (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aac0e98f6bcsm78952866b.77.2024.12.19.08.01.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 19 Dec 2024 08:01:10 -0800 (PST) Message-ID: <877c1672-744a-473f-a4dd-45fd10cfee11@redhat.com> Date: Thu, 19 Dec 2024 17:01:09 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] Input: atkbd: Fix so copilot key generates F23 keycode To: Mark Pearson , Peter Hutterer Cc: Dmitry Torokhov , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org References: <20241219151910.14235-1-mpearson-lenovo@squebb.ca> <223e3b07-365c-436e-9439-25cd3a490e5e@app.fastmail.com> Content-Language: en-US, nl From: Hans de Goede In-Reply-To: <223e3b07-365c-436e-9439-25cd3a490e5e@app.fastmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi, Really +Cc Peter Hutterer this time. On 19-Dec-24 4:48 PM, Mark Pearson wrote: > Hi Hans > > On Thu, Dec 19, 2024, at 10:28 AM, Hans de Goede wrote: >> +Cc Peter Hutterer > > My bad - I've been discussing this with Peter and should have added him. Thanks for including (sorry Peter!) Except I forgot to actually add Peter... >> Hi Mark, >> >> Thank you for your patch. >> >> On 19-Dec-24 4:18 PM, Mark Pearson wrote: >>> The copilot key on Lenovo laptops doesn't work as scancode 0x6e, which it >>> generates is not mapped. >>> This change lets scancode 0x6e generate keycode 193 (F23 key) which is >>> the expected value for copilot. >>> >>> Tested on T14s G6 AMD. >>> I've had reports from other users that their ThinkBooks are using the same >>> scancode. >> >> Hmm, I'm not sure mapping this to KEY_F23 is the right thing to do, >> there are 2 issues with this approach: >> >> 1. /usr/share/X11/xkb/symbols/inet currently maps this to >> XF86TouchpadOff as F20 - F23 where repurposed to >> TouchPad on/off/toggle / micmute to work around X11 >> not allowing key-codes > 247. >> >> We are actually working on removing this X11 workaround >> to make F20-F23 available as normal key-codes again >> for keyboards which actually have such keys. >> >> 2. There are some keyboards which have an actual F23 key >> and mapping the co-pilot key to that and then having >> desktop environments grow default keybindings on top >> of that will basically mean clobbering the F23 key or >> at least making it harder to use. >> >> I think was is necessary instead is to add a new >> KEY_COPILOT to include/uapi/linux/input-event-codes.h >> and use that instead. > > Sorry, should have been clearer in the commit message. > I'm doing this just on the Microsoft spec. The co-pilot key is left-shift, Windows/Meta key, F23. Weird combo I know.... > > Somewhere I had a MS page...but this Tom's HW page mentions it: > https://www.tomshardware.com/software/windows/windows-copilot-key-is-secretly-from-the-ibm-era-but-you-can-remap-it-with-the-right-tools > > I'll see if I can find something more formal. > >> >> Peter, I thought I read somewhere that you were looking >> into mapping the copilot key to a new KEY_COPILOT evdev >> key for some other keyboards? >> > > Wouldn't this require the kernel catching all three key events and doing the interpretation? I have no idea how this would be done or if it makes sense. So I guess I got caught off guard by your commit message which suggests that only scancode 0x6e is generated. If indeed a left-shift + Windows/Meta key + 0x6e combination is send them this is a different story, since indeed we cannot filter on that in the kernel. Although sometimes I wonder if we should because we are seeing similar things where left-shift + Windows/Meta key + xxxx is send for e.g. touchpad on/off toggle. To workaround this atm GNOME listens for XF86TouchpadToggle as well as shift + meta + XF86TouchpadToggle, theoretically it would be nice if we can recognize these special key-combos at a lower level. But thinking about this that is nasty, because then we would get an event sequence like this: Report shift pressed Report meta pressed Report meta released Report shift released Report KEY_TOUCHPAD_TOGGLE Report shift pressed Report meta pressed Report meta released Report shift released So yeah handling this in the kernel is not going to be pretty. So I think your right and just mapping this to F23 is probably best, but I would like to hear what Peter thinks first. Regards, Hans >>> Signed-off-by: Mark Pearson >>> --- >>> drivers/input/keyboard/atkbd.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c >>> index 5855d4fc6e6a..f7b08b359c9c 100644 >>> --- a/drivers/input/keyboard/atkbd.c >>> +++ b/drivers/input/keyboard/atkbd.c >>> @@ -89,7 +89,7 @@ static const unsigned short atkbd_set2_keycode[ATKBD_KEYMAP_SIZE] = { >>> 0, 46, 45, 32, 18, 5, 4, 95, 0, 57, 47, 33, 20, 19, 6,183, >>> 0, 49, 48, 35, 34, 21, 7,184, 0, 0, 50, 36, 22, 8, 9,185, >>> 0, 51, 37, 23, 24, 11, 10, 0, 0, 52, 53, 38, 39, 25, 12, 0, >>> - 0, 89, 40, 0, 26, 13, 0, 0, 58, 54, 28, 27, 0, 43, 0, 85, >>> + 0, 89, 40, 0, 26, 13, 0,193, 58, 54, 28, 27, 0, 43, 0, 85, >>> 0, 86, 91, 90, 92, 0, 14, 94, 0, 79,124, 75, 71,121, 0, 0, >>> 82, 83, 80, 76, 77, 72, 1, 69, 87, 78, 81, 74, 55, 73, 70, 99, >>> >