2022-03-17 04:29:12

by Maya Matuszczyk

[permalink] [raw]
Subject: Re: [PATCH v1 06/10] arm64: dts: mediatek: asurada: Add keyboard mapping for the top row

śr., 16 mar 2022 o 16:26 Nícolas F. R. A. Prado
<[email protected]> napisał(a):
>
> Chromebooks' embedded keyboards differ from standard layouts for the
> top row in that they have shortcuts in place of the standard function
> keys. Map these keys to achieve the functionality that is pictured on
> the printouts.
>
> Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
> Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
> ---
>
> .../boot/dts/mediatek/mt8192-asurada.dtsi | 29 +++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> index bd2730ab6266..1d1a4b9a989a 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> @@ -525,3 +525,32 @@ &uart0 {
>
> #include <arm/cros-ec-keyboard.dtsi>
> #include <arm/cros-ec-sbs.dtsi>
> +
> +&keyboard_controller {
> + function-row-physmap = <
> + MATRIX_KEY(0x00, 0x02, 0) /* T1 */
> + MATRIX_KEY(0x03, 0x02, 0) /* T2 */
> + MATRIX_KEY(0x02, 0x02, 0) /* T3 */
> + MATRIX_KEY(0x01, 0x02, 0) /* T4 */
> + MATRIX_KEY(0x03, 0x04, 0) /* T5 */
> + MATRIX_KEY(0x02, 0x04, 0) /* T6 */
> + MATRIX_KEY(0x01, 0x04, 0) /* T7 */
> + MATRIX_KEY(0x02, 0x09, 0) /* T8 */
> + MATRIX_KEY(0x01, 0x09, 0) /* T9 */
> + MATRIX_KEY(0x00, 0x04, 0) /* T10 */
> + >;
> + linux,keymap = <
> + MATRIX_KEY(0x00, 0x02, KEY_BACK)
> + MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
> + MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
> + MATRIX_KEY(0x01, 0x02, KEY_SCALE)
> + MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
> + MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
> + MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
> + MATRIX_KEY(0x02, 0x09, KEY_MUTE)
> + MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
> + MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
> +
> + CROS_STD_MAIN_KEYMAP
> + >;
> +};
> --
> 2.35.1
>
I'm honestly a bit confused about function of this.
Does this change the reported key codes via evdev interface?
Or is this just a hint to userspace? If yes, would libinput report
key presses as F-keys or the custom function keys?
Would users be able to use the usual key combination to switch
between TTYs?
Would programs requiring F-keys still work?

Best regards,
Maya Matuszczyk

>
> _______________________________________________
> Linux-mediatek mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-mediatek


2022-03-17 19:49:14

by Nícolas F. R. A. Prado

[permalink] [raw]
Subject: Re: [PATCH v1 06/10] arm64: dts: mediatek: asurada: Add keyboard mapping for the top row

Hi Maya,

On Wed, Mar 16, 2022 at 05:42:20PM +0100, Maya Matuszczyk wrote:
> śr., 16 mar 2022 o 16:26 Nícolas F. R. A. Prado
> <[email protected]> napisał(a):
> >
> > Chromebooks' embedded keyboards differ from standard layouts for the
> > top row in that they have shortcuts in place of the standard function
> > keys. Map these keys to achieve the functionality that is pictured on
> > the printouts.
> >
> > Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
> > Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
> > ---
> >
> > .../boot/dts/mediatek/mt8192-asurada.dtsi | 29 +++++++++++++++++++
> > 1 file changed, 29 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> > index bd2730ab6266..1d1a4b9a989a 100644
> > --- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> > +++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
> > @@ -525,3 +525,32 @@ &uart0 {
> >
> > #include <arm/cros-ec-keyboard.dtsi>
> > #include <arm/cros-ec-sbs.dtsi>
> > +
> > +&keyboard_controller {
> > + function-row-physmap = <
> > + MATRIX_KEY(0x00, 0x02, 0) /* T1 */
> > + MATRIX_KEY(0x03, 0x02, 0) /* T2 */
> > + MATRIX_KEY(0x02, 0x02, 0) /* T3 */
> > + MATRIX_KEY(0x01, 0x02, 0) /* T4 */
> > + MATRIX_KEY(0x03, 0x04, 0) /* T5 */
> > + MATRIX_KEY(0x02, 0x04, 0) /* T6 */
> > + MATRIX_KEY(0x01, 0x04, 0) /* T7 */
> > + MATRIX_KEY(0x02, 0x09, 0) /* T8 */
> > + MATRIX_KEY(0x01, 0x09, 0) /* T9 */
> > + MATRIX_KEY(0x00, 0x04, 0) /* T10 */
> > + >;
> > + linux,keymap = <
> > + MATRIX_KEY(0x00, 0x02, KEY_BACK)
> > + MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
> > + MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
> > + MATRIX_KEY(0x01, 0x02, KEY_SCALE)
> > + MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
> > + MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
> > + MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
> > + MATRIX_KEY(0x02, 0x09, KEY_MUTE)
> > + MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
> > + MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
> > +
> > + CROS_STD_MAIN_KEYMAP
> > + >;
> > +};
> > --
> > 2.35.1
> >
> I'm honestly a bit confused about function of this.
> Does this change the reported key codes via evdev interface?

Yes.

> Or is this just a hint to userspace? If yes, would libinput report
> key presses as F-keys or the custom function keys?
> Would users be able to use the usual key combination to switch
> between TTYs?
> Would programs requiring F-keys still work?

Not with this keyboard, since the embedded keyboard on Chromebooks doesn't have
F-keys.

This patch is just setting the keymap present on this platform, so that the
devicetree correctly describes the hardware.

Thanks,
Nícolas

>
> Best regards,
> Maya Matuszczyk
>
> >
> > _______________________________________________
> > Linux-mediatek mailing list
> > [email protected]
> > http://lists.infradead.org/mailman/listinfo/linux-mediatek