Sunday, October 06, 2024

Why ihidev_ioctl() returns -1 ?

Hello @openbsd.

I try to contribute on OpenBSD (as far as I can) to make work my ims/imt drivers.
for
> ihidev0 at iic1 addr 0x15, gpio18 vendor 0x4f3 product 0x3140 MSFT0001.

Then, by cheking ihidev_ioctl, it only do `return -1;` any reasons ?

> int
> ihidev_ioctl(struct ihidev *sc, u_long cmd, caddr_t addr, int flag,
>     struct proc *p)
> {
>         return -1;
> }
from sys/dev/i2c/ihidev.c

And some strange behaviours like...

hidmt receive a WSMOUSEIO_SCALIBCOORS command not implemented in the code...
hidms await only a WSMOUSEIO_GTYPE  where ( sc_flags =  HIDMSABS_Y | HIDMSABS_X) > sc_flags = 192;

> if (ms->sc_flags & HIDMS_ABSX && ms->sc_flags & HIDMS_ABSY) {
> *(u_int *)data = WSMOUSE_TYPE_TPANEL;
> return 0;
> }

but hidms can also receive a WSMOUSEIO_GTYPE with a  sc_flags = 14; but return -1.

If someone can explain me how wscons update values into the ihidev ! ^^'

No comments:

Post a Comment