Re: patch 3/4 add generic keyboard backlight support

2015-12-08 Thread Joerg Jung
On Tue, Dec 08, 2015 at 10:48:47PM +0100, Mark Kettenis wrote:
> > Date: Mon, 7 Dec 2015 23:44:13 +0100
> > From: Joerg Jung 
> > 
> > Hi,
> > 
> > here comes the third part of the series for generic keyboard backlight
> > support.
> > 
> > Please find below a diff which adds they key(code)s for keyboard
> > backlight control, as found on all recent Intel based Apple Laptop
> > Keyboards.  While here, also add keys for display brightness control
> > found on Apple Keyboards as well.
> > 
> > This is based on a similar diff from Sven-Volker Nowarra and is a NOOP
> > for now, as these keys are not used yet. Using them is target for a
> > later diff.
> > 
> > I'm not familar with keycodes, most of the diff below is 'educated
> > guess', so please, hints are welcome!
> > 
> > Comments, OK?
> 
> Heh, I just looked into this during n2k15 to make the display
> brihtness keys work.

Did you got it working? :)

> I don't think you should add codes to pckbc/wskbdmap_mfii.c unless you
> have some evidence there really are PC-style keyboards that produce
> these codes.

Ok, understood. In my defence: as written above 'educated guess' meant,
I just copy here, using the same approach as the (already 
working) audio keys.
 
> I think you should choose different codes for USB.  Take a look at the
> "HID Usage Tables" document.  There you'll find that 131-134 are
> already assigned.  For my brightness diff I used codes in the reserved
> range that startx at 232 (0xe8).

Ok, makes sense.

> There are already keysyms defined for display brightness in "Group 4".

Yes, I have seen them.

> Using symbols in that group has some consequences though.  Currently
> the code that handles them assumes they are only generated in
> combination with certain modifies keys.

Yes, that is what I guessed and the reason why added them in the
previous group.

Modifier keys means  or , but does not include the famous
 key, right?

Now I'm a bit more confused: where and how should I add the backlight or
brightness keys to be able to access them in wskbd.c later?


> > Index: pckbc/wskbdmap_mfii.c
> > ===
> > RCS file: /cvs/src/sys/dev/pckbc/wskbdmap_mfii.c,v
> > retrieving revision 1.43
> > diff -u -p -r1.43 wskbdmap_mfii.c
> > --- pckbc/wskbdmap_mfii.c   14 Apr 2013 19:32:52 -  1.43
> > +++ pckbc/wskbdmap_mfii.c   7 Dec 2015 22:22:27 -
> > @@ -149,6 +149,10 @@ static const keysym_t pckbd_keydesc_us[]
> >  KC(170),   KS_Print_Screen,
> >  KC(174),   KS_AudioLower,
> >  KC(176),   KS_AudioRaise,
> > +KC(177),   KS_BrightnessDown,
> > +KC(178),   KS_BrightnessUp,
> > +KC(179),   KS_KbdBacklightDown,
> > +KC(180),   KS_KbdBacklightUp,
> >  KC(181),   KS_KP_Divide,
> >  KC(183),   KS_Print_Screen,
> >  KC(184), KS_Cmd2,  KS_Alt_R,   KS_Multi_key,
> > Index: wscons/wsksymdef.h
> > ===
> > RCS file: /cvs/src/sys/dev/wscons/wsksymdef.h,v
> > retrieving revision 1.36
> > diff -u -p -r1.36 wsksymdef.h
> > --- wscons/wsksymdef.h  26 Jan 2014 17:48:08 -  1.36
> > +++ wscons/wsksymdef.h  7 Dec 2015 22:22:27 -
> > @@ -633,6 +633,10 @@
> >  #define KS_AudioMute   0xf3d1
> >  #define KS_AudioLower  0xf3d2
> >  #define KS_AudioRaise  0xf3d3
> > +#define KS_BrightnessDown  0xf3d4
> > +#define KS_BrightnessUp0xf3d5
> > +#define KS_KbdBacklightDown0xf3d6
> > +#define KS_KbdBacklightUp  0xf3d7
> >  
> >  /*
> >   * Group 4 (command)
> > Index: usb/makemap.awk
> > ===
> > RCS file: /cvs/src/sys/dev/usb/makemap.awk,v
> > retrieving revision 1.14
> > diff -u -p -r1.14 makemap.awk
> > --- usb/makemap.awk 20 Nov 2013 17:27:32 -  1.14
> > +++ usb/makemap.awk 7 Dec 2015 22:22:27 -
> > @@ -153,6 +153,10 @@ BEGIN {
> > conv[170] = 70
> > conv[174] = 129
> > conv[176] = 128
> > +   conv[177] = 131
> > +   conv[178] = 132
> > +   conv[179] = 133
> > +   conv[180] = 134
> > conv[181] = 84
> > conv[184] = 230
> > # 198 is #if 0 in the PS/2 map...
> > Index: usb/ukbd.c
> > ===
> > RCS file: /cvs/src/sys/dev/usb/ukbd.c,v
> > retrieving revision 1.71
> > diff -u -p -r1.71 ukbd.c
> > --- usb/ukbd.c  14 Mar 2015 03:38:50 -  1.71
> > +++ usb/ukbd.c  7 Dec 2015 22:22:27 -
> > @@ -469,13 +469,15 @@ ukbd_apple_munge(void *vsc, uint8_t *ibu
> > static const struct ukbd_translation apple_fn_trans[] = {
> > { 40, 73 }, /* return -> insert */
> > { 42, 76 }, /* backspace -> delete */
> > +   { 58, 131 },

