lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 27 Dec 2021 17:18:44 +0100
From:   Paul Menzel <pmenzel@...gen.mpg.de>
To:     Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc:     linux-input@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
        Felix Singer <felixsinger@...teo.net>,
        Matt DeVillier <matt.devillier@...il.com>
Subject: Upstream support of Google Chromebook keyboards (udev,
 xkeyboard-config)?

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