Re: svn commit: r360126 - head/sys/dev/evdev

2020-04-21 Thread Justin Hibbits
On Mon, 20 Apr 2020 22:13:51 +0300
Vladimir Kondratyev  wrote:

> On 20.04.2020 19:39, Justin Hibbits wrote:
> > But I'm curious, why not attach to sysmouse(4) and kbdmux(4)?  What
> > breakage does that cause?  I could maybe see not attaching to
> > sysmouse(4) by default, if the protocol isn't expressive enough, but
> > kbdmux(4) should be sufficient.
> >
> > - Justin  
> 
> kbdmux(4) is pretty good for standard 102-104-keys keyboards found at
> common desktops.
> 
> But it does not work that good with some laptop ones.
> 
> There are no "Flight mode on/off", "Touchpad on/off" e.t.c. events
> defined in AT-keyset but they exist in evdev-keyset.
> 
> Unfortunately, we do not support keymap uploading in our drivers yet
> to make utilization of this advantage easy
> 
> but IMO its better to switch to direct key-event reporting earlier
> rather than later.
> 

Thanks for that explanation.  I tried thinking of any way these
capabilities could be added to kbdmux, but they really are keyboard
specific events, so wouldn't belong in kbdmux anyway.

I'd be interested in adding the necessary capabilities to adb(4), to
remove this special casing.  I have a PowerBook G4 Ti to use for such a
task.

- Justin
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r360126 - head/sys/dev/evdev

2020-04-20 Thread Vladimir Kondratyev
On 20.04.2020 19:39, Justin Hibbits wrote:
> But I'm curious, why not attach to sysmouse(4) and kbdmux(4)?  What
> breakage does that cause?  I could maybe see not attaching to
> sysmouse(4) by default, if the protocol isn't expressive enough, but
> kbdmux(4) should be sufficient.
>
> - Justin

kbdmux(4) is pretty good for standard 102-104-keys keyboards found at
common desktops.

But it does not work that good with some laptop ones.

There are no "Flight mode on/off", "Touchpad on/off" e.t.c. events
defined in AT-keyset but they exist in evdev-keyset.

Unfortunately, we do not support keymap uploading in our drivers yet to
make utilization of this advantage easy

but IMO its better to switch to direct key-event reporting earlier
rather than later.

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r360126 - head/sys/dev/evdev

2020-04-20 Thread Niclas Zeising

On 2020-04-20 20:13, Conrad Meyer wrote:

Hi Niclas,

On Mon, Apr 20, 2020 at 9:57 AM Niclas Zeising  wrote:


On 2020-04-20 18:39, Justin Hibbits wrote:

For just powerpc32,
you should have:

#if defined(__powerpc__) && !defined(__powerpc64__)


Ok, I wasn't aware of that, I'll fix it.


FYI, arch(7) is a great resource here (thanks, emaste@):

"""
  Architecture-specific macros:

ArchitecturePredefined macros
...
powerpc __powerpc__
powerpcspe  __powerpc__, __SPE__
powerpc64   __powerpc__, __powerpc64__
"""

For other predefined macros not covered in arch(7), I highly recommend
https://sourceforge.net/p/predef/wiki/Home/ .



I'll remember that for next time, thanks!
In any case, this should be fixed with r360132, sorry about that.
Regards
--
Niclas Zeising
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r360126 - head/sys/dev/evdev

2020-04-20 Thread Conrad Meyer
Hi Niclas,

On Mon, Apr 20, 2020 at 9:57 AM Niclas Zeising  wrote:
>
> On 2020-04-20 18:39, Justin Hibbits wrote:
> > For just powerpc32,
> > you should have:
> >
> > #if defined(__powerpc__) && !defined(__powerpc64__)
>
> Ok, I wasn't aware of that, I'll fix it.

FYI, arch(7) is a great resource here (thanks, emaste@):

"""
 Architecture-specific macros:

   ArchitecturePredefined macros
...
   powerpc __powerpc__
   powerpcspe  __powerpc__, __SPE__
   powerpc64   __powerpc__, __powerpc64__
"""

For other predefined macros not covered in arch(7), I highly recommend
https://sourceforge.net/p/predef/wiki/Home/ .

Best regards,
Conrad
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r360126 - head/sys/dev/evdev

2020-04-20 Thread Niclas Zeising

On 2020-04-20 18:39, Justin Hibbits wrote:

On Mon, 20 Apr 2020 16:17:17 + (UTC)
Niclas Zeising  wrote:


Author: zeising (doc,ports committer)
Date: Mon Apr 20 16:17:16 2020
New Revision: 360126
URL: https://svnweb.freebsd.org/changeset/base/360126

Log:
   Change kern.evdev.rcpt_mask to 12 by default
   
   Change kern.evdev.rcpt_mask from 3 to 12 by default.  This makes us

much more evdev-friendly, and will prevent everyone using xorg and
wayland with evdev devices (the default) from needing to change this
locally.
   powerpc32 still uses the old value for the keyboard part, becaues
the adb keyboard driver used there is not evdev compatible.
   
   Reviewed by:	wulf

   Approved by: wulf
   MFC after:   2 weeks
   X-MFC-Note:  12 only
   Relnotes:yes
   Differential Revision:   https://reviews.freebsd.org/D24370

Modified:
   head/sys/dev/evdev/evdev.c

