Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Mar 2026 23:35:36 +0100
From:      Oliver Pinter <oliver.pntr@gmail.com>
To:        Vladimir Kondratyev <wulf@freebsd.org>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>,  "dev-commits-src-all@freebsd.org" <dev-commits-src-all@freebsd.org>,  "dev-commits-src-main@freebsd.org" <dev-commits-src-main@freebsd.org>, Toby Slight <tslight@pm.me>
Subject:   Re: git: bb8230f838c8 - main - hkbd(4): add some extra handy fn key bindings
Message-ID:  <CAPjTQNECzNM2h7dBcsY-DYepD_FG-ddQ6DF1hV%2BWLW5egNvD%2Bw@mail.gmail.com>
In-Reply-To: <69c92678.206ec.39f0d32e@gitrepo.freebsd.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
Hi!

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

Thanks,
Oliver

On Sunday, March 29, 2026, Vladimir Kondratyev <wulf@freebsd.org> wrote:

> The branch main has been updated by wulf:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=
> bb8230f838c8d5f8d362a0dad4809908b44ae379
>
> commit bb8230f838c8d5f8d362a0dad4809908b44ae379
> Author:     Toby Slight <tslight@pm.me>
> AuthorDate: 2026-03-29 13:16:57 +0000
> Commit:     Vladimir Kondratyev <wulf@FreeBSD.org>
> 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+<key> combinations duplicating existing keys.
>
>     Apply the change to ukbd(4) as well.
>
>     Signed-off-by: Toby Slight <tslight@pm.me>
>
>     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 */
>
>

[-- Attachment #2 --]
Hi!<div><br></div><div>Would you like to add these to man page as well?</div><div><br></div><div>Thanks,</div><div>Oliver <br><br>On Sunday, March 29, 2026, Vladimir Kondratyev &lt;<a href="mailto:wulf@freebsd.org">wulf@freebsd.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The branch main has been updated by wulf:<br>
<br>
URL: <a href="https://cgit.FreeBSD.org/src/commit/?id=bb8230f838c8d5f8d362a0dad4809908b44ae379" target="_blank">https://cgit.FreeBSD.org/src/<wbr>commit/?id=<wbr>bb8230f838c8d5f8d362a0dad48099<wbr>08b44ae379</a><br>;
<br>
commit bb8230f838c8d5f8d362a0dad48099<wbr>08b44ae379<br>
Author:     Toby Slight &lt;<a href="mailto:tslight@pm.me">tslight@pm.me</a>&gt;<br>
AuthorDate: 2026-03-29 13:16:57 +0000<br>
Commit:     Vladimir Kondratyev &lt;wulf@FreeBSD.org&gt;<br>
CommitDate: 2026-03-29 13:16:57 +0000<br>
<br>
    hkbd(4): add some extra handy fn key bindings<br>
<br>
    - Fn+S for ScrollLock as it&#39;s very useful to have ScrollLock on<br>
      FreeBSD&#39;s TTY.<br>
    - Fn+P for PrtSc/SysRq, as it&#39;s another very handy but sadly missing<br>
      key on Macbooks.<br>
    - Some other Fn+&lt;key&gt; combinations duplicating existing keys.<br>
<br>
    Apply the change to ukbd(4) as well.<br>
<br>
    Signed-off-by: Toby Slight &lt;<a href="mailto:tslight@pm.me">tslight@pm.me</a>&gt;<br>
<br>
    Reviewed by:    wulf<br>
    MFC after:      1 month<br>
    Pull Request:   <a href="https://github.com/freebsd/freebsd-src/pull/1998" target="_blank">https://github.com/freebsd/<wbr>freebsd-src/pull/1998</a><br>;
---<br>
 sys/dev/hid/hkbd.c       | 10 ++++++++++<br>
 sys/dev/usb/input/ukbd.c | 10 ++++++++++<br>
 2 files changed, 20 insertions(+)<br>
<br>
diff --git a/sys/dev/hid/hkbd.c b/sys/dev/hid/hkbd.c<br>
index 9ab02e940089..c98f4be69169 100644<br>
--- a/sys/dev/hid/hkbd.c<br>
+++ b/sys/dev/hid/hkbd.c<br>
@@ -623,6 +623,16 @@ static uint32_t<br>
 hkbd_apple_fn(uint32_t keycode)<br>
 {<br>
        switch (keycode) {<br>
+       case 0x0b: return 0x50; /* H -&gt; LEFT ARROW */<br>
+       case 0x0d: return 0x51; /* J -&gt; DOWN ARROW */<br>
+       case 0x0e: return 0x52; /* K -&gt; UP ARROW */<br>
+       case 0x0f: return 0x4f; /* L -&gt; RIGHT ARROW */<br>
+       case 0x36: return 0x4a; /* COMMA -&gt; HOME */<br>
+       case 0x37: return 0x4d; /* DOT -&gt; END */<br>
+       case 0x18: return 0x4b; /* U -&gt; PGUP */<br>
+       case 0x07: return 0x4e; /* D -&gt; PGDN */<br>
+       case 0x16: return 0x47; /* S -&gt; SCROLLLOCK */<br>
+       case 0x13: return 0x46; /* P -&gt; SYSRQ/PRTSC */<br>
        case 0x28: return 0x49; /* RETURN -&gt; INSERT */<br>
        case 0x2a: return 0x4c; /* BACKSPACE -&gt; DEL */<br>
        case 0x50: return 0x4a; /* LEFT ARROW -&gt; HOME */<br>
diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c<br>
index 3ebdf1e9747d..37deb5c56fbd 100644<br>
--- a/sys/dev/usb/input/ukbd.c<br>
+++ b/sys/dev/usb/input/ukbd.c<br>
@@ -677,6 +677,16 @@ static uint32_t<br>
 ukbd_apple_fn(uint32_t keycode)<br>
 {<br>
        switch (keycode) {<br>
+       case 0x0b: return 0x50; /* H -&gt; LEFT ARROW */<br>
+       case 0x0d: return 0x51; /* J -&gt; DOWN ARROW */<br>
+       case 0x0e: return 0x52; /* K -&gt; UP ARROW */<br>
+       case 0x0f: return 0x4f; /* L -&gt; RIGHT ARROW */<br>
+       case 0x36: return 0x4a; /* COMMA -&gt; HOME */<br>
+       case 0x37: return 0x4d; /* DOT -&gt; END */<br>
+       case 0x18: return 0x4b; /* U -&gt; PGUP */<br>
+       case 0x07: return 0x4e; /* D -&gt; PGDN */<br>
+       case 0x16: return 0x47; /* S -&gt; SCROLLLOCK */<br>
+       case 0x13: return 0x46; /* P -&gt; SYSRQ/PRTSC */<br>
        case 0x28: return 0x49; /* RETURN -&gt; INSERT */<br>
        case 0x2a: return 0x4c; /* BACKSPACE -&gt; DEL */<br>
        case 0x50: return 0x4a; /* LEFT ARROW -&gt; HOME */<br>
<br>
</blockquote></div>
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPjTQNECzNM2h7dBcsY-DYepD_FG-ddQ6DF1hV%2BWLW5egNvD%2Bw>