AT KBC: Check for T3100E 'Fn' key after translating the current scan code, should fix the keys with translated scan code set 2 as well.
This commit is contained in:
@@ -277,9 +277,26 @@ kbc_translate(atkbc_t *dev, uint8_t val)
|
||||
return ret;
|
||||
}
|
||||
|
||||
kbc_at_log("ATkbc: translate is %s, ", translate ? "on" : "off");
|
||||
#ifdef ENABLE_KEYBOARD_AT_LOG
|
||||
kbc_at_log("scan code: ");
|
||||
if (translate) {
|
||||
kbc_at_log("%02X (original: ", (nont_to_t[val] | dev->sc_or));
|
||||
if (dev->sc_or == 0x80)
|
||||
kbc_at_log("F0 ");
|
||||
kbc_at_log("%02X)\n", val);
|
||||
} else
|
||||
kbc_at_log("%02X\n", val);
|
||||
#endif
|
||||
|
||||
ret = translate ? (nont_to_t[val] | dev->sc_or) : val;
|
||||
|
||||
if (dev->sc_or == 0x80)
|
||||
dev->sc_or = 0;
|
||||
|
||||
/* Test for T3100E 'Fn' key (Right Alt / Right Ctrl) */
|
||||
if ((dev != NULL) && (kbc_ven == KBC_VEN_TOSHIBA) &&
|
||||
(keyboard_recv(0x138) || keyboard_recv(0x11d))) switch (val) {
|
||||
(keyboard_recv(0x138) || keyboard_recv(0x11d))) switch (ret) {
|
||||
case 0x4f:
|
||||
t3100e_notify_set(0x01);
|
||||
break; /* End */
|
||||
@@ -329,23 +346,6 @@ kbc_translate(atkbc_t *dev, uint8_t val)
|
||||
break;
|
||||
}
|
||||
|
||||
kbc_at_log("ATkbc: translate is %s, ", translate ? "on" : "off");
|
||||
#ifdef ENABLE_KEYBOARD_AT_LOG
|
||||
kbc_at_log("scan code: ");
|
||||
if (translate) {
|
||||
kbc_at_log("%02X (original: ", (nont_to_t[val] | dev->sc_or));
|
||||
if (dev->sc_or == 0x80)
|
||||
kbc_at_log("F0 ");
|
||||
kbc_at_log("%02X)\n", val);
|
||||
} else
|
||||
kbc_at_log("%02X\n", val);
|
||||
#endif
|
||||
|
||||
ret = translate ? (nont_to_t[val] | dev->sc_or) : val;
|
||||
|
||||
if (dev->sc_or == 0x80)
|
||||
dev->sc_or = 0;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user