evdev: Disable value normalization and state filtering for SND events.

Some events can take sound pitch as a value so can not be represented
as binary on/off events. Tracking for on/off state is left in place
as it is a part of the evdev API.

Reviewed by:		gonzo
Approved by:		gonzo (mentor)
MFC after:		2 weeks
Differential Revision:	https://reviews.freebsd.org/D12676
This commit is contained in:
Vladimir Kondratyev 2017-11-01 22:33:44 +00:00
parent d52d8bce16
commit c6e809423f
2 changed files with 1 additions and 3 deletions

View File

@ -634,8 +634,6 @@ evdev_sparse_event(struct evdev_dev *evdev, uint16_t type, uint16_t code,
break;
case EV_SND:
if (bit_test(evdev->ev_snd_states, code) == value)
return (EV_SKIP_EVENT);
bit_change(evdev->ev_snd_states, code, value);
break;

View File

@ -197,7 +197,7 @@ static __inline int
evdev_push_snd(struct evdev_dev *evdev, uint16_t code, int32_t value)
{
return (evdev_push_event(evdev, EV_SND, code, value != 0));
return (evdev_push_event(evdev, EV_SND, code, value));
}
static __inline int