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)
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.