I finally got my mouse and keyboard back. After changing profiles on Gentoo and doing a complete rebuild my mouse was totally unresponsive. Since I was running enlightenment I couldn’t really do much with the keyboard either. I checked my /var/log/Xorg.0.log and one very weird log message jumped out and caught my eye
AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled
My old installation had no such problem but I guess that’s what happens as you track the latest versions of things.
The solution is simple. You just need to add this line
Option "AllowEmptyInput" "false"
To your “ServerLayout” section. My Nvidia TwinView configuration is below, feel free to copy it as a known working configuration to base your own system on.
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder58) Tue Nov 4 17:18:57 PST 2008
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "AllowEmptyInput" "false"
EndSection
Section "Files"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
Load "dri"
EndSection
Section "dri"
Mode 0666
EndSection
Section "InputDevice"
# generated from data in "/etc/conf.d/gpm"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 30.0 - 110.0
VertRefresh 50.0 - 150.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 30.0 - 110.0
VertRefresh 50.0 - 150.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "PCI:1:0:0"
Screen 0
# other options I recommend:
Option "RenderAccel"
Option "HWcursor"
Option "CursorShadow"
Option "CursorShadowAlpha" "32"
Option "CursorShadowXOffset" "3"
Option "CursorShadowYOffset" "3"
# if you want Composite and GLX (they don't cooperate):
Option "AllowGLXWithComposite"
# the TwinView stuff
Option "TwinView"
Option "MetaModes" "1280x1024,1680x1050; 1280x1024,1280x1024; 1280x1024; 1024x768,1024x768; 1024x768; 800x600,800x600; 800x600"
Option "TwinViewOrientation" "RightOf"
Option "SecondMonitorHorizSync" "UseEdidFreqs"
Option "SecondMonitorVertRefresh" "UseEdidFreqs"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection