lkml.org 
[lkml]   [2003]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH 2.4] Fix LED's for input subsystem keyboards
From
Date
This patch propagates the current LED's to every new keyboard device
that is attached through the input subsystem.

--- linux-2.4.23/drivers/input/keybdev.c 2003-08-25 13:44:42.000000000 +0200
+++ linux-2.4.23-mh/drivers/input/keybdev.c 2003-12-13 21:51:54.000000000 +0100
@@ -154,16 +154,18 @@

static struct input_handler keybdev_handler;

+static unsigned int ledstate = 0xff;
+
void keybdev_ledfunc(unsigned int led)
{
struct input_handle *handle;

- for (handle = keybdev_handler.handle; handle; handle = handle->hnext) {
+ ledstate = led;

+ for (handle = keybdev_handler.handle; handle; handle = handle->hnext) {
input_event(handle->dev, EV_LED, LED_SCROLLL, !!(led & 0x01));
input_event(handle->dev, EV_LED, LED_NUML, !!(led & 0x02));
input_event(handle->dev, EV_LED, LED_CAPSL, !!(led & 0x04));
-
}
}

@@ -204,6 +206,12 @@
// printk(KERN_INFO "keybdev.c: Adding keyboard: input%d\n", dev->number);
kbd_refresh_leds();

+ if (ledstate != 0xff) {
+ input_event(dev, EV_LED, LED_SCROLLL, !!(ledstate & 0x01));
+ input_event(dev, EV_LED, LED_NUML, !!(ledstate & 0x02));
+ input_event(dev, EV_LED, LED_CAPSL, !!(ledstate & 0x04));
+ }
+
return handle;
}
\
 
 \ /
  Last update: 2005-03-22 13:59    [W:1.639 / U:0.404 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site