summaryrefslogtreecommitdiffstats
path: root/sys/dev/atkbdc/atkbd.c
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2000-05-28 12:43:24 +0000
committerache <ache@FreeBSD.org>2000-05-28 12:43:24 +0000
commit5af33bc3d0b0ce5d983218f9fdd1d4e394da3162 (patch)
tree7a22fd6e7bbbec932e2d4c227eb42d319a0855a3 /sys/dev/atkbdc/atkbd.c
parentac0a007a3892c87c3008c0b38a365dd8010da731 (diff)
downloadFreeBSD-src-5af33bc3d0b0ce5d983218f9fdd1d4e394da3162.zip
FreeBSD-src-5af33bc3d0b0ce5d983218f9fdd1d4e394da3162.tar.gz
Manipulate with AltGR Led (really CapsLock Led) only in K_XLATE mode, because
all other modes not set ALKED flag and it means that CapsLock always turned off for them. Real bug example is X11 which never turn on CapsLock with Russian keyboard. PR: 18651 Submitted by: "Mike E. Matsnev" <mike@po.cs.msu.su>
Diffstat (limited to 'sys/dev/atkbdc/atkbd.c')
-rw-r--r--sys/dev/atkbdc/atkbd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/atkbdc/atkbd.c b/sys/dev/atkbdc/atkbd.c
index 186e894..497d267 100644
--- a/sys/dev/atkbdc/atkbd.c
+++ b/sys/dev/atkbdc/atkbd.c
@@ -860,7 +860,8 @@ atkbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
}
i = *(int *)arg;
/* replace CAPS LED with ALTGR LED for ALTGR keyboards */
- if (kbd->kb_keymap->n_keys > ALTGR_OFFSET) {
+ if (state->ks_mode == K_XLATE &&
+ kbd->kb_keymap->n_keys > ALTGR_OFFSET) {
if (i & ALKED)
i |= CLKED;
else
OpenPOWER on IntegriCloud