From nobody Sun Sep 13 09:38:33 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hjNWg0Gcqz6s7Z5 for ; Sun, 13 Sep 2026 09:38:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hjNWf6lkLz4QKh for ; Sun, 13 Sep 2026 09:38:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789292319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ArtIW4hxT/CIWG6+L5/tLKvek1/Bho80s0GR2QkJl6Y=; b=wntOrIdZUsk0vlVO8TFn3kJXKjWgUy/GXiTeIsYftbou98SgMJMMCAPUYqnGJAywb63TRq R3JTNMNQJJkJ96u5neVAZdhU3BZ8P8ZYfw6xfT9rRB6lyLDrHQLPTLw+S75BUPNIX6Kv6O NjnMMcxOQeUZY4wDbpkyLToJWmumx/L4RkB+XIxpsc37SPfztVMff4vibmI7r43enbWV+5 AEVUUDNbj0h8V1IynoQormiBNz6bIIl3hNSFYPEETu9PgNPYqNgicL73PiBpLSG4LQMJb+ B0pMA7NNruTHDvi00O5S3hpR2pFe7j0F8k43aNMRBRCc0gh5qD8QOZnO64+YAw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789292318; b=Fcp5aQPGo6TOgfqiHE/Y4aMZAtoAzqaHDVioGxcQ/D/hN/UCeYX9UdriW2l2FIq/3YyLb4 FaOP4r2YYZPc0M/NLTIIwxa4f2Z8I91J7drMJwjULtcBKl3gYSlJXqIHSe4Z6Wxh8S6f4O BkncQsPjSLY5HazL28wRd2/6Mbnn1Do6P1l8Tih6jtYooxo80KPnpxj9oJaa59oSU7H30O 7Am3/XOnVO9Acj7XT5zfnRNCqfiwU6LlSzm8yeE6H/8kkiqf/ov2hN5kBlAaxtgd9eAtk2 DmMLN2WwCsXRDMyNx38R3ZbxWtQV8nU6sEBXTL/DHC4Ahd815Yh6SECLEp12QQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789292318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ArtIW4hxT/CIWG6+L5/tLKvek1/Bho80s0GR2QkJl6Y=; b=x22XXM42J9fWjO26XwpX3hbEbJ3QcvWP7JhhwhjCFhMEmvzrwWCUPrmvCfefEraRZzo4ac Mn4DBQP2b/Ew4LzzxriyPKEFw6HasoXtcBpAbjlywyYNFf+fS4Op3oTrbBV91O+vH1NAyo jfwJJKeGIsmpYPQcrT4yAp/YE+tfvOqNX7UofPoqhrAq4lgKI8vQeCBlJVb3+7jhv+XnLO xZZjmmr3z0eyZpdrqxjVYu4LZw2Rp3gczLKUop0KQwh3i5TSQ1iBGYrxvGRoeGTtCgQ7h8 IR8jl7bAhOg5QflE+rUnVjUN/nE+rJDllNcknG5yrJS03b0Fvf4PFXyg45AtqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hjNWf5pbjzdWB for ; Sun, 13 Sep 2026 09:38:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3120d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 13 Sep 2026 09:38:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Kang Kang From: Vladimir Kondratyev Subject: git: 11ad849f1c50 - main - evdev: map ChromeOS "Vivaldi" top-row action keys List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 11ad849f1c50b2469ff13ee74e2ab0f5bcfa6cc9 Auto-Submitted: auto-generated Date: Sun, 13 Sep 2026 09:38:33 +0000 Message-Id: <6aa66f19.3120d.1292eef5@gitrepo.freebsd.org> The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=11ad849f1c50b2469ff13ee74e2ab0f5bcfa6cc9 commit 11ad849f1c50b2469ff13ee74e2ab0f5bcfa6cc9 Author: Kang Kang AuthorDate: 2026-09-13 09:37:39 +0000 Commit: Vladimir Kondratyev CommitDate: 2026-09-13 09:37:39 +0000 evdev: map ChromeOS "Vivaldi" top-row action keys Chromebook keyboards driven by the ChromeOS EC emit the top-row action keys as scancode set 1 codes 0xE0 0x11 - 0xE0 0x1E (see the codeset 1 comments on the SCANCODE_* enum in chrome-ec include/keyboard_8042_sharedlib.h). The e0 half of the evdev_scancode2key() translation table leaves eleven of those at NONE, so on FreeBSD those keys emit no evdev event at all and userspace remappers such as keyd have nothing to bind to: e0 11 fullscreen KEY_ZOOM e0 12 overview KEY_SCALE e0 13 screenshot KEY_SYSRQ e0 14 brightness down KEY_BRIGHTNESSDOWN e0 15 brightness up KEY_BRIGHTNESSUP e0 16 privacy screen toggle KEY_PRIVACY_SCREEN_TOGGLE e0 17 kbd backlight down KEY_KBDILLUMDOWN e0 18 kbd backlight up KEY_KBDILLUMUP e0 1a play/pause KEY_PLAYPAUSE e0 1b mic mute KEY_MICMUTE e0 1e kbd backlight toggle KEY_KBDILLUMTOGGLE Fill those in. Only entries that were previously NONE are touched: the EC's remaining top-row codes already have mappings here (e0 10 prev track, e0 19 next track, e0 20 mute, e0 2e / e0 30 volume, e0 67 refresh, e0 69 forward, e0 6a back), as do e0 1c keypad enter and e0 1d right control, and none of them change. Signed-off-by: Kang Kang Tested on: Lenovo ThinkPad C14 Chromebook (Google primus, ChromeOS EC) Reviewed by: wulf MFC after: 2 weeks --- sys/dev/evdev/evdev_utils.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/sys/dev/evdev/evdev_utils.c b/sys/dev/evdev/evdev_utils.c index d7b7b790dc2c..bd3039c3b825 100644 --- a/sys/dev/evdev/evdev_utils.c +++ b/sys/dev/evdev/evdev_utils.c @@ -159,10 +159,15 @@ static uint16_t evdev_at_set1_scancodes[] = { NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, - KEY_PREVIOUSSONG, NONE, NONE, NONE, - NONE, NONE, NONE, NONE, - NONE, KEY_NEXTSONG, NONE, NONE, - KEY_KPENTER, KEY_RIGHTCTRL, NONE, NONE, + /* + * 0xE0 0x11 - 0xE0 0x1E: ChromeOS EC "Vivaldi" top-row action keys + * (see chrome-ec include/keyboard_8042_sharedlib.h). + */ + KEY_PREVIOUSSONG, KEY_ZOOM, KEY_SCALE, KEY_SYSRQ, + KEY_BRIGHTNESSDOWN, KEY_BRIGHTNESSUP, /* 0x14 - 0x15 */ + KEY_PRIVACY_SCREEN_TOGGLE, KEY_KBDILLUMDOWN, /* 0x16 - 0x17 */ + KEY_KBDILLUMUP, KEY_NEXTSONG, KEY_PLAYPAUSE, KEY_MICMUTE, + KEY_KPENTER, KEY_RIGHTCTRL, KEY_KBDILLUMTOGGLE, NONE, /* 0x20 - 0x3f. 0xE0 prefixed */ KEY_MUTE, KEY_CALC, KEY_PLAYPAUSE, NONE, KEY_STOPCD, NONE, NONE, NONE,