diff mbox series

HID: hid-asus.c: Maps key 0x35 (display off) to KEY_SCREENLOCK

Message ID 20211008222327.9324-1-angiolucci@gmail.com (mailing list archive)
State Mainlined
Commit 2ea5999d07d2a0ab6ad92ccf65524707f2c5e456
Delegated to: Jiri Kosina
Headers show
Series HID: hid-asus.c: Maps key 0x35 (display off) to KEY_SCREENLOCK | expand

Commit Message

Vinícius Reis Oct. 8, 2021, 10:23 p.m. UTC
On Windows systems, ASUS laptops uses the "turn display off" key
(usually fn+f6) to turn both display and keyboard backlit off. On Linux
systems, this key has no effect at all since most desktop enviroments
don't deal with KEY_DISPLAY_OFF. By mapping it to KEY_SCREENLOCK
instead, would enable desktop environments to handle this key as a
screen lock intent from the user, out of the box.

Signed-off-by: Vinícius Angiolucci Reis <angiolucci@gmail.com>
---
 drivers/hid/hid-asus.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jiri Kosina Oct. 19, 2021, 9:17 a.m. UTC | #1
On Fri, 8 Oct 2021, Vinícius Angiolucci Reis wrote:

> On Windows systems, ASUS laptops uses the "turn display off" key
> (usually fn+f6) to turn both display and keyboard backlit off. On Linux
> systems, this key has no effect at all since most desktop enviroments
> don't deal with KEY_DISPLAY_OFF. By mapping it to KEY_SCREENLOCK
> instead, would enable desktop environments to handle this key as a
> screen lock intent from the user, out of the box.
> 
> Signed-off-by: Vinícius Angiolucci Reis <angiolucci@gmail.com>

Applied, thanks.
Dmitry Torokhov Oct. 28, 2021, 4:07 p.m. UTC | #2
Hi Vinícius,

On Fri, Oct 8, 2021 at 3:24 PM Vinícius Angiolucci Reis
<itsme.vreis@gmail.com> wrote:
>
> On Windows systems, ASUS laptops uses the "turn display off" key
> (usually fn+f6) to turn both display and keyboard backlit off. On Linux
> systems, this key has no effect at all since most desktop enviroments
> don't deal with KEY_DISPLAY_OFF. By mapping it to KEY_SCREENLOCK
> instead, would enable desktop environments to handle this key as a
> screen lock intent from the user, out of the box.

But is it the intent of the user? The fact that current desktop
environments do not handle this key is not a reason to change kernel
behavior.

If screen lock is simply your preference then you can change the
mapping via udev on your system without the need to patch the kernel.

Thanks.

--
Dmitry
Vinícius Reis Nov. 5, 2021, 3:16 p.m. UTC | #3
Em qui., 28 de out. de 2021 às 13:07, Dmitry Torokhov
<dmitry.torokhov@gmail.com> escreveu:
>
> Hi Vinícius,
>
> On Fri, Oct 8, 2021 at 3:24 PM Vinícius Angiolucci Reis
> <itsme.vreis@gmail.com> wrote:
> >
> > On Windows systems, ASUS laptops uses the "turn display off" key
> > (usually fn+f6) to turn both display and keyboard backlit off. On Linux
> > systems, this key has no effect at all since most desktop enviroments
> > don't deal with KEY_DISPLAY_OFF. By mapping it to KEY_SCREENLOCK
> > instead, would enable desktop environments to handle this key as a
> > screen lock intent from the user, out of the box.
>
> But is it the intent of the user? The fact that current desktop
> environments do not handle this key is not a reason to change kernel
> behavior.
>
> If screen lock is simply your preference then you can change the
> mapping via udev on your system without the need to patch the kernel.
>
> Thanks.
>
> --
> Dmitry