Modified: head/sys/dev/evdev/evdev.c
==
--- head/sys/dev/evdev/evdev.c  Mon Apr 20 16:14:44 2020
(r360125) +++ head/sys/dev/evdev/evdev.cMon Apr 20 16:17:16
2020(r360126) @@ -66,7 +66,12 @@ enum evdev_sparse_result
  
  MALLOC_DEFINE(M_EVDEV, "evdev", "evdev memory");
  
-int evdev_rcpt_mask = EVDEV_RCPT_SYSMOUSE | EVDEV_RCPT_KBDMUX;

+/* adb keyboard driver used on powerpc does not support evdev yet */
+#ifdef __powerpc__


This affects *all* powerpc, not just powerpc32.  For just powerpc32,
you should have:

#if defined(__powerpc__) && !defined(__powerpc64__)


Ok, I wasn't aware of that, I'll fix it.



But I'm curious, why not attach to sysmouse(4) and kbdmux(4)?  What
breakage does that cause?  I could maybe see not attaching to
sysmouse(4) by default, if the protocol isn't expressive enough, but
kbdmux(4) should be sufficient.


Sysmouse hides features from evdev, so it's better to let xorg or 
wayland access the device directly.


If both are enabled, you'll get double events, meaning double key 
presses when using USB devices: https://reviews.freebsd.org/D24370#538523


Regards
--
Niclas Zeising
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r360126 - head/sys/dev/evdev

2020-04-20 Thread Justin Hibbits
On Mon, 20 Apr 2020 16:17:17 + (UTC)
Niclas Zeising  wrote:

> Author: zeising (doc,ports committer)
> Date: Mon Apr 20 16:17:16 2020
> New Revision: 360126
> URL: https://svnweb.freebsd.org/changeset/base/360126
> 
> Log:
>   Change kern.evdev.rcpt_mask to 12 by default
>   
>   Change kern.evdev.rcpt_mask from 3 to 12 by default.  This makes us
> much more evdev-friendly, and will prevent everyone using xorg and
> wayland with evdev devices (the default) from needing to change this
> locally. 
>   powerpc32 still uses the old value for the keyboard part, becaues
> the adb keyboard driver used there is not evdev compatible.
>   
>   Reviewed by:wulf
>   Approved by:wulf
>   MFC after:  2 weeks
>   X-MFC-Note: 12 only
>   Relnotes:   yes
>   Differential Revision:  https://reviews.freebsd.org/D24370
> 
> Modified:
>   head/sys/dev/evdev/evdev.c
> 
> Modified: head/sys/dev/evdev/evdev.c
> ==
> --- head/sys/dev/evdev/evdev.cMon Apr 20 16:14:44 2020
> (r360125) +++ head/sys/dev/evdev/evdev.c  Mon Apr 20 16:17:16
> 2020  (r360126) @@ -66,7 +66,12 @@ enum evdev_sparse_result
>  
>  MALLOC_DEFINE(M_EVDEV, "evdev", "evdev memory");
>  
> -int evdev_rcpt_mask = EVDEV_RCPT_SYSMOUSE | EVDEV_RCPT_KBDMUX;
> +/* adb keyboard driver used on powerpc does not support evdev yet */
> +#ifdef __powerpc__

This affects *all* powerpc, not just powerpc32.  For just powerpc32,
you should have:

#if defined(__powerpc__) && !defined(__powerpc64__)

But I'm curious, why not attach to sysmouse(4) and kbdmux(4)?  What
breakage does that cause?  I could maybe see not attaching to
sysmouse(4) by default, if the protocol isn't expressive enough, but
kbdmux(4) should be sufficient.


- Justin
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


svn commit: r360126 - head/sys/dev/evdev

2020-04-20 Thread Niclas Zeising
Author: zeising (doc,ports committer)
Date: Mon Apr 20 16:17:16 2020
New Revision: 360126
URL: https://svnweb.freebsd.org/changeset/base/360126

Log:
  Change kern.evdev.rcpt_mask to 12 by default
  
  Change kern.evdev.rcpt_mask from 3 to 12 by default.  This makes us much
  more evdev-friendly, and will prevent everyone using xorg and wayland with
  evdev devices (the default) from needing to change this locally.
  
  powerpc32 still uses the old value for the keyboard part, becaues the adb
  keyboard driver used there is not evdev compatible.
  
  Reviewed by:  wulf
  Approved by:  wulf
  MFC after:2 weeks
  X-MFC-Note:   12 only
  Relnotes: yes
  Differential Revision:https://reviews.freebsd.org/D24370

Modified:
  head/sys/dev/evdev/evdev.c

Modified: head/sys/dev/evdev/evdev.c
==
--- head/sys/dev/evdev/evdev.c  Mon Apr 20 16:14:44 2020(r360125)
+++ head/sys/dev/evdev/evdev.c  Mon Apr 20 16:17:16 2020(r360126)
@@ -66,7 +66,12 @@ enum evdev_sparse_result
 
 MALLOC_DEFINE(M_EVDEV, "evdev", "evdev memory");
 
-int evdev_rcpt_mask = EVDEV_RCPT_SYSMOUSE | EVDEV_RCPT_KBDMUX;
+/* adb keyboard driver used on powerpc does not support evdev yet */
+#ifdef __powerpc__
+int evdev_rcpt_mask = EVDEV_RCPT_KBDMUX | EVDEV_RCPT_HW_MOUSE;
+#else
+int evdev_rcpt_mask = EVDEV_RCPT_HW_MOUSE | EVDEV_RCPT_HW_KBD;
+#endif
 int evdev_sysmouse_t_axis = 0;
 
 SYSCTL_NODE(_kern, OID_AUTO, evdev, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"