aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/keyboard
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/keyboard')
-rw-r--r--drivers/input/keyboard/atkbd.c10
-rw-r--r--drivers/input/keyboard/sunkbd.c2
2 files changed, 8 insertions, 4 deletions
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index 4d4985b59abf..1ad8c2ee7dbf 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -208,6 +208,7 @@ struct atkbd {
208 unsigned char resend; 208 unsigned char resend;
209 unsigned char release; 209 unsigned char release;
210 unsigned char bat_xl; 210 unsigned char bat_xl;
211 unsigned char err_xl;
211 unsigned int last; 212 unsigned int last;
212 unsigned long time; 213 unsigned long time;
213}; 214};
@@ -296,15 +297,18 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data,
296 if (atkbd->emul || 297 if (atkbd->emul ||
297 !(code == ATKBD_RET_EMUL0 || code == ATKBD_RET_EMUL1 || 298 !(code == ATKBD_RET_EMUL0 || code == ATKBD_RET_EMUL1 ||
298 code == ATKBD_RET_HANGUEL || code == ATKBD_RET_HANJA || 299 code == ATKBD_RET_HANGUEL || code == ATKBD_RET_HANJA ||
299 code == ATKBD_RET_ERR || 300 (code == ATKBD_RET_ERR && !atkbd->err_xl) ||
300 (code == ATKBD_RET_BAT && !atkbd->bat_xl))) { 301 (code == ATKBD_RET_BAT && !atkbd->bat_xl))) {
301 atkbd->release = code >> 7; 302 atkbd->release = code >> 7;
302 code &= 0x7f; 303 code &= 0x7f;
303 } 304 }
304 305
305 if (!atkbd->emul && 306 if (!atkbd->emul) {
306 (code & 0x7f) == (ATKBD_RET_BAT & 0x7f)) 307 if ((code & 0x7f) == (ATKBD_RET_BAT & 0x7f))
307 atkbd->bat_xl = !atkbd->release; 308 atkbd->bat_xl = !atkbd->release;
309 if ((code & 0x7f) == (ATKBD_RET_ERR & 0x7f))
310 atkbd->err_xl = !atkbd->release;
311 }
308 } 312 }
309 313
310 switch (code) { 314 switch (code) {
diff --git a/drivers/input/keyboard/sunkbd.c b/drivers/input/keyboard/sunkbd.c
index 596964ceb96d..4bae5d89348d 100644
--- a/drivers/input/keyboard/sunkbd.c
+++ b/drivers/input/keyboard/sunkbd.c
@@ -44,7 +44,7 @@ MODULE_DESCRIPTION(DRIVER_DESC);
44MODULE_LICENSE("GPL"); 44MODULE_LICENSE("GPL");
45 45
46static unsigned char sunkbd_keycode[128] = { 46static unsigned char sunkbd_keycode[128] = {
47 0,128,114,129,115, 59, 60, 68, 61, 87, 62, 88, 63,100, 64, 0, 47 0,128,114,129,115, 59, 60, 68, 61, 87, 62, 88, 63,100, 64,112,
48 65, 66, 67, 56,103,119, 99, 70,105,130,131,108,106, 1, 2, 3, 48 65, 66, 67, 56,103,119, 99, 70,105,130,131,108,106, 1, 2, 3,
49 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 41, 14,110,113, 98, 55, 49 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 41, 14,110,113, 98, 55,
50 116,132, 83,133,102, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 50 116,132, 83,133,102, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,