> Date: Sat, 8 Jul 2023 16:54:25 +0200
> From: Tobias Heider <tobias.hei...@stusta.de>
> 
> Now that we have request_sleep() we can add a new internal KS_Cmd_Sleep
> keycode, map it into the macbook keyboard, catch in wskbd and go to sleep.
> 
> ok?

Looks good to me, but I'd like to hear what miod@ has to say about this.


> diff 4cfcaa1dc85fba5c0672ef2787341ee6cc639979 
> 16365606ee1145b5ae95e7bb74a7d9a411d0004a
> commit - 4cfcaa1dc85fba5c0672ef2787341ee6cc639979
> commit + 16365606ee1145b5ae95e7bb74a7d9a411d0004a
> blob - c1faded214af03befd904994c6b8a9606f6b64c8
> blob + ca1037cf81d7ce85f448aa16f63086a361d3b86c
> --- sys/dev/hid/hidkbd.c
> +++ sys/dev/hid/hidkbd.c
> @@ -144,6 +144,7 @@ static const struct hidkbd_translation apple_fn_trans[
>       { 61, 129 },    /* F4 -> audio lower */
>       { 62, 128 },    /* F5 -> audio raise */
>  #else
> +     { 63, 130 },    /* F6 -> sleep */
>       { 67, 127 },    /* F10 -> audio mute */
>       { 68, 129 },    /* F11 -> audio lower */
>       { 69, 128 },    /* F12 -> audio raise */
> @@ -565,6 +566,7 @@ hidkbd_decode(struct hidkbd *kbd, struct hidkbd_data *
>                       case 127:
>                       case 128:
>                       case 129:
> +                     case 130:
>                       case 232:
>                       case 233:
>                               wskbd_input(kbd->sc_wskbddev,
> blob - da8a33e47dfe3e1c86990ae4e21914138d4fb785
> blob + 973ff475d06d3e5f58cdf937d89a50b0d755f135
> --- sys/dev/usb/ukbdmap.c
> +++ sys/dev/usb/ukbdmap.c
> @@ -176,6 +176,7 @@ static const keysym_t ukbd_keydesc_us[] = {
>      KC(127), KS_AudioMute,
>      KC(128), KS_AudioRaise,
>      KC(129), KS_AudioLower,
> +    KC(130), KS_Cmd_Sleep,
>      KC(224), KS_Cmd1,        KS_Control_L,
>      KC(225), KS_Shift_L,
>      KC(226), KS_Cmd2,        KS_Alt_L,
> blob - d651f119cb873b6712d678c866ee2ff0f067edaf
> blob + ce1a6e3c0f1e337b5f8fb5907f2f6c5de21767a8
> --- sys/dev/wscons/wskbd.c
> +++ sys/dev/wscons/wskbd.c
> @@ -1513,6 +1513,11 @@ internal_command(struct wskbd_softc *sc, u_int *type, 
>       if (*type != WSCONS_EVENT_KEY_DOWN)
>               return (0);
>  
> +#ifdef SUSPEND
> +     if (ksym == KS_Cmd_Sleep)
> +             return request_sleep(SLEEP_SUSPEND);
> +#endif
> +
>  #ifdef HAVE_SCROLLBACK_SUPPORT
>  #if NWSDISPLAY > 0
>       switch (ksym) {
> blob - 881510d1e7b40edbcc11a228b71d84c2aad63f0f
> blob + d3d34cca8297ef03dbc310ac97b44c1759ed7da0
> --- sys/dev/wscons/wsksymdef.h
> +++ sys/dev/wscons/wsksymdef.h
> @@ -667,6 +667,7 @@
>  #define KS_Cmd_ScrollBack    0xf42c
>  #define KS_Cmd_ScrollFwd     0xf42d
>  #define KS_Cmd_KbdReset              0xf42e
> +#define KS_Cmd_Sleep         0xf42f
>  
>  /*
>   * Group 5 (internal)
> 
> 

Reply via email to