Re: [PATCH 001/001] INPUT: new ioctl's to retrieve values of EV_REP and EV_SND event codes

Dmitry Torokhov
2006-04-24T14:31:44Z

On 4/22/06, bjd <bjdouma@xs4all.nl> wrote:
>
> From: Bauke Jan Douma <bjdouma@xs4all.nl>
>

Hi Bauke,

Thank you for your patch.

> Add two new ioctl's to have the input driver return actual current values for
> EV_REP and EV_SND event codes.
>
> Currently there is no ioctl to retrieve EV_REP values, even though they have
> actually always been stored in dev->rep. A new ioctl, EVIOCGREPCODE,
> retrieves them.
>

EVIOCGREP and EVIOCSREP ioctls are present in 2.4 but they have been
removed during 2.6 development. If you need to get/set repeat delay
and period you need to use KDKBDREP ioctl; it will change the repeat
rate for all keyboards attached to the box.

Vojtech, could you remind me why EVIOC{G|S}REP were removed? Some
people want to have ability to separate keyboards (via grabbing); they
also might want to control repeat rate independently. Shoudl we
reinstate these ioctls?

> The existing EVCGSND ioctl has never returned anything meaningful; the relevant
> fragment in input.c was missing even a change_bit() call.
> The actual EV_SND values are now written in dev->snd. To make this work,
> dev->snd had to be made an int array, and as a consequence the EVICGSND ioctl
> became problematic. I have removed it in this diff, but --even though it never
> has returned anything meaningful-- I'm not quite sure that's the right thing to
> do, so I would appreciate feedback on this.
> Anyway, an EVIOCGSNDCODE ioctl was added to retrieve these values.

I think we should just fix EVCGSND and just allow userspace to query
which sound evvects are active fro device - IOW just return bitmap
like we do for keys and leds and switches. I don't think actuall
"value" of the SND_TONE is interesting to anyone.

--
Dmitry