(Sorry, I'm sending this response again because it seems the first
attempt didn't make it to the mailing lists for some reason.)

Hi Dmitry,

I've picked up this particular key event because it would trigger a close
behavior to the one seen on Windows. It is far from being my preference,
which would be an exact mimic of the Windows behavior (and can be
achieved by xset dpms force on/off from user space).

The idea of this patch is to improve the user experience, by giving that key a
behavior as close as possible to what users might experience on Windows.
Because most Linux desktop environments also turn the display off after
locking the screen, this would be a good approximation to what happens on
Windows. I think it is more about giving (consistent) behavior to it
than changing it.

I agree it is possible to control that via udev or something else. But
most regular
users won't be able to do that, ending up with an unused key, though.
The hardcore user that would prefer a very different key behavior
could keep using
udev to do that.

So IMHO I think that setting this up on the kernel would be a good
approach in this case.

Thanks.

Vinícius
Dmitry Torokhov Nov. 5, 2021, 9:55 p.m. UTC | #4
On Fri, Nov 05, 2021 at 12:16:45PM -0300, Vinícius Reis wrote:
> Em qui., 28 de out. de 2021 às 13:07, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> escreveu:
> >
> > Hi Vinícius,
> >
> > On Fri, Oct 8, 2021 at 3:24 PM Vinícius Angiolucci Reis
> > <itsme.vreis@gmail.com> wrote:
> > >
> > > On Windows systems, ASUS laptops uses the "turn display off" key
> > > (usually fn+f6) to turn both display and keyboard backlit off. On Linux
> > > systems, this key has no effect at all since most desktop enviroments
> > > don't deal with KEY_DISPLAY_OFF. By mapping it to KEY_SCREENLOCK
> > > instead, would enable desktop environments to handle this key as a
> > > screen lock intent from the user, out of the box.
> >
> > But is it the intent of the user? The fact that current desktop
> > environments do not handle this key is not a reason to change kernel
> > behavior.
> >
> > If screen lock is simply your preference then you can change the
> > mapping via udev on your system without the need to patch the kernel.
> >
> > Thanks.
> >
> > --
> > Dmitry
> 
> (Sorry, I'm sending this response again because it seems the first
> attempt didn't make it to the mailing lists for some reason.)
> 
> Hi Dmitry,
> 
> I've picked up this particular key event because it would trigger a close
> behavior to the one seen on Windows. It is far from being my preference,
> which would be an exact mimic of the Windows behavior (and can be
> achieved by xset dpms force on/off from user space).
> 
> The idea of this patch is to improve the user experience, by giving that key a
> behavior as close as possible to what users might experience on Windows.
> Because most Linux desktop environments also turn the display off after
> locking the screen, this would be a good approximation to what happens on
> Windows. I think it is more about giving (consistent) behavior to it
> than changing it.
> 
> I agree it is possible to control that via udev or something else. But
> most regular
> users won't be able to do that, ending up with an unused key, though.
> The hardcore user that would prefer a very different key behavior
> could keep using
> udev to do that.
> 
> So IMHO I think that setting this up on the kernel would be a good
> approach in this case.

I am sorry, I disagree. I understand that patching the kernel might be
easier than implementing new shortcut/behavior in various desktop
environments, but that does not make it the right approach.

Thanks.
Vinícius Reis Nov. 6, 2021, 11:48 p.m. UTC | #5
Em sex., 5 de nov. de 2021 às 18:55, Dmitry Torokhov
<dmitry.torokhov@gmail.com> escreveu:
>
> On Fri, Nov 05, 2021 at 12:16:45PM -0300, Vinícius Reis wrote:
> > Em qui., 28 de out. de 2021 às 13:07, Dmitry Torokhov
> > <dmitry.torokhov@gmail.com> escreveu:
> > >
> > > Hi Vinícius,
> > >
> > > On Fri, Oct 8, 2021 at 3:24 PM Vinícius Angiolucci Reis
> > > <itsme.vreis@gmail.com> wrote:
> > > >
> > > > On Windows systems, ASUS laptops uses the "turn display off" key
> > > > (usually fn+f6) to turn both display and keyboard backlit off. On Linux
> > > > systems, this key has no effect at all since most desktop enviroments
> > > > don't deal with KEY_DISPLAY_OFF. By mapping it to KEY_SCREENLOCK
> > > > instead, would enable desktop environments to handle this key as a
> > > > screen lock intent from the user, out of the box.
> > >
> > > But is it the intent of the user? The fact that current desktop
> > > environments do not handle this key is not a reason to change kernel
> > > behavior.
> > >
> > > If screen lock is simply your preference then you can change the
> > > mapping via udev on your system without the need to patch the kernel.
> > >
> > > Thanks.
> > >
> > > --
> > > Dmitry
> >
> > (Sorry, I'm sending this response again because it seems the first
> > attempt didn't make it to the mailing lists for some reason.)
> >
> > Hi Dmitry,
> >
> > I've picked up this particular key event because it would trigger a close
> > behavior to the one seen on Windows. It is far from being my preference,
> > which would be an exact mimic of the Windows behavior (and can be
> > achieved by xset dpms force on/off from user space).
> >
> > The idea of this patch is to improve the user experience, by giving that key a
> > behavior as close as possible to what users might experience on Windows.
> > Because most Linux desktop environments also turn the display off after
> > locking the screen, this would be a good approximation to what happens on
> > Windows. I think it is more about giving (consistent) behavior to it
> > than changing it.
> >
> > I agree it is possible to control that via udev or something else. But
> > most regular
> > users won't be able to do that, ending up with an unused key, though.
> > The hardcore user that would prefer a very different key behavior
> > could keep using
> > udev to do that.
> >
> > So IMHO I think that setting this up on the kernel would be a good
> > approach in this case.
>
> I am sorry, I disagree. I understand that patching the kernel might be
> easier than implementing new shortcut/behavior in various desktop
> environments, but that does not make it the right approach.
>
> Thanks.
>
> --
> Dmitry

Hi Dmitry,

Thanks for explaining this a little bit more, I've got the point: The current
key code triggered by the kernel is correct, the real issue is the lack of
support for that particular code by current desktop environments.

I'm new to contributing to the Linux kernel; the proper way to rollback
this would be by me just sending a revert patch to the respective
maintainer?

Thank you,
Vinícius.
Dmitry Torokhov Nov. 7, 2021, 2:08 a.m. UTC | #6
Hi Vinícius,

On Sat, Nov 06, 2021 at 08:48:29PM -0300, Vinícius Reis wrote:
> Hi Dmitry,
> 
> Thanks for explaining this a little bit more, I've got the point: The current
> key code triggered by the kernel is correct, the real issue is the lack of
> support for that particular code by current desktop environments.
> 
> I'm new to contributing to the Linux kernel; the proper way to rollback
> this would be by me just sending a revert patch to the respective
> maintainer?

Has the patch been accepted? I'd wait for Jiri or Benjamin to chime in
as to what they want to do.

Thanks.
Vinícius Reis Nov. 7, 2021, 2:35 a.m. UTC | #7
Em sáb., 6 de nov. de 2021 às 23:08, Dmitry Torokhov
<dmitry.torokhov@gmail.com> escreveu:
>
> Hi Vinícius,
>
> On Sat, Nov 06, 2021 at 08:48:29PM -0300, Vinícius Reis wrote:
> > Hi Dmitry,
> >
> > Thanks for explaining this a little bit more, I've got the point: The current
> > key code triggered by the kernel is correct, the real issue is the lack of
> > support for that particular code by current desktop environments.
> >
> > I'm new to contributing to the Linux kernel; the proper way to rollback
> > this would be by me just sending a revert patch to the respective
> > maintainer?
>
> Has the patch been accepted? I'd wait for Jiri or Benjamin to chime in
> as to what they want to do.
>
> Thanks.
>
> --
> Dmitry

Hi Dmitry,

Yes, it was applied two weeks ago. Okay, I will do that.

Thanks again,
Vinícius.
Jiri Kosina Nov. 9, 2021, 10:21 a.m. UTC | #8
On Sat, 6 Nov 2021, Vinícius Reis wrote:

> > > Thanks for explaining this a little bit more, I've got the point: The current
> > > key code triggered by the kernel is correct, the real issue is the lack of
> > > support for that particular code by current desktop environments.
> > >
> > > I'm new to contributing to the Linux kernel; the proper way to rollback
> > > this would be by me just sending a revert patch to the respective
> > > maintainer?
> >
> > Has the patch been accepted? I'd wait for Jiri or Benjamin to chime in
> > as to what they want to do.
> >
> > Thanks.
> >
> > --
> > Dmitry
> 
> Hi Dmitry,
> 
> Yes, it was applied two weeks ago. Okay, I will do that.

Yes, please send me a revert with a full explanation in the changelog.

Thanks,
diff mbox series

Patch

diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
index f3ecddc519ee..5d57214d8dee 100644
--- a/drivers/hid/hid-asus.c
+++ b/drivers/hid/hid-asus.c
@@ -854,7 +854,7 @@  static int asus_input_mapping(struct hid_device *hdev,
 		switch (usage->hid & HID_USAGE) {
 		case 0x10: asus_map_key_clear(KEY_BRIGHTNESSDOWN);	break;
 		case 0x20: asus_map_key_clear(KEY_BRIGHTNESSUP);		break;
-		case 0x35: asus_map_key_clear(KEY_DISPLAY_OFF);		break;
+		case 0x35: asus_map_key_clear(KEY_SCREENLOCK);		break;
 		case 0x6c: asus_map_key_clear(KEY_SLEEP);		break;
 		case 0x7c: asus_map_key_clear(KEY_MICMUTE);		break;
 		case 0x82: asus_map_key_clear(KEY_CAMERA);		break;