I have some problem. Every 3-5 second everything, that I input from keyboard became UPPERCASE only. I also have two keyboard layouts: us and ua. And when uppercase happens - I can't switch my keyboard layout (I use mod4 for switching).
This is my xmodmap output:
$ xmodmap
xmodmap: up to 3 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
I tried xmodmap -e "clear lock", but uppercase input still periodically turns on. I tried to disable Caps Lock key in "hardware way", putting insulator between keyboard contacts. But I doesn't help.
== Update == For A#1
Look, there is sticky Caps_Lock:
KeyPress event, serial 40, synthetic NO, window 0x2a00001,
root 0xaa, subw 0x0, time 30893676, (-254,229), root:(384,359),
state 0x2, keycode 39 (keysym 0x53, S), same_screen YES,
XLookupString gives 1 bytes: (53) "S"
XmbLookupString gives 1 bytes: (53) "S"
XFilterEvent returns: False
What I'm doing? First, I run florence (Virtual Keyoards) and turn off Caps_Lock key. Second, I type: xmodmap -e "clear lock". But it is very dirty hack :), you know. It works for few minutes or few hours.