Maybe your using the incorrect keyboard mapping in your /etc/X11/XF86Config file.
Are you using a non-US or a unusual keyboard? By default I think it selects the pc104 us keyboard mapping.
You can change everything around, and X windows allows for complete control over all aspects of keyboard. Keymappings, macros, shortcuts blah blah blah.
So it can get pretty complicated pretty quick.
Check out:
man XF86Config-4
http://www.xfree86.org/current/XKB-Config2.html
and the
/etc/X11/xkb/rules/xfree86.lst files.
The xfree86.lst file contains the different mappings that X can use by default. Here is a selection of aviable options:
pc101 Generic 101-key PC
pc102 Generic 102-key (Intl) PC
pc104 Generic 104-key PC
pc105 Generic 105-key (Intl) PC
dell101 Dell 101-key PC
everex Everex STEPnote
flexpro Keytronic FlexPro
microsoft Microsoft Natural
....
Here is the section of the /etc/X11/XFree86-4 config file that controls keyboard activity:
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Generally you will have 2 InputDevice entries, one for the keyboard the other for the mouse.
Although I haven't ever seen anything do like that before, so it could just be a bug with your keyboard and not a misconfiguration.
Maybe it would be easiest to simply try a different keyboard.
Does it do the same thing when you switch to one of the virtual consoles? (ctrl-alt-F#, were F# = F1-F6)