Input: atkbd - fix complaints about 'releasing unknown key 0x7f'
Fix bat_xl and err_xl logic causing atkbd to complain about 'unknown key 0x7f'. Noted by Ben LaHaise. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
committed by
Dmitry Torokhov
parent
50a598de40
commit
9b104c12f1
@@ -303,19 +303,19 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data,
|
|||||||
if (atkbd->translated) {
|
if (atkbd->translated) {
|
||||||
|
|
||||||
if (atkbd->emul ||
|
if (atkbd->emul ||
|
||||||
!(code == ATKBD_RET_EMUL0 || code == ATKBD_RET_EMUL1 ||
|
(code != ATKBD_RET_EMUL0 && code != ATKBD_RET_EMUL1 &&
|
||||||
code == ATKBD_RET_HANGUEL || code == ATKBD_RET_HANJA ||
|
code != ATKBD_RET_HANGUEL && code != ATKBD_RET_HANJA &&
|
||||||
(code == ATKBD_RET_ERR && !atkbd->err_xl) ||
|
(code != ATKBD_RET_ERR || atkbd->err_xl) &&
|
||||||
(code == ATKBD_RET_BAT && !atkbd->bat_xl))) {
|
(code != ATKBD_RET_BAT || atkbd->bat_xl))) {
|
||||||
atkbd->release = code >> 7;
|
atkbd->release = code >> 7;
|
||||||
code &= 0x7f;
|
code &= 0x7f;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!atkbd->emul) {
|
if (!atkbd->emul) {
|
||||||
if ((code & 0x7f) == (ATKBD_RET_BAT & 0x7f))
|
if ((code & 0x7f) == (ATKBD_RET_BAT & 0x7f))
|
||||||
atkbd->bat_xl = !atkbd->release;
|
atkbd->bat_xl = !(data >> 7);
|
||||||
if ((code & 0x7f) == (ATKBD_RET_ERR & 0x7f))
|
if ((code & 0x7f) == (ATKBD_RET_ERR & 0x7f))
|
||||||
atkbd->err_xl = !atkbd->release;
|
atkbd->err_xl = !(data >> 7);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user