From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 033E4C77B73 for ; Tue, 30 May 2023 14:30:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232434AbjE3Oaa (ORCPT ); Tue, 30 May 2023 10:30:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41974 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232631AbjE3O3w (ORCPT ); Tue, 30 May 2023 10:29:52 -0400 Received: from mail.tuxedocomputers.com (mail.tuxedocomputers.com [157.90.84.7]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 84FCC10D; Tue, 30 May 2023 07:29:27 -0700 (PDT) Received: from [192.168.178.25] (host-212-18-30-247.customer.m-online.net [212.18.30.247]) (Authenticated sender: wse@tuxedocomputers.com) by mail.tuxedocomputers.com (Postfix) with ESMTPSA id 742152FC0061; Tue, 30 May 2023 16:28:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxedocomputers.com; s=default; t=1685456932; 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=ZXOvqfx5EPoWy3M4w6NpHFRCYWVyI+dh3j+HZl5EGZc=; b=dcKMlKIuUuuB9sYxmVuyzspkyHBvshoP/HCEQWysEF24I+HRmUC0L1eJfYBJ1JP/QVmlff uPZCa0srxJKkrJ2wk8FGCbRQTIg+XX8tat+FgdgCi8GV+x8rs8S8DUXkoSqfdjXJ2T0U7T kKN2+trHzYJP1uVVFxQomzMuZ5ZOBUk= Authentication-Results: mail.tuxedocomputers.com; auth=pass smtp.auth=wse@tuxedocomputers.com smtp.mailfrom=wse@tuxedocomputers.com Message-ID: <44574d05-3a2a-2249-b808-7e929feea36d@tuxedocomputers.com> Date: Tue, 30 May 2023 16:28:51 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH] input: Add new keyboard backlight control keys to match modern notebooks To: Bastien Nocera , Dmitry Torokhov Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org References: <20230530110550.18289-1-wse@tuxedocomputers.com> Content-Language: en-US From: Werner Sembach In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Am 30.05.23 um 15:33 schrieb Bastien Nocera: > On Tue, 2023-05-30 at 13:05 +0200, Werner Sembach wrote: >> The old three KEY_KBDILLUM* keycodes don't reflect the current >> situation >> modern notebooks anymore. Especially the ones with RGB keyboards. >> >> e.g. >> - Clevo NL50NU has a toggle, an up, a down and a color-cycle key >> - TongFang PH4ARX1 doesn't have a toggle key, but one that cycles >> through >>   off, half-brightness, and full-brightness. >> >> Also, on some devices these keys are already implemented in firmware. >> It >> would still be nice if there is a way to let userspace know when one >> of >> these keys is pressed to display the OSD, but don't advice it to >> actually >> do anything. This is the intended purpose of the KEY_KBDILLUMCHANGE >> define. >> >> Signed-off-by: Werner Sembach > Can you please point to the user-space patches (or issues filed) that > would integrate the support for those keycodes, and make the key > presses do something? I'm sorry to say that these don't exist yet. So I guess the process is similar to DRM uAPI additions? https://docs.kernel.org/gpu/drm-uapi.html#open-source-userspace-requirements > > Has anyone tested that those keycodes are fit for purpose when mixed > with other brightness changes that don't happen through key presses? Color control is not yet implemented in any DE afaik, so there is not yet a collision with the color cycle key. For the brightness cycle key, I would assume that it functions the same as the brightness up key unless brightness == brightness max. In this case it sets brightness to 0. I don't see a logical collision here as brightness up and brightness down are already implemented just fine in most DEs > >> --- >>  include/uapi/linux/input-event-codes.h | 4 ++++ >>  1 file changed, 4 insertions(+) >> >> diff --git a/include/uapi/linux/input-event-codes.h >> b/include/uapi/linux/input-event-codes.h >> index 022a520e31fc2..05287bf9a77f7 100644 >> --- a/include/uapi/linux/input-event-codes.h >> +++ b/include/uapi/linux/input-event-codes.h >> @@ -803,6 +803,10 @@ >>  #define BTN_TRIGGER_HAPPY39            0x2e6 >>  #define BTN_TRIGGER_HAPPY40            0x2e7 >> >> +#define KEY_KBDILLUMCYCLE              0x2e8 >> +#define KEY_KBDILLUMCOLORCYCLE         0x2e9 >> +#define KEY_KBDILLUMCHANGE             0x2ea >> + >>  /* We avoid low common keys in module aliases so they don't get >> huge. */ >>  #define KEY_MIN_INTERESTING    KEY_MUTE >>  #define KEY_MAX                        0x2ff