From f280a8fbd37dcd3c4ad8049fe25341ce1765384d Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Wed, 25 Oct 2006 12:22:19 +0000 Subject: [PATCH] Fix non-working CAPS LED under X by applying fix from atkbd.c,v 1.27: : revision 1.27 : date: 2000/05/28 12:43:24; author: ache; state: Exp; lines: +3 -2 : 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" MFC after: 3 days --- sys/dev/usb/ukbd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/ukbd.c b/sys/dev/usb/ukbd.c index 45b41e25d29..9a5baf42d77 100644 --- a/sys/dev/usb/ukbd.c +++ b/sys/dev/usb/ukbd.c @@ -1218,7 +1218,8 @@ ukbd_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