Re: [PATCH] Support tablet mode switch for Dell laptops

From: Marco Martin
Date: Mon Jan 22 2018 - 06:59:27 EST


On Fri, Jan 19, 2018 at 6:29 PM, Dmitry Torokhov
<dmitry.torokhov@xxxxxxxxx> wrote:
>> We discussed a little more on the bug he filed with attached DSDT. I think that in
>> sparse keymap he can use KE_VSW for the entries and sparse keymap can handle.
>
> No it should be KE_SW I believe, as the "keycode" encodes the state.
> See example in intel-hid.c.
>
> So you probably want:
>
> ...
> { KE_SW, 0xCC, { .sw = { SW_TABLET_MODE, 1 } } }, /* Press */
> { KE_SW, 0xCD, { .sw = { SW_TABLET_MODE, 0 } } }, /* Release */
>
> Thanks.

If I add those lines to intel_vbtn_keymap and remove the two special
cases for 0xCC and 0xCD, it does work, but only if I explicitly call
input_sync(priv->input_dev) after sparse_keymap_report_event()
otherwise i don't get the event (cheching for instance with evtest)
until a sync gets called (i tried to put the sync only for 0xcd and in
that case i get both 0xcc and 0xcd when i go out of tablet mode)
--
Marco Martin