Re: patch 3/4 add generic keyboard backlight support

2015-12-08 Thread Mark Kettenis
> Date: Mon, 7 Dec 2015 23:44:13 +0100
> From: Joerg Jung 
> 
> Hi,
> 
> here comes the third part of the series for generic keyboard backlight
> support.
> 
> Please find below a diff which adds they key(code)s for keyboard
> backlight control, as found on all recent Intel based Apple Laptop
> Keyboards.  While here, also add keys for display brightness control
> found on Apple Keyboards as well.
> 
> This is based on a similar diff from Sven-Volker Nowarra and is a NOOP
> for now, as these keys are not used yet. Using them is target for a
> later diff.
> 
> I'm not familar with keycodes, most of the diff below is 'educated
> guess', so please, hints are welcome!
> 
> Comments, OK?

Heh, I just looked into this during n2k15 to make the display
brihtness keys work.

I don't think you should add codes to pckbc/wskbdmap_mfii.c unless you
have some evidence there really are PC-style keyboards that produce
these codes.

I think you should choose different codes for USB.  Take a look at the
"HID Usage Tables" document.  There you'll find that 131-134 are
already assigned.  For my brightness diff I used codes in the reserved
range that startx at 232 (0xe8).

There are already keysyms defined for display brightness in "Group 4".
Using symbols in that group has some consequences though.  Currently
the code that handles them assumes they are only generated in
combination with certain modifies keys.


