linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Upstream support of Google Chromebook keyboards (udev, xkeyboard-config)?
@ 2021-12-27 16:18 Paul Menzel
  2022-01-04  0:00 ` Dmitry Torokhov
  0 siblings, 1 reply; 4+ messages in thread
From: Paul Menzel @ 2021-12-27 16:18 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-input, LKML, Felix Singer, Matt DeVillier

Dear Linux folks,


Installing a non-Chromium OS distribution like Debian on a Google 
Chromebook, in this case a Dell Latitude 5400 Chrome (google/sarien), 
not all keys work as expected.

1.  Non-working super key and two function keys on Google Chromebook 
Dell Latitute 5400 Chrome (google/sarien) [1]
2.  Wrong caps lock key and function key mappings on Google Chromebook 
Dell Latitute 5400 Chrome (google/sarien) [2]

Peter replied, this should be fixed in udev, so it’s not directly 
related to the Linux kernel, as the Linux kernel exposes the 
scancodes(?) just fine. But what is the upstream process for this in 
general? Chromium OS carries `91-chromeos-keyboard.rules` for example.

systemd/udev currently has an entry for two Google Chromebook models in 
`hwdb.d/60-keyboard.hwdb` [4]:

     ######################### FIXED MODEL DEVICES 
#############################
     # This section lists devices which require special handling in 
their key
     # code to keysym mapping by setting the xkb model.
     # The model must be an xkb compatible model (defined with 
XKB_FIXED_MODEL).

     # Chromebooks
     evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnFalco:pvr*
     evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPeppy:pvr*
      XKB_FIXED_MODEL="chromebook"

The Dell Chromebooks, unfortunately, also use the embedded controller 
with Dell’s proprietary firmware (Wilco(?)), and not Chrome EC making 
special handling necessary. `91-chromeos-keyboard.rules` has

     # Wilco keyboard (5220W-C) for Chrome OS
     SUBSYSTEM=="input", \
       ATTRS{idVendor}=="413c", ATTRS{idProduct}=="2510", \
       ENV{CROS_KEYBOARD_TOP_ROW_LAYOUT}="3", \
       ENV{ID_INPUT_KEYBOARD}="1"


Kind regards,

Paul


[1]: 
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/298
[2]: 
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/299
[3]: 
https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/783bd8563450d9e9e575323a83321fdc67e334bf/sys-fs/udev/files/91-chromeos-keyboard.rules
[4]: 
https://github.com/systemd/systemd/commit/d7d31692bf7cde5dce7f4ed3cae429a5b302a9f0?branch=d7d31692bf7cde5dce7f4ed3cae429a5b302a9f0

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-01-04 20:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-27 16:18 Upstream support of Google Chromebook keyboards (udev, xkeyboard-config)? Paul Menzel
2022-01-04  0:00 ` Dmitry Torokhov
2022-01-04 15:31   ` Paul Menzel
2022-01-04 20:28     ` Dmitry Torokhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).