> Am 11.12.2015 um 10:27 schrieb Ville Valkonen <weezeld...@gmail.com>:
> 
>> On 11 December 2015 at 10:36, Joerg Jung <m...@umaxx.net> wrote:
>> Ping. Anyone?
>> 
>> > On 07 Dec 2015, at 23:39, Joerg Jung <m...@umaxx.net> wrote:
>> >
>> > Hi,
>> >
>> > here comes a series of small diffs which add generic support for
>> > keyboard backlights.
>> >
>> > Please find below the first diff, which adds new ioctls to wskbd(4) to
>> > control keyboard backlights.
>> >
>> > In contrast to an earlier diff from jcs, I have chosen to use a struct
>> > in favor of a simple (unsigned) int as depending on the vendor
>> > (Thinkpad, Apple, ...) different min/max values for the brightness of
>> > the keyboard backlight are possible.
>> >
>> > Comments, OK?
>> >
>> > Thanks,
>> > Regards,
>> > Joerg
>> >
>> >
>> >
>> > Index: wsconsio.h
>> > ===================================================================
>> > RCS file: /cvs/src/sys/dev/wscons/wsconsio.h,v
>> > retrieving revision 1.72
>> > diff -u -p -r1.72 wsconsio.h
>> > --- wsconsio.h        30 Aug 2015 10:05:09 -0000      1.72
>> > +++ wsconsio.h        7 Dec 2015 21:03:45 -0000
>> > @@ -180,6 +180,13 @@ struct wskbd_map_data {
>> > #define WSKBDIO_GETENCODING   _IOR('W', 15, kbd_t)
>> > #define WSKBDIO_SETENCODING   _IOW('W', 16, kbd_t)
>> >
>> > +/* Get/set keyboard backlight.  Not applicable to all keyboard types. */
>> > +struct wskbd_backlight {
>> > +     unsigned int min, max, curval;
>> > +};
>> > +#define      WSKBDIO_GETBACKLIGHT    _IOR('W', 17, struct wskbd_backlight)
>> > +#define      WSKBDIO_SETBACKLIGHT    _IOW('W', 18, struct wskbd_backlight)
>> > +
>> > /* internal use only */
>> > #define WSKBDIO_SETMODE               _IOW('W', 19, int)
>> > #define WSKBDIO_GETMODE               _IOR('W', 20, int)
>> > Index: wskbd.c
>> > ===================================================================
>> > RCS file: /cvs/src/sys/dev/wscons/wskbd.c,v
>> > retrieving revision 1.82
>> > diff -u -p -r1.82 wskbd.c
>> > --- wskbd.c   10 Sep 2015 18:14:52 -0000      1.82
>> > +++ wskbd.c   7 Dec 2015 21:03:45 -0000
>> > @@ -230,6 +230,9 @@ int       wskbd_mux_close(struct wsevsrc *);
>> > int   wskbd_do_open(struct wskbd_softc *, struct wseventvar *);
>> > int   wskbd_do_ioctl(struct device *, u_long, caddr_t, int, struct proc *);
>> >
>> > +int  (*wskbd_get_backlight)(struct wskbd_backlight *);
>> > +int  (*wskbd_set_backlight)(struct wskbd_backlight *);
>> > +
>> > struct cfdriver wskbd_cd = {
>> >       NULL, "wskbd", DV_TTY
>> > };
>> > @@ -1010,6 +1013,7 @@ wskbd_displayioctl(struct device *dev, u
>> >       case WSKBDIO_SETDEFAULTKEYREPEAT:
>> >       case WSKBDIO_SETMAP:
>> >       case WSKBDIO_SETENCODING:
>> > +     case WSKBDIO_SETBACKLIGHT:
>> >               if ((flag & FWRITE) == 0)
>> >                       return (EACCES);
>> >       }
>> > @@ -1155,6 +1159,18 @@ getkeyrepeat:
>> >                       wsmux_set_layout(sc->sc_base.me_parent, enc);
>> > #endif
>> >               return (0);
>> > +
>> > +     case WSKBDIO_GETBACKLIGHT:
>> > +             if (wskbd_get_backlight != NULL)
>> > +                     return (*wskbd_get_backlight)((struct 
>> > wskbd_backlight *)data);
>> > +             error = ENOTTY;
>> > +             break;
>> > +
>> > +     case WSKBDIO_SETBACKLIGHT:
>> > +             if (wskbd_set_backlight != NULL)
>> > +                     return (*wskbd_set_backlight)((struct 
>> > wskbd_backlight *)data);
>> > +             error = ENOTTY;
>> > +             break;
>> >       }
>> >
>> >       /*
>> >
> 
> not sure if this diff has been applied in the snapshots but lately brightness 
> keys started to work on Lenovo X250. Could be completely unrelated, though.

Yes, this is unrelated.

Reply via email to