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

Nícolas F. R. A. Prado nfraprado at collabora.com
Thu Mar 17 07:40:12 PDT 2022


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
> <nfraprado at collabora.com> 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 <nfraprado at collabora.com>
> > Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
> > ---
> >
> >  .../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
> > Linux-mediatek at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-mediatek



More information about the Linux-mediatek mailing list