Exemplo n.º 1
0
int
btkbd_ioctl(void *self, u_long cmd, caddr_t data, int flag, struct proc *p)
{
    struct btkbd_softc *sc = (struct btkbd_softc *)self;
    struct hidkbd *kbd = &sc->sc_kbd;

    switch (cmd) {
    case WSKBDIO_GTYPE:
        *(int *)data = WSKBD_TYPE_BLUETOOTH;
        return 0;
    case WSKBDIO_SETLEDS:
        btkbd_set_leds(sc, *(int *)data);
        return 0;
    default:
        return hidkbd_ioctl(kbd, cmd, data, flag, p);
    }
}
Exemplo n.º 2
0
int
ukbd_ioctl(void *v, u_long cmd, caddr_t data, int flag, struct proc *p)
{
	struct ukbd_softc *sc = v;
	struct hidkbd *kbd = &sc->sc_kbd;
	int rc;

	switch (cmd) {
	case WSKBDIO_GTYPE:
		*(int *)data = WSKBD_TYPE_USB;
		return (0);
	case WSKBDIO_SETLEDS:
		ukbd_set_leds(v, *(int *)data);
		return (0);
	default:
		rc = uhidev_ioctl(&sc->sc_hdev, cmd, data, flag, p);
		if (rc != -1)
			return rc;
		else
			return hidkbd_ioctl(kbd, cmd, data, flag, p);
	}
}