> Index: pckbc/wskbdmap_mfii.c
> ===
> RCS file: /cvs/src/sys/dev/pckbc/wskbdmap_mfii.c,v
> retrieving revision 1.43
> diff -u -p -r1.43 wskbdmap_mfii.c
> --- pckbc/wskbdmap_mfii.c 14 Apr 2013 19:32:52 -  1.43
> +++ pckbc/wskbdmap_mfii.c 7 Dec 2015 22:22:27 -
> @@ -149,6 +149,10 @@ static const keysym_t pckbd_keydesc_us[]
>  KC(170), KS_Print_Screen,
>  KC(174), KS_AudioLower,
>  KC(176), KS_AudioRaise,
> +KC(177), KS_BrightnessDown,
> +KC(178), KS_BrightnessUp,
> +KC(179), KS_KbdBacklightDown,
> +KC(180), KS_KbdBacklightUp,
>  KC(181), KS_KP_Divide,
>  KC(183), KS_Print_Screen,
>  KC(184), KS_Cmd2,KS_Alt_R,   KS_Multi_key,
> Index: wscons/wsksymdef.h
> ===
> RCS file: /cvs/src/sys/dev/wscons/wsksymdef.h,v
> retrieving revision 1.36
> diff -u -p -r1.36 wsksymdef.h
> --- wscons/wsksymdef.h26 Jan 2014 17:48:08 -  1.36
> +++ wscons/wsksymdef.h7 Dec 2015 22:22:27 -
> @@ -633,6 +633,10 @@
>  #define KS_AudioMute 0xf3d1
>  #define KS_AudioLower0xf3d2
>  #define KS_AudioRaise0xf3d3
> +#define KS_BrightnessDown0xf3d4
> +#define KS_BrightnessUp  0xf3d5
> +#define KS_KbdBacklightDown  0xf3d6
> +#define KS_KbdBacklightUp0xf3d7
>  
>  /*
>   * Group 4 (command)
> Index: usb/makemap.awk
> ===
> RCS file: /cvs/src/sys/dev/usb/makemap.awk,v
> retrieving revision 1.14
> diff -u -p -r1.14 makemap.awk
> --- usb/makemap.awk   20 Nov 2013 17:27:32 -  1.14
> +++ usb/makemap.awk   7 Dec 2015 22:22:27 -
> @@ -153,6 +153,10 @@ BEGIN {
>   conv[170] = 70
>   conv[174] = 129
>   conv[176] = 128
> + conv[177] = 131
> + conv[178] = 132
> + conv[179] = 133
> + conv[180] = 134
>   conv[181] = 84
>   conv[184] = 230
>   # 198 is #if 0 in the PS/2 map...
> Index: usb/ukbd.c
> ===
> RCS file: /cvs/src/sys/dev/usb/ukbd.c,v
> retrieving revision 1.71
> diff -u -p -r1.71 ukbd.c
> --- usb/ukbd.c14 Mar 2015 03:38:50 -  1.71
> +++ usb/ukbd.c7 Dec 2015 22:22:27 -
> @@ -469,13 +469,15 @@ ukbd_apple_munge(void *vsc, uint8_t *ibu
>   static const struct ukbd_translation apple_fn_trans[] = {
>   { 40, 73 }, /* return -> insert */
>   { 42, 76 }, /* backspace -> delete */
> + { 58, 131 },/* F1 -> screen brightness down */
> + { 59, 132 },/* F2 -> screen brightness up */
>  #ifdef notyet
> - { 58, 0 },  /* F1 -> screen brightness down */
> - { 59, 0 },  /* F2 -> screen brightness up */
>   { 60, 0 },  /* F3 */
>   { 61, 0 },  /* F4 */
> - { 62, 0 },  /* F5 -> keyboard backlight down */
> - { 63, 0 },  /* F6 -> keyboard backlight up */
> +#endif
> + { 62, 133 },/* F5 -> keyboard backlight down */
> + { 63, 134 },/* F6 -> keyboard backlight up */
> +#ifdef notyet
>   { 64, 0 },  /* F7 -> audio back */
>   { 65, 0 },  /* F8 -> audio pause/play */
>   { 66, 0 },  /* F9 -> 

patch 3/4 add generic keyboard backlight support

2015-12-07 Thread Joerg Jung
Hi,

here comes the third part of the series for generic keyboard backlight
support.

Please find below a diff which adds they key(code)s for keyboard
backlight control, as found on all recent Intel based Apple Laptop
Keyboards.  While here, also add keys for display brightness control
found on Apple Keyboards as well.

This is based on a similar diff from Sven-Volker Nowarra and is a NOOP
for now, as these keys are not used yet. Using them is target for a
later diff.

I'm not familar with keycodes, most of the diff below is 'educated
guess', so please, hints are welcome!

Comments, OK?

Thanks,
Regards,
Joerg


Index: pckbc/wskbdmap_mfii.c
===
RCS file: /cvs/src/sys/dev/pckbc/wskbdmap_mfii.c,v
retrieving revision 1.43
diff -u -p -r1.43 wskbdmap_mfii.c
--- pckbc/wskbdmap_mfii.c   14 Apr 2013 19:32:52 -  1.43
+++ pckbc/wskbdmap_mfii.c   7 Dec 2015 22:22:27 -
@@ -149,6 +149,10 @@ static const keysym_t pckbd_keydesc_us[]
 KC(170),   KS_Print_Screen,
 KC(174),   KS_AudioLower,
 KC(176),   KS_AudioRaise,
+KC(177),   KS_BrightnessDown,
+KC(178),   KS_BrightnessUp,
+KC(179),   KS_KbdBacklightDown,
+KC(180),   KS_KbdBacklightUp,
 KC(181),   KS_KP_Divide,
 KC(183),   KS_Print_Screen,
 KC(184), KS_Cmd2,  KS_Alt_R,   KS_Multi_key,
Index: wscons/wsksymdef.h
===
RCS file: /cvs/src/sys/dev/wscons/wsksymdef.h,v
retrieving revision 1.36
diff -u -p -r1.36 wsksymdef.h
--- wscons/wsksymdef.h  26 Jan 2014 17:48:08 -  1.36
+++ wscons/wsksymdef.h  7 Dec 2015 22:22:27 -
@@ -633,6 +633,10 @@
 #define KS_AudioMute   0xf3d1
 #define KS_AudioLower  0xf3d2
 #define KS_AudioRaise  0xf3d3
+#define KS_BrightnessDown  0xf3d4
+#define KS_BrightnessUp0xf3d5
+#define KS_KbdBacklightDown0xf3d6
+#define KS_KbdBacklightUp  0xf3d7
 
 /*
  * Group 4 (command)
Index: usb/makemap.awk
===
RCS file: /cvs/src/sys/dev/usb/makemap.awk,v
retrieving revision 1.14
diff -u -p -r1.14 makemap.awk
--- usb/makemap.awk 20 Nov 2013 17:27:32 -  1.14
+++ usb/makemap.awk 7 Dec 2015 22:22:27 -
@@ -153,6 +153,10 @@ BEGIN {
conv[170] = 70
conv[174] = 129
conv[176] = 128
+   conv[177] = 131
+   conv[178] = 132
+   conv[179] = 133
+   conv[180] = 134
conv[181] = 84
conv[184] = 230
# 198 is #if 0 in the PS/2 map...
Index: usb/ukbd.c
===
RCS file: /cvs/src/sys/dev/usb/ukbd.c,v
retrieving revision 1.71
diff -u -p -r1.71 ukbd.c
--- usb/ukbd.c  14 Mar 2015 03:38:50 -  1.71
+++ usb/ukbd.c  7 Dec 2015 22:22:27 -
@@ -469,13 +469,15 @@ ukbd_apple_munge(void *vsc, uint8_t *ibu
static const struct ukbd_translation apple_fn_trans[] = {
{ 40, 73 }, /* return -> insert */
{ 42, 76 }, /* backspace -> delete */
+   { 58, 131 },/* F1 -> screen brightness down */
+   { 59, 132 },/* F2 -> screen brightness up */
 #ifdef notyet
