HID: wiimote: fix nunchuck button parser
The buttons of the Wii Remote Nunchuck extension are actually active low. Fix the parser to forward the inverted values. The comment in the function always said "0 == pressed" but the implementation was wrong from the beginning. Cc: stable@vger.kernel.org Reported-by: Victor Quicksilver <victor.quicksilver@gmail.com> Signed-off-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
30b6b7d8d3
commit
89bdd0c6f3
|
@ -403,14 +403,14 @@ static void handler_nunchuck(struct wiimote_ext *ext, const __u8 *payload)
|
||||||
|
|
||||||
if (ext->motionp) {
|
if (ext->motionp) {
|
||||||
input_report_key(ext->input,
|
input_report_key(ext->input,
|
||||||
wiiext_keymap[WIIEXT_KEY_Z], !!(payload[5] & 0x04));
|
wiiext_keymap[WIIEXT_KEY_Z], !(payload[5] & 0x04));
|
||||||
input_report_key(ext->input,
|
input_report_key(ext->input,
|
||||||
wiiext_keymap[WIIEXT_KEY_C], !!(payload[5] & 0x08));
|
wiiext_keymap[WIIEXT_KEY_C], !(payload[5] & 0x08));
|
||||||
} else {
|
} else {
|
||||||
input_report_key(ext->input,
|
input_report_key(ext->input,
|
||||||
wiiext_keymap[WIIEXT_KEY_Z], !!(payload[5] & 0x01));
|
wiiext_keymap[WIIEXT_KEY_Z], !(payload[5] & 0x01));
|
||||||
input_report_key(ext->input,
|
input_report_key(ext->input,
|
||||||
wiiext_keymap[WIIEXT_KEY_C], !!(payload[5] & 0x02));
|
wiiext_keymap[WIIEXT_KEY_C], !(payload[5] & 0x02));
|
||||||
}
|
}
|
||||||
|
|
||||||
input_sync(ext->input);
|
input_sync(ext->input);
|
||||||
|
|
Loading…
Reference in New Issue