--- atkbd.c.ORIG Thu Dec 25 02:19:28 2003 +++ atkbd.c Fri Dec 26 01:40:47 2003 @@ -196,8 +196,10 @@ if (atkbd->translated) do { if (atkbd->emul != 1) { - if (code == ATKBD_RET_EMUL0 || code == ATKBD_RET_EMUL1) - break; + if (atkbd->set != 3) { + if (code == ATKBD_RET_EMUL0 || code == ATKBD_RET_EMUL1) + break; + } if (code == ATKBD_RET_BAT) { if (!atkbd->bat_xl) break; @@ -230,11 +232,19 @@ serio_rescan(atkbd->serio); goto out; case ATKBD_RET_EMUL0: - atkbd->emul = 1; - goto out; + if (atkbd->set != 3) { + atkbd->emul = 1; + goto out; + } else { + break; + } case ATKBD_RET_EMUL1: - atkbd->emul = 2; - goto out; + if (atkbd->set != 3) { + atkbd->emul = 2; + goto out; + } else { + break; + } case ATKBD_RET_RELEASE: atkbd->release = 1; goto out; @@ -482,7 +492,7 @@ * IBM RapidAccess / IBM EzButton / Chicony KBP-8993 keyboards. */ - if (atkbd->translated) + if ((atkbd->translated) && (atkbd_set == 2)) return 2; if (atkbd->id == 0xaca1) {