-   { 58, 0 },  /* F1 -> screen brightness down */
-   { 59, 0 },  /* F2 -> screen brightness up */
{ 60, 0 },  /* F3 */
{ 61, 0 },  /* F4 */
-   { 62, 0 },  /* F5 -> keyboard backlight down */
-   { 63, 0 },  /* F6 -> keyboard backlight up */
+#endif
+   { 62, 133 },/* F5 -> keyboard backlight down */
+   { 63, 134 },/* F6 -> keyboard backlight up */
+#ifdef notyet
{ 64, 0 },  /* F7 -> audio back */
{ 65, 0 },  /* F8 -> audio pause/play */
{ 66, 0 },  /* F9 -> audio next */
Index: usb/ukbdmap.c
===
RCS file: /cvs/src/sys/dev/usb/ukbdmap.c,v
retrieving revision 1.41
diff -u -p -r1.41 ukbdmap.c
--- usb/ukbdmap.c   20 Nov 2013 17:28:00 -  1.41
+++ usb/ukbdmap.c   7 Dec 2015 22:22:27 -
@@ -1,4 +1,4 @@
-/* $OpenBSD: ukbdmap.c,v 1.41 2013/11/20 17:28:00 miod Exp $   */
+/* $OpenBSD$   */
 
 /*
  * THIS FILE IS AUTOMAGICALLY GENERATED.  DO NOT EDIT.
@@ -176,6 +176,10 @@ static const keysym_t ukbd_keydesc_us[] 
 KC(127),   KS_AudioMute,
 KC(128),   KS_AudioRaise,
 KC(129),   KS_AudioLower,
+KC(131),   KS_BrightnessDown,
+KC(132),   KS_BrightnessUp,
+KC(133),   KS_KbdBacklightDown,
+KC(134),   KS_KbdBacklightUp,
 KC(224),   KS_Cmd1,KS_Control_L,
 KC(225),   KS_Shift_L,
 KC(226),   KS_Cmd2,KS_Alt_L,