> 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) > >