Fix the bug that caused CTRL & ALT keys to be hanging sometimes after
an X seesion. Really stupid error of me, and I've been looking at this code SO many times. Thanks to Kazutaka YOKOTA for seeing this.. Submitted by: Kazutaka YOKOTA
This commit is contained in:
parent
559605f1ec
commit
dc31ce3ddb
@ -1196,7 +1196,7 @@ scioctl(dev_t dev, int cmd, caddr_t data, int flag, struct proc *p)
|
||||
return 0;
|
||||
|
||||
case K_XLATE: /* switch to XLT ascii mode */
|
||||
if (scp == cur_console && scp->status == KBD_RAW_MODE)
|
||||
if (scp == cur_console && scp->status & KBD_RAW_MODE)
|
||||
shfts = ctls = alts = agrs = metas = 0;
|
||||
scp->status &= ~KBD_RAW_MODE;
|
||||
return 0;
|
||||
|
@ -1196,7 +1196,7 @@ scioctl(dev_t dev, int cmd, caddr_t data, int flag, struct proc *p)
|
||||
return 0;
|
||||
|
||||
case K_XLATE: /* switch to XLT ascii mode */
|
||||
if (scp == cur_console && scp->status == KBD_RAW_MODE)
|
||||
if (scp == cur_console && scp->status & KBD_RAW_MODE)
|
||||
shfts = ctls = alts = agrs = metas = 0;
|
||||
scp->status &= ~KBD_RAW_MODE;
|
||||
return 0;
|
||||
|
@ -1196,7 +1196,7 @@ scioctl(dev_t dev, int cmd, caddr_t data, int flag, struct proc *p)
|
||||
return 0;
|
||||
|
||||
case K_XLATE: /* switch to XLT ascii mode */
|
||||
if (scp == cur_console && scp->status == KBD_RAW_MODE)
|
||||
if (scp == cur_console && scp->status & KBD_RAW_MODE)
|
||||
shfts = ctls = alts = agrs = metas = 0;
|
||||
scp->status &= ~KBD_RAW_MODE;
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user