From nobody Mon Mar 30 22:35:36 2026 X-Original-To: dev-commits-src-all@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 4fl5gK2K5zz6Xdlg for ; Mon, 30 Mar 2026 22:35:41 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yx1-xb134.google.com (mail-yx1-xb134.google.com [IPv6:2607:f8b0:4864:20::b134]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fl5gJ4dvzz3Fym for ; Mon, 30 Mar 2026 22:35:40 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=WzCUwUSp; dmarc=pass (policy=none) header.from=gmail.com; arc=pass ("google.com:s=arc-20240605:i=1"); spf=pass (mx1.freebsd.org: domain of oliver.pntr@gmail.com designates 2607:f8b0:4864:20::b134 as permitted sender) smtp.mailfrom=oliver.pntr@gmail.com Received: by mail-yx1-xb134.google.com with SMTP id 956f58d0204a3-64d5a7926cfso7156277d50.2 for ; Mon, 30 Mar 2026 15:35:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774910138; cv=none; d=google.com; s=arc-20240605; b=Qbd0uaJzccqZWpTbfj/8NQ6hkbvMp+ptGZxxKG730JvWew39c9jk24BkfCf/kA3A6U FfZyoSMQNHAcBS/ajqxjzhL/guThHwAyd1pgNe126HdMtO7qdubAPLvBY5dtHhSyxtoH KiJIKny1f5Ylh1EjR1hFi7HKvBVRPL48JyjSYYUR54Zk3GSxqVupWKoqrk5/Sl1QpNjc BbyxOOQwhHxbv8jC4caxFFvLDgcnNYJziVpDfzKbR+67lFCkdYxe7sxqF+sjd8HY6Q0u mtRqOUYxLaspNFrh6WcsZC2daXjfbxjYl9K9S5q7fOf5KHei/amDccLvZ6bYNsTkXr3o Gemw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:dkim-signature; bh=6pZN1rbb06+pRlxgOUdhheT7hnLkT1phAcUE9/uA79A=; fh=vH7eNazOREpoxcCu/cRdZRp/IFvf42QJQQ1F2G2dkb4=; b=Ra6WMKqxQBaoR4HBrSgyiLQC8/Z+3XjOMtD5WMR4LzqEK3la9Lj/weL76FowgDn0H/ 9nNOFOee6BRLZULwtHaOj+Q9xHHn9SCFKVk/2WpOO6NqEM/j8GRBsq3T3vsFy+oubluR FcxzQ7xff8BUHCCXeCUvwbAT16fOni135aCxtRhmW/mzcRquGYHzMEAECd4nl7We24e8 vo8bnRrvolYf1I2koJ3ItxcjGlI278cskQySH8YXcoodZBPenvUp9jikWLd8rl66g2Y8 DRKg1rU6+DkG0nfgmv5Fv6tlQugebkRms5OjcTcl5k1/YXGbqITQ0AnyxB5tq0KNtmO4 S4WA==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774910138; x=1775514938; darn=freebsd.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=6pZN1rbb06+pRlxgOUdhheT7hnLkT1phAcUE9/uA79A=; b=WzCUwUSpvenH2GG0YTOELGlAIqFXDl9c1RWIFB9s6lsUXaCNgcsR9XnMl+NLLpycMm 0M6a4ejcF2/AgFO1aeXCGnz6FF9BMpRxmnpjBn0MVVpmEi7aE0j3zBAmY2W2Dm7HA21V Ds5b57boxbMKeuWZYlgtVfkUBd05gj5e8Xwbq0HbhAMknjsqgt/WPG0fA5VBUD9Tt31q KNGxczyUA/HXJRAEfnuKi3uybgNwOSlhwpWaAJUyP/DKKh4oAPGNUWNNuhsEOchQyXEr utBSjn9UGuDJo7JHtXzKnNpSPW7mTHHw2V11D/2zb3ByVxgLYjk7lhKR/vKNTjc04FM4 DoZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774910138; x=1775514938; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=6pZN1rbb06+pRlxgOUdhheT7hnLkT1phAcUE9/uA79A=; b=XNGmvuEksCNhea3Eqkkm/reZkL/hiTbT3WWegxbxjTc6f2AFqaTdgenb1PlPaUS40V wf0Fo0+gxAuOaYvM8cPrFO/KTs+3mMd2rQOMPDQBoQorNYpVHFyI0HKoPQsHfVQ3tci5 gci3mcIOuHBp0Nz6Mgz2yL4QdiDXaVsXnNsA4RYjdBVGuCxZB68XkqT3ZKE7p7Vjjh8L 8/p7mh3RqVCMPYTvBoM8fWys1qlOQddcvW+sSAPv0YljoH51y81eAqCVoKCPHMnbnjLR a0+2j+Tg414nqcNAHoMiNWdIvR8EhMSH8m5Oqn598kg2fcJjNoaagWNCLZufULKhPs2w mkZQ== X-Forwarded-Encrypted: i=1; AJvYcCVT4AS/mVf8ZWxez9Jpmpi6+vRv15/WwB04AlnnKGULuseIMCnf1iRDd8GWElceen6E6tt+a3wxR/cO2dHcaqAHc/wt@freebsd.org X-Gm-Message-State: AOJu0Ywt66ZpV7ZOPYJmy2jSZYYxks83b8nNTjH7aIim2qPzs9/+yFYv jUpR6XMYkidmCgMqGP1sSgSayRrSiELb4LmhOEEz683JVusYdExab19ERZJLFK5E0s4pZxdetgc mbuTKtWmfo2HfdjnMlnJhIuULlapCM0g= X-Gm-Gg: ATEYQzw59WE5hd1Fl0DPiWXGWRtHqDtlGV6PvU3y99ZL7VuZGiMtjVGg8J0Q5+kpd5M 3QdMC/h3vN3l6Q94meZg6VIVMpepM6Uhu8DqlDtFza0fBopqLIjYGJMkxEYqxd6VRS4eFY8D8S1 Sd8gpXlOZptkFiqlZd0nhDQTR17t+wc8KAh+a3ka2AnnrrqCJi1cK/GSPgLsPdiRtDoR2We9zn7 oD8FKz2VXFxs1VVTr/VSTekBqa4p5OH3STQn76y+0KtfSf/0H6ZVEEY5cCHFK+tbBW7G8rdApoa DmHSfI4JD2jNm9/wy4Pe9ZCgV1Dy1JuqVQxCvxooQQ== X-Received: by 2002:a05:690e:1484:b0:650:1d21:d681 with SMTP id 956f58d0204a3-6501d21da2amr4314449d50.39.1774910138213; Mon, 30 Mar 2026 15:35:38 -0700 (PDT) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Received: by 2002:a05:7011:4893:b0:50c:2fa8:3e4e with HTTP; Mon, 30 Mar 2026 15:35:36 -0700 (PDT) In-Reply-To: <69c92678.206ec.39f0d32e@gitrepo.freebsd.org> References: <69c92678.206ec.39f0d32e@gitrepo.freebsd.org> From: Oliver Pinter Date: Mon, 30 Mar 2026 23:35:36 +0100 X-Gm-Features: AQROBzAKEmhlJAQvs5l96QQ91LmzAdr7lkWYXMyX-yNFIfbbdIQoMPibUj2q3No Message-ID: Subject: Re: git: bb8230f838c8 - main - hkbd(4): add some extra handy fn key bindings To: Vladimir Kondratyev Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Toby Slight Content-Type: multipart/alternative; boundary="0000000000004be9e7064e4578e5" X-Spamd-Result: default: False [-4.65 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.65)[-0.651]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20251104]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4864::/56:c]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; RCVD_TLS_LAST(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::b134:from]; TAGGED_FROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-all@freebsd.org]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org]; MID_RHS_MATCH_FROMTLD(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-Rspamd-Queue-Id: 4fl5gJ4dvzz3Fym X-Spamd-Bar: ---- --0000000000004be9e7064e4578e5 Content-Type: text/plain; charset="UTF-8" Hi! Would you like to add these to man page as well? Thanks, Oliver On Sunday, March 29, 2026, Vladimir Kondratyev wrote: > The branch main has been updated by wulf: > > URL: https://cgit.FreeBSD.org/src/commit/?id= > bb8230f838c8d5f8d362a0dad4809908b44ae379 > > commit bb8230f838c8d5f8d362a0dad4809908b44ae379 > Author: Toby Slight > AuthorDate: 2026-03-29 13:16:57 +0000 > Commit: Vladimir Kondratyev > CommitDate: 2026-03-29 13:16:57 +0000 > > hkbd(4): add some extra handy fn key bindings > > - Fn+S for ScrollLock as it's very useful to have ScrollLock on > FreeBSD's TTY. > - Fn+P for PrtSc/SysRq, as it's another very handy but sadly missing > key on Macbooks. > - Some other Fn+ combinations duplicating existing keys. > > Apply the change to ukbd(4) as well. > > Signed-off-by: Toby Slight > > Reviewed by: wulf > MFC after: 1 month > Pull Request: https://github.com/freebsd/freebsd-src/pull/1998 > --- > sys/dev/hid/hkbd.c | 10 ++++++++++ > sys/dev/usb/input/ukbd.c | 10 ++++++++++ > 2 files changed, 20 insertions(+) > > diff --git a/sys/dev/hid/hkbd.c b/sys/dev/hid/hkbd.c > index 9ab02e940089..c98f4be69169 100644 > --- a/sys/dev/hid/hkbd.c > +++ b/sys/dev/hid/hkbd.c > @@ -623,6 +623,16 @@ static uint32_t > hkbd_apple_fn(uint32_t keycode) > { > switch (keycode) { > + case 0x0b: return 0x50; /* H -> LEFT ARROW */ > + case 0x0d: return 0x51; /* J -> DOWN ARROW */ > + case 0x0e: return 0x52; /* K -> UP ARROW */ > + case 0x0f: return 0x4f; /* L -> RIGHT ARROW */ > + case 0x36: return 0x4a; /* COMMA -> HOME */ > + case 0x37: return 0x4d; /* DOT -> END */ > + case 0x18: return 0x4b; /* U -> PGUP */ > + case 0x07: return 0x4e; /* D -> PGDN */ > + case 0x16: return 0x47; /* S -> SCROLLLOCK */ > + case 0x13: return 0x46; /* P -> SYSRQ/PRTSC */ > case 0x28: return 0x49; /* RETURN -> INSERT */ > case 0x2a: return 0x4c; /* BACKSPACE -> DEL */ > case 0x50: return 0x4a; /* LEFT ARROW -> HOME */ > diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c > index 3ebdf1e9747d..37deb5c56fbd 100644 > --- a/sys/dev/usb/input/ukbd.c > +++ b/sys/dev/usb/input/ukbd.c > @@ -677,6 +677,16 @@ static uint32_t > ukbd_apple_fn(uint32_t keycode) > { > switch (keycode) { > + case 0x0b: return 0x50; /* H -> LEFT ARROW */ > + case 0x0d: return 0x51; /* J -> DOWN ARROW */ > + case 0x0e: return 0x52; /* K -> UP ARROW */ > + case 0x0f: return 0x4f; /* L -> RIGHT ARROW */ > + case 0x36: return 0x4a; /* COMMA -> HOME */ > + case 0x37: return 0x4d; /* DOT -> END */ > + case 0x18: return 0x4b; /* U -> PGUP */ > + case 0x07: return 0x4e; /* D -> PGDN */ > + case 0x16: return 0x47; /* S -> SCROLLLOCK */ > + case 0x13: return 0x46; /* P -> SYSRQ/PRTSC */ > case 0x28: return 0x49; /* RETURN -> INSERT */ > case 0x2a: return 0x4c; /* BACKSPACE -> DEL */ > case 0x50: return 0x4a; /* LEFT ARROW -> HOME */ > > --0000000000004be9e7064e4578e5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi!

Would you like to add these to man page as well?

Thanks,
Oliver=C2=A0

On Sunday, Marc= h 29, 2026, Vladimir Kondratyev <wul= f@freebsd.org> wrote:
The branch m= ain has been updated by wulf:

URL: https://cgit.FreeBSD.org/src/commit/?id=3Dbb8230f838c8d5f8d362a0dad4809908b44ae379

commit bb8230f838c8d5f8d362a0dad4809908b44ae379
Author:=C2=A0 =C2=A0 =C2=A0Toby Slight <tslight@pm.me>
AuthorDate: 2026-03-29 13:16:57 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Vladimir Kondratyev <wulf@FreeBSD.org>
CommitDate: 2026-03-29 13:16:57 +0000

=C2=A0 =C2=A0 hkbd(4): add some extra handy fn key bindings

=C2=A0 =C2=A0 - Fn+S for ScrollLock as it's very useful to have ScrollL= ock on
=C2=A0 =C2=A0 =C2=A0 FreeBSD's TTY.
=C2=A0 =C2=A0 - Fn+P for PrtSc/SysRq, as it's another very handy but sa= dly missing
=C2=A0 =C2=A0 =C2=A0 key on Macbooks.
=C2=A0 =C2=A0 - Some other Fn+<key> combinations duplicating existing= keys.

=C2=A0 =C2=A0 Apply the change to ukbd(4) as well.

=C2=A0 =C2=A0 Signed-off-by: Toby Slight <tslight@pm.me>

=C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 wulf
=C2=A0 =C2=A0 MFC after:=C2=A0 =C2=A0 =C2=A0 1 month
=C2=A0 =C2=A0 Pull Request:=C2=A0 =C2=A0https://github.com/freebsd/freebsd-src/pull/1998
---
=C2=A0sys/dev/hid/hkbd.c=C2=A0 =C2=A0 =C2=A0 =C2=A0| 10 ++++++++++
=C2=A0sys/dev/usb/input/ukbd.c | 10 ++++++++++
=C2=A02 files changed, 20 insertions(+)

diff --git a/sys/dev/hid/hkbd.c b/sys/dev/hid/hkbd.c
index 9ab02e940089..c98f4be69169 100644
--- a/sys/dev/hid/hkbd.c
+++ b/sys/dev/hid/hkbd.c
@@ -623,6 +623,16 @@ static uint32_t
=C2=A0hkbd_apple_fn(uint32_t keycode)
=C2=A0{
=C2=A0 =C2=A0 =C2=A0 =C2=A0 switch (keycode) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x0b: return 0x50; /* H -> LEFT ARROW *= /
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x0d: return 0x51; /* J -> DOWN ARROW *= /
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x0e: return 0x52; /* K -> UP ARROW */<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x0f: return 0x4f; /* L -> RIGHT ARROW = */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x36: return 0x4a; /* COMMA -> HOME */<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x37: return 0x4d; /* DOT -> END */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x18: return 0x4b; /* U -> PGUP */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x07: return 0x4e; /* D -> PGDN */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x16: return 0x47; /* S -> SCROLLLOCK *= /
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x13: return 0x46; /* P -> SYSRQ/PRTSC = */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 case 0x28: return 0x49; /* RETURN -> INSERT = */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 case 0x2a: return 0x4c; /* BACKSPACE -> DEL = */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 case 0x50: return 0x4a; /* LEFT ARROW -> HOM= E */
diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c
index 3ebdf1e9747d..37deb5c56fbd 100644
--- a/sys/dev/usb/input/ukbd.c
+++ b/sys/dev/usb/input/ukbd.c
@@ -677,6 +677,16 @@ static uint32_t
=C2=A0ukbd_apple_fn(uint32_t keycode)
=C2=A0{
=C2=A0 =C2=A0 =C2=A0 =C2=A0 switch (keycode) {
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x0b: return 0x50; /* H -> LEFT ARROW *= /
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x0d: return 0x51; /* J -> DOWN ARROW *= /
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x0e: return 0x52; /* K -> UP ARROW */<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x0f: return 0x4f; /* L -> RIGHT ARROW = */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x36: return 0x4a; /* COMMA -> HOME */<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x37: return 0x4d; /* DOT -> END */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x18: return 0x4b; /* U -> PGUP */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x07: return 0x4e; /* D -> PGDN */
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x16: return 0x47; /* S -> SCROLLLOCK *= /
+=C2=A0 =C2=A0 =C2=A0 =C2=A0case 0x13: return 0x46; /* P -> SYSRQ/PRTSC = */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 case 0x28: return 0x49; /* RETURN -> INSERT = */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 case 0x2a: return 0x4c; /* BACKSPACE -> DEL = */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 case 0x50: return 0x4a; /* LEFT ARROW -> HOM= E */

--0000000000004be9e7064e4578e5--