summaryrefslogtreecommitdiff
path: root/drivers/input/evdev.c
diff options
context:
space:
mode:
authorVojtech Pavlik <vojtech@suse.cz>2004-03-12 02:29:52 +0100
committerVojtech Pavlik <vojtech@suse.cz>2004-03-12 02:29:52 +0100
commit7ed820153475a74c46164997cf73941679f46c5c (patch)
treed2e2f6c5f33235d9c1556406fac2420f644bb646 /drivers/input/evdev.c
parent0a912921292ec744448f9462e46c31928f422f01 (diff)
parentc9d14734db3b79a901bbf46245b62fc391d70b55 (diff)
Merge suse.cz:/home/vojtech/bk/linus into suse.cz:/home/vojtech/bk/input
Diffstat (limited to 'drivers/input/evdev.c')
-rw-r--r--drivers/input/evdev.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index 9b26ff99a414..906673ec5aa3 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -209,7 +209,7 @@ static int evdev_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
struct evdev *evdev = list->evdev;
struct input_dev *dev = evdev->handle.dev;
struct input_absinfo abs;
- int t, u, v;
+ int i, t, u, v;
if (!evdev->exist) return -ENODEV;
@@ -234,6 +234,9 @@ static int evdev_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
u = SET_INPUT_KEYCODE(dev, t, v);
clear_bit(u, dev->keybit);
set_bit(v, dev->keybit);
+ for (i = 0; i < dev->keycodemax; i++)
+ if (INPUT_KEYCODE(dev,i) == u)
+ set_bit(u, dev->keybit);
return 0;
case EVIOCSFF: