This bug was apparently introduced in the userspace (evdev) in 12.04 rather than in the kernel. On Christopher Penalver's suggestion, I created a new bug report, https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1260513, in order to investigate this bug further. As described in post 20 in that bug report, the bug manifests itself in 12.04 but is not present in 11.10 as both 12.04 and 11.10 were tested with the same mainline kernel version.
The workaround in post #16 here appears to fix the bug in evdev.
This bug was apparently introduced in the userspace (evdev) in 12.04 rather than in the kernel. On Christopher Penalver's suggestion, I created a new bug report, https:/ /bugs.launchpad .net/ubuntu/ +source/ linux/+ bug/1260513, in order to investigate this bug further. As described in post 20 in that bug report, the bug manifests itself in 12.04 but is not present in 11.10 as both 12.04 and 11.10 were tested with the same mainline kernel version.
The workaround in post #16 here appears to fix the bug in evdev.