[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#322253: xserver-xorg: evdev ignores a key on pc102 keyboards



Package: xserver-xorg
Version: 6.8.2.dfsg.1-4
Severity: normal
Tags: patch

The evdev keyboard driver from 055_lnx_evdev_keyboard.diff sends
KEY_UNKNOWN when the "less greater bar"-key (EV_KEY_102ND) on a pc102
keyboard is pressed. A fixed version of the patch is attached to the
bug report.

regards
/Pär



-- Package-specific info:
Contents of /var/lib/xfree86/X.roster:
xserver-xfree86
xserver-xorg

/etc/X11/X target unchanged from checksum in /var/lib/xfree86/X.md5sum.

X server symlink status:
lrwxrwxrwx  1 root root 17 2005-07-23 15:06 /etc/X11/X -> /usr/bin/X11/Xorg
-rwxr-xr-x  1 root root 1835416 2005-07-24 15:13 /usr/bin/X11/Xorg

Contents of /var/lib/xfree86/xorg.conf.roster:
xserver-xorg

VGA-compatible devices on PCI bus:
0000:00:0a.0 VGA compatible controller: Matrox Graphics, Inc. MGA 1064SG [Mystique] (rev 03)
0000:01:05.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2)

/var/lib/xfree86/xorg.conf.md5sum does not exist.

Xorg X server configuration file status:
-rw-r--r--  1 root root 7452 2005-08-09 22:54 /etc/X11/xorg.conf

Contents of /etc/X11/xorg.conf:
# XF86Config-4 (XFree86 server configuration file) generated by Dexconf, the
# Debian X Configuration tool, using values from the debconf database.
#
# Edit this file with caution, and see the XF86Config manual page.
# (Type "man XF86Config" at the shell prompt.)


Section "Files"
	FontPath	"unix/:7101"	#xfstt (truetype fonts)
	FontPath	"unix/:7100"			# local font server
	FontPath	"unix/:7110"			# local font server
	# if the local font server has problems, we can fall back on these
	FontPath	"/usr/lib/X11/fonts/misc"
	FontPath	"/usr/lib/X11/fonts/cyrillic"
	FontPath	"/usr/lib/X11/fonts/100dpi/:unscaled"
	FontPath	"/usr/lib/X11/fonts/75dpi/:unscaled"
	FontPath	"/usr/lib/X11/fonts/Type1"
	FontPath	"/usr/lib/X11/fonts/Speedo"
	FontPath	"/usr/lib/X11/fonts/100dpi"
	FontPath	"/usr/lib/X11/fonts/75dpi"

	FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
	FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "ServerFlags"
#	Option "Xinerama" "true"
	Option "DefaultServerLayout" "DefaultServerLayout"
	Option "PciOsConfig" "1"
EndSection

Section "Module"
	
# nv:
#	Load	"GLcore"
#	Load	"dri"

# nvidia:
	Load	"glx"

	Load	"ddc"
	Load	"dbe"
	Load	"extmod"
	Load	"pex5"
	Load	"record"
	Load	"xie"
	Load	"bitmap"
	Load	"freetype"
	Load	"speedo"
	Load	"type1"
	Load	"vbe"
	Load	"int10"
#	Load    "v4l"
	Load	"vnc"
EndSection

#Section "InputDevice"
#	Identifier	"Generic Keyboard"
#	Driver		"keyboard"
#	Option		"CoreKeyboard"
#	Option		"XkbRules"	"xfree86"
#	Option		"XkbModel"	"pc102"
#	Option		"XkbLayout"	"fi"
#EndSection


Section "InputDevice"
    Identifier  "ps2-kbd"
    Driver      "kbd"
    Option      "Protocol"      "evdev"
#   Option      "Dev Name"      "AT Translated Set 2 keyboard"
    Option      "Dev Phys"      "isa0060/serio0/input0"
    Option      "XkbRules"      "xfree86"
    Option      "XkbModel"      "pc102"
    Option      "XkbLayout"     "fi"
EndSection

Section "InputDevice"
    Identifier  "ps2-aux"
    Driver      "kbd"
    Option      "Protocol"      "evdev"
#   Option      "Dev Name"      "AT Raw Set 2 keyboard"
    Option      "Dev Phys"      "isa0060/serio1/input0"
    Option      "XkbRules"      "xfree86"
    Option      "XkbModel"      "pc102"
    Option      "XkbLayout"     "fi"
EndSection



#Section "InputDevice"
#	Identifier	"Configured Mouse"
#	Driver		"mouse"
#	Option		"CorePointer"
#	Option		"Device"		"/dev/psaux"
#	Option		"Protocol"		"ImPS/2"
#	Option		"Emulate3Buttons"	"false"
#	Option		"ZAxisMapping"		"4 5"
#EndSection

Section "InputDevice"
	Identifier	"LogitechMouse"
	Driver		"mouse"
	Option		"CorePointer"
	Option		"SendCoreEvents"	"true"
	#Option		"Device"		"/dev/input/mice"
	#Option		"Protocol"		"ImPS/2"

	Option		"Protocol"		"evdev"
	Option		"Dev Name"		"Logitech USB Receiver"
#	Option		"Dev Phys"		"usb-*/input0"
	Option		"Emulate3Buttons"	"false"
	Option		"ZAxisMapping"		"4 5"
EndSection

Section "InputDevice"
	Identifier	"MicrosoftMouse"
	Driver		"mouse"
	Option		"CorePointer"
	Option		"SendCoreEvents"	"true"

	Option		"Protocol"		"evdev"
    Option "Dev Name" "Microsoft Microsoft 5-Button Mouse with IntelliEye(TM)"
#	Option		"Dev Phys"		"usb-*/input0"
	
	Option		"Emulate3Buttons"	"false"
	Option		"ZAxisMapping"		"4 5"
EndSection

Section "Device"
	Identifier	"NVIDIA GeForce2MX400"
#	Driver		"nv"
	Driver		"nvidia"
	BusID		"PCI:01:05:0"
	# Ignorera konstiga EDID-värden från Sun-skärmen:
	Option "IgnoreEDID" "true"
	Screen 0

# TwinView suger...
#	Option "TwinView" "on"
#	Option "TwinViewOrientation" "Clone"
#	Option "ConnectedMonitor" "CRT, TV"
#	Option "TVOutFormat" "COMPOSITE"
#	Option "MetaModes" "1500x1125_Sun,640x480"
EndSection

Section "Device"
	Identifier	"NVIDIA GeForce2MX400 TV"
	Driver		"nvidia"
	BusID		"PCI:01:05:0"
	Screen 1
	Option "ConnectedMonitor" "TV"
	Option "TVOutFormat" "COMPOSITE"
EndSection

Section "Device"
	Identifier	"Matrox Mystique"
	Driver		"mga"
	BusID		"PCI:00:10:0"
	VideoRam	4096
#	Option "Int10" "off"
#	Option "UseFBDev" "on"
EndSection

Section "Monitor"
	Identifier "GDM20E20"
	VendorName "CTX"
	ModelName "Sony Multiscan 20se"
	HorizSync 31.5 - 84.5
	VertRefresh 50.0 - 120.0
	Option "DPMS"
	Option "IgnoreEDID"
	DisplaySize 365 285

	# Modelines skapade mha:
	# http://koala.ilog.fr/cgi-bin/nph-colas-modelines
	ModeLine "1600x1200_Sun" 183.48 1600 1672 1928 2176 1200 1202 1214 1240 #68Hz
	ModeLine "1500x1125_Sun" 169.10 1500 1568 1824 2016 1125 1127 1139 1165 #72Hz
	# Konstig:
	ModeLine "1400x1050_Sun" 160.47 1400 1464 1720 1912 1050 1052 1064 1090 #77Hz 85
	ModeLine "1280x960_Sun"    135.00   1280 1296 1440 1664    960  985  988 1062 +hsync +vsync
EndSection


Section "Monitor"
	Identifier	"ADI 5P"
	HorizSync	30-70  # EDID = 30.000-69.000
	VertRefresh	50-120 # EDID = 50.000-120.000

	# Fixad för att vara centrerad på skärmen:
      	ModeLine "1280x960_70" 120.96 1280 1288 1544 1728 960 962 974 1000
	ModeLine "1152x864adi"    108.00   1152 1212 1340 1560    864  865  868  872 +hsync +vsync

	Option		"DPMS"
EndSection

Section "Monitor"
        Identifier      "GDM20D10"
        HorizSync       65-85
        VertRefresh     70-86
	Option		"DPMS"
	
        ModeLine "1280x960_Sun"    135.00   1280 1296 1440 1664    960  985  988 1062 +hsync +vsync
        ModeLine "1280x1024_Sun"   135.00   1280 1296 1440 1664   1024 1025 1028 1066 +hsync +vsync
EndSection

Section "Monitor"
	Identifier	"TV"
	HorizSync 30-50
	VertRefresh 49-60
	DisplaySize 569 427
	
	ModeLine "800x600_PAL"   36.0  800  800  804  960 600  653  655  750 #PAL
EndSection

Section "Monitor"
	DisplaySize  330 240
	HorizSync    30-60
	Identifier   "SDM-N50"
	ModelName    "SDM-N50"
	Option       "DPMS"
	VendorName   "SONY"
	VertRefresh  50-65
	UseModes     "SDM-N50 Modes"
	DisplaySize 305 230
EndSection
	Section "Modes"
	Identifier   "SDM-N50 Modes"
		Modeline      "1024x768" 67.48 1024 1096 1200 1360 768 769 772 797
		Modeline      "800x600" 40.19 800 832 912 1024 600 601 604 623
		Modeline      "640x480" 25.10 640 656 720 800 480 481 484 498
	EndSection


Section "Screen"
	Identifier	"NVIDIA Screen"
	Device		"NVIDIA GeForce2MX400"
	Monitor		"ADI 5P"
#	Monitor		"GDM20E20"
	DefaultDepth	16
	SubSection "Display"
		Depth		16
		# Modes "1400x1050_Sun" "1280x960_Sun" "1152x864" "1024x768" "800x600"
		Modes "1280x960_Sun" "1152x864" "1024x768" "800x600"
	EndSubSection
	Option "TVStandard" "PAL-G"
	# För vnc-modulen:
	Option "passwordFile" "/home/per/.vnc/passwd"
EndSection

Section "Screen"
	Identifier	"TV Screen"
	Device		"NVIDIA GeForce2MX400 TV"
	Monitor		"TV"
	DefaultDepth	16
	SubSection "Display"
		Depth	16
		Modes	"800x600_PAL"
	EndSubSection
	Option "TVStandard" "PAL-G"
EndSection

Section "Screen"
	Identifier 	"Matrox Screen"
	Device          "Matrox Mystique"
	Monitor         "SDM-N50"
	DefaultDepth 	16
	Subsection "Display"
		Depth           16
		Modes           "1024x768" "800x600" "640x480"
	EndSubsection
EndSection 

Section "ServerLayout"
	Identifier	"Matrox"
	Screen 0	"Matrox Screen"
	InputDevice     "ps2-aux" "CoreKeyboard"
	InputDevice     "MicrosoftMouse"
	Option         "SingleCard" "true"
EndSection			

Section "ServerLayout"
	Identifier	"DefaultServerLayout"
	Screen 0	"NVIDIA Screen"
	Screen 1	"TV Screen" Below "NVIDIA Screen"
#	Screen 1	"Matrox Screen" RightOf "Default Screen"
	InputDevice	"ps2-kbd" "CoreKeyboard"
	InputDevice	"LogitechMouse"
	Option         "SingleCard" "true"
EndSection

Section "DRI"
	Mode	0666
EndSection

# end of XF86Config


Xorg X server log files on system:
-rw-r--r--  1 root root 34297 2005-08-08 07:37 /var/log/Xorg.1.log
-rw-r--r--  1 root root 42916 2005-08-09 23:02 /var/log/Xorg.0.log

Contents of most recent Xorg X server log file
/var/log/Xorg.0.log:

X Window System Version 6.8.2 (Debian 6.8.2.dfsg.1-4 20050724105404 per@haglund.visit.se)
Release Date: 9 February 2005
X Protocol Version 11, Revision 0, Release 6.8.2
Build Operating System: Linux 2.6.12.3 i686 [ELF] 
Current Operating System: Linux p250 2.6.12.3 #1 Wed Jul 20 13:25:03 CEST 2005 i686
Build Date: 24 July 2005
	Before reporting problems, check http://wiki.X.Org
	to make sure that you have the latest version.
Module Loader present
OS Kernel: Linux version 2.6.12.3 (per@p250) (gcc version 3.4.5 20050706 (prerelease) (Debian 3.4.4-5)) #1 Wed Jul 20 13:25:03 CEST 2005 TF
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Aug  9 23:02:02 2005
(==) Using config file: "/etc/X11/xorg.conf"
(**) Option "defaultserverlayout" "DefaultServerLayout"
(**) ServerLayout "DefaultServerLayout"
(**) |-->Screen "NVIDIA Screen" (0)
(**) |   |-->Monitor "ADI 5P"
(**) |   |-->Device "NVIDIA GeForce2MX400"
(**) |-->Screen "TV Screen" (1)
(**) |   |-->Monitor "TV"
(**) |   |-->Device "NVIDIA GeForce2MX400 TV"
(**) |-->Input Device "ps2-kbd"
(**) |-->Input Device "LogitechMouse"
(**) Option "SingleCard" "true"
(II) Isolating PCI bus "1:5:0"
(WW) `fonts.dir' not found (or not valid) in "/usr/lib/X11/fonts/cyrillic".
	Entry deleted from font path.
	(Run 'mkfontdir' on "/usr/lib/X11/fonts/cyrillic").
(WW) `fonts.dir' not found (or not valid) in "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID".
	Entry deleted from font path.
	(Run 'mkfontdir' on "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID").
(**) FontPath set to "unix/:7101,unix/:7100,unix/:7110,/usr/lib/X11/fonts/misc,/usr/lib/X11/fonts/100dpi/:unscaled,/usr/lib/X11/fonts/75dpi/:unscaled,/usr/lib/X11/fonts/Type1,/usr/lib/X11/fonts/Speedo,/usr/lib/X11/fonts/100dpi,/usr/lib/X11/fonts/75dpi,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
(==) RgbPath set to "/usr/X11R6/lib/X11/rgb"
(==) ModulePath set to "/usr/X11R6/lib/modules"
(**) Option "PciOsConfig" "1"
(WW) Open APM failed (/dev/apm_bios) (No such device)
(II) Module ABI versions:
	X.Org ANSI C Emulation: 0.2
	X.Org Video Driver: 0.7
	X.Org XInput driver : 0.4
	X.Org Server Extension : 0.2
	X.Org Font Renderer : 0.4
(II) Loader running on linux
(II) LoadModule: "bitmap"
(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a
(II) Module bitmap: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	Module class: X.Org Font Renderer
	ABI class: X.Org Font Renderer, version 0.4
(II) Loading font Bitmap
(II) LoadModule: "pcidata"
(II) Loading /usr/X11R6/lib/modules/libpcidata.a
(II) Module pcidata: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	ABI class: X.Org Video Driver, version 0.7
(++) using VT number 7

(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:00:0: chip 1022,700e card 0000,0000 rev 13 class 06,00,00 hdr 00
(II) PCI: 00:01:0: chip 1022,700f card 0000,0000 rev 00 class 06,04,00 hdr 01
(II) PCI: 00:07:0: chip 1106,0686 card 1106,0686 rev 40 class 06,01,00 hdr 80
(II) PCI: 00:07:1: chip 1106,0571 card 1106,0571 rev 06 class 01,01,8a hdr 00
(II) PCI: 00:07:2: chip 1106,3038 card 0925,1234 rev 1a class 0c,03,00 hdr 00
(II) PCI: 00:07:3: chip 1106,3038 card 0925,1234 rev 1a class 0c,03,00 hdr 00
(II) PCI: 00:07:4: chip 1106,3057 card 1106,3057 rev 40 class 0c,05,00 hdr 00
(II) PCI: 00:0a:0: chip 102b,051a card 102b,051a rev 03 class 03,00,00 hdr 00
(II) PCI: 00:0c:0: chip 10b7,9200 card 10b7,1000 rev 6c class 02,00,00 hdr 00
(II) PCI: 00:0d:0: chip 10b7,9055 card 10b7,9055 rev 30 class 02,00,00 hdr 00
(II) PCI: 00:0e:0: chip 1274,5880 card 1274,2000 rev 02 class 04,01,00 hdr 00
(II) PCI: 00:0f:0: chip 1102,0002 card 1102,8061 rev 07 class 04,01,00 hdr 80
(II) PCI: 00:0f:1: chip 1102,7002 card 1102,0020 rev 07 class 09,80,00 hdr 80
(II) PCI: 00:10:0: chip 105a,0d30 card 105a,4d33 rev 02 class 01,80,00 hdr 00
(II) PCI: 01:05:0: chip 10de,0110 card 1043,4031 rev b2 class 03,00,00 hdr 00
(II) PCI: End of PCI scan
(II) Host-to-PCI bridge:
(II) Bus 0: bridge is at (0:0:0), (0,0,1), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 0 I/O range:
	[0] -1	0	0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) Bus 0 non-prefetchable memory range:
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX[B]
(II) Bus 0 prefetchable memory range:
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX[B]
(II) PCI-to-PCI bridge:
(II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x0006 (VGA_EN is cleared)
(II) Bus 1 non-prefetchable memory range:
	[0] -1	0	0xdc000000 - 0xddffffff (0x2000000) MX[B]
(II) Bus 1 prefetchable memory range:
	[0] -1	0	0xd0000000 - 0xd7ffffff (0x8000000) MX[B]
(II) PCI-to-ISA bridge:
(II) Bus -1: bridge is at (0:7:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)
(--) PCI:*(1:5:0) nVidia Corporation NV11 [GeForce2 MX/MX 400] rev 178, Mem @ 0xdc000000/24, 0xd0000000/27
(II) Addressable bus resource ranges are
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX[B]
	[1] -1	0	0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) OS-reported resource ranges:
	[0] -1	0	0xffe00000 - 0xffffffff (0x200000) MX[B](B)
	[1] -1	0	0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
	[2] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[3] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[4] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[5] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[6] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
(II) PCI Memory resource overlap reduced 0xd8000000 from 0xdbffffff to 0xd7ffffff
(II) PCI Memory resource overlap reduced 0xe2022000 from 0xe2022fff to 0xe2021fff
(II) PCI I/O resource overlap reduced 0x0000a000 from 0x0000a003 to 0x00009fff
(II) Active PCI resource ranges:
	[0] -1	0	0xe2000000 - 0xe201ffff (0x20000) MX[B]
	[1] -1	0	0xe2021000 - 0xe202107f (0x80) MX[B]
	[2] -1	0	0xe2020000 - 0xe202007f (0x80) MX[B]
	[3] -1	0	0xe2022000 - 0xe2021fff (0x0) MX[B]O
	[4] -1	0	0xd8000000 - 0xd7ffffff (0x0) MX[B]O
	[5] -1	0	0xd0000000 - 0xd7ffffff (0x8000000) MX[B](B)
	[6] -1	0	0xdc000000 - 0xdcffffff (0x1000000) MX[B](B)
	[7] -1	0	0x0000e400 - 0x0000e43f (0x40) IX[B]
	[8] -1	0	0x0000e000 - 0x0000e003 (0x4) IX[B]
	[9] -1	0	0x0000dc00 - 0x0000dc07 (0x8) IX[B]
	[10] -1	0	0x0000d800 - 0x0000d803 (0x4) IX[B]
	[11] -1	0	0x0000d400 - 0x0000d407 (0x8) IX[B]
	[12] -1	0	0x0000d000 - 0x0000d007 (0x8) IX[B]
	[13] -1	0	0x0000cc00 - 0x0000cc1f (0x20) IX[B]
	[14] -1	0	0x0000c800 - 0x0000c83f (0x40) IX[B]
	[15] -1	0	0x0000c400 - 0x0000c47f (0x80) IX[B]
	[16] -1	0	0x0000c000 - 0x0000c07f (0x80) IX[B]
	[17] -1	0	0x0000ac00 - 0x0000ac1f (0x20) IX[B]
	[18] -1	0	0x0000a800 - 0x0000a81f (0x20) IX[B]
	[19] -1	0	0x0000a400 - 0x0000a40f (0x10) IX[B]
(II) Inactive PCI resource ranges:
	[0] -1	0	0x0000a000 - 0x00009fff (0x0) IX[B]O
(II) Active PCI resource ranges after removing overlaps:
	[0] -1	0	0xe2000000 - 0xe201ffff (0x20000) MX[B]
	[1] -1	0	0xe2021000 - 0xe202107f (0x80) MX[B]
	[2] -1	0	0xe2020000 - 0xe202007f (0x80) MX[B]
	[3] -1	0	0xe2022000 - 0xe2021fff (0x0) MX[B]O
	[4] -1	0	0xd8000000 - 0xd7ffffff (0x0) MX[B]O
	[5] -1	0	0xd0000000 - 0xd7ffffff (0x8000000) MX[B](B)
	[6] -1	0	0xdc000000 - 0xdcffffff (0x1000000) MX[B](B)
	[7] -1	0	0x0000e400 - 0x0000e43f (0x40) IX[B]
	[8] -1	0	0x0000e000 - 0x0000e003 (0x4) IX[B]
	[9] -1	0	0x0000dc00 - 0x0000dc07 (0x8) IX[B]
	[10] -1	0	0x0000d800 - 0x0000d803 (0x4) IX[B]
	[11] -1	0	0x0000d400 - 0x0000d407 (0x8) IX[B]
	[12] -1	0	0x0000d000 - 0x0000d007 (0x8) IX[B]
	[13] -1	0	0x0000cc00 - 0x0000cc1f (0x20) IX[B]
	[14] -1	0	0x0000c800 - 0x0000c83f (0x40) IX[B]
	[15] -1	0	0x0000c400 - 0x0000c47f (0x80) IX[B]
	[16] -1	0	0x0000c000 - 0x0000c07f (0x80) IX[B]
	[17] -1	0	0x0000ac00 - 0x0000ac1f (0x20) IX[B]
	[18] -1	0	0x0000a800 - 0x0000a81f (0x20) IX[B]
	[19] -1	0	0x0000a400 - 0x0000a40f (0x10) IX[B]
(II) Inactive PCI resource ranges after removing overlaps:
	[0] -1	0	0x0000a000 - 0x00009fff (0x0) IX[B]O
(II) OS-reported resource ranges after removing overlaps with PCI:
	[0] -1	0	0xffe00000 - 0xffffffff (0x200000) MX[B](B)
	[1] -1	0	0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
	[2] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[3] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[4] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[5] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[6] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
(II) All system resource ranges:
	[0] -1	0	0xffe00000 - 0xffffffff (0x200000) MX[B](B)
	[1] -1	0	0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
	[2] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[3] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[4] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[5] -1	0	0xe2000000 - 0xe201ffff (0x20000) MX[B]
	[6] -1	0	0xe2021000 - 0xe202107f (0x80) MX[B]
	[7] -1	0	0xe2020000 - 0xe202007f (0x80) MX[B]
	[8] -1	0	0xe2022000 - 0xe2021fff (0x0) MX[B]O
	[9] -1	0	0xd8000000 - 0xd7ffffff (0x0) MX[B]O
	[10] -1	0	0xd0000000 - 0xd7ffffff (0x8000000) MX[B](B)
	[11] -1	0	0xdc000000 - 0xdcffffff (0x1000000) MX[B](B)
	[12] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[13] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
	[14] -1	0	0x0000e400 - 0x0000e43f (0x40) IX[B]
	[15] -1	0	0x0000e000 - 0x0000e003 (0x4) IX[B]
	[16] -1	0	0x0000dc00 - 0x0000dc07 (0x8) IX[B]
	[17] -1	0	0x0000d800 - 0x0000d803 (0x4) IX[B]
	[18] -1	0	0x0000d400 - 0x0000d407 (0x8) IX[B]
	[19] -1	0	0x0000d000 - 0x0000d007 (0x8) IX[B]
	[20] -1	0	0x0000cc00 - 0x0000cc1f (0x20) IX[B]
	[21] -1	0	0x0000c800 - 0x0000c83f (0x40) IX[B]
	[22] -1	0	0x0000c400 - 0x0000c47f (0x80) IX[B]
	[23] -1	0	0x0000c000 - 0x0000c07f (0x80) IX[B]
	[24] -1	0	0x0000ac00 - 0x0000ac1f (0x20) IX[B]
	[25] -1	0	0x0000a800 - 0x0000a81f (0x20) IX[B]
	[26] -1	0	0x0000a400 - 0x0000a40f (0x10) IX[B]
	[27] -1	0	0x0000a000 - 0x00009fff (0x0) IX[B]O
(WW) Ignoring request to load module speedo
(II) LoadModule: "glx"
(II) Loading /usr/X11R6/lib/modules/extensions/libglx.so
(II) Module glx: vendor="NVIDIA Corporation"
	compiled for 4.0.2, module version = 1.0.7174
	Module class: XFree86 Server Extension
	ABI class: XFree86 Server Extension, version 0.1
(II) Loading extension GLX
(II) LoadModule: "ddc"
(II) Loading /usr/X11R6/lib/modules/libddc.a
(II) Module ddc: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	ABI class: X.Org Video Driver, version 0.7
(II) LoadModule: "dbe"
(II) Loading /usr/X11R6/lib/modules/extensions/libdbe.a
(II) Module dbe: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.2
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "extmod"
(II) Loading /usr/X11R6/lib/modules/extensions/libextmod.a
(II) Module extmod: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.2
(II) Loading extension SHAPE
(II) Loading extension MIT-SUNDRY-NONSTANDARD
(II) Loading extension BIG-REQUESTS
(II) Loading extension SYNC
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XC-MISC
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-Misc
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension FontCache
(II) Loading extension TOG-CUP
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "pex5"
(WW) Warning, couldn't open module pex5
(II) UnloadModule: "pex5"
(EE) Failed to load module "pex5" (module does not exist, 0)
(II) LoadModule: "record"
(II) Loading /usr/X11R6/lib/modules/extensions/librecord.a
(II) Module record: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.13.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.2
(II) Loading extension RECORD
(II) LoadModule: "xie"
(WW) Warning, couldn't open module xie
(II) UnloadModule: "xie"
(EE) Failed to load module "xie" (module does not exist, 0)
(II) LoadModule: "bitmap"
(II) Reloading /usr/X11R6/lib/modules/fonts/libbitmap.a
(II) Loading font Bitmap
(II) LoadModule: "freetype"
(II) Loading /usr/X11R6/lib/modules/fonts/libfreetype.a
(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
	compiled for 6.8.2, module version = 2.1.0
	Module class: X.Org Font Renderer
	ABI class: X.Org Font Renderer, version 0.4
(II) Loading font FreeType
(II) LoadModule: "type1"
(II) Loading /usr/X11R6/lib/modules/fonts/libtype1.a
(II) Module type1: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.2
	Module class: X.Org Font Renderer
	ABI class: X.Org Font Renderer, version 0.4
(II) Loading font Type1
(II) Loading font CID
(II) LoadModule: "vbe"
(II) Loading /usr/X11R6/lib/modules/libvbe.a
(II) Module vbe: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.1.0
	ABI class: X.Org Video Driver, version 0.7
(II) LoadModule: "int10"
(II) Loading /usr/X11R6/lib/modules/linux/libint10.a
(II) Module int10: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	ABI class: X.Org Video Driver, version 0.7
(II) LoadModule: "vnc"
(WW) Warning, couldn't open module vnc
(II) UnloadModule: "vnc"
(EE) Failed to load module "vnc" (module does not exist, 0)
(II) LoadModule: "nvidia"
(II) Loading /usr/X11R6/lib/modules/drivers/nvidia_drv.o
(II) Module nvidia: vendor="NVIDIA Corporation"
	compiled for 4.0.2, module version = 1.0.7174
	Module class: XFree86 Video Driver
(II) LoadModule: "kbd"
(II) Loading /usr/X11R6/lib/modules/input/kbd_drv.o
(II) Module kbd: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 0.4
(II) LoadModule: "mouse"
(II) Loading /usr/X11R6/lib/modules/input/mouse_drv.o
(II) Module mouse: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 0.4
(II) NVIDIA X Driver  1.0-7174  Tue Mar 22 06:48:37 PST 2005
(II) NVIDIA Unified Driver for all NVIDIA GPUs
(II) Primary Device is: PCI 01:05:0
(--) Chipset NVIDIA GPU found
(--) Chipset NVIDIA GPU found
(II) resource ranges after xf86ClaimFixedResources() call:
	[0] -1	0	0xffe00000 - 0xffffffff (0x200000) MX[B](B)
	[1] -1	0	0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
	[2] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[3] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[4] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[5] -1	0	0xe2000000 - 0xe201ffff (0x20000) MX[B]
	[6] -1	0	0xe2021000 - 0xe202107f (0x80) MX[B]
	[7] -1	0	0xe2020000 - 0xe202007f (0x80) MX[B]
	[8] -1	0	0xe2022000 - 0xe2021fff (0x0) MX[B]O
	[9] -1	0	0xd8000000 - 0xd7ffffff (0x0) MX[B]O
	[10] -1	0	0xd0000000 - 0xd7ffffff (0x8000000) MX[B](B)
	[11] -1	0	0xdc000000 - 0xdcffffff (0x1000000) MX[B](B)
	[12] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[13] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
	[14] -1	0	0x0000e400 - 0x0000e43f (0x40) IX[B]
	[15] -1	0	0x0000e000 - 0x0000e003 (0x4) IX[B]
	[16] -1	0	0x0000dc00 - 0x0000dc07 (0x8) IX[B]
	[17] -1	0	0x0000d800 - 0x0000d803 (0x4) IX[B]
	[18] -1	0	0x0000d400 - 0x0000d407 (0x8) IX[B]
	[19] -1	0	0x0000d000 - 0x0000d007 (0x8) IX[B]
	[20] -1	0	0x0000cc00 - 0x0000cc1f (0x20) IX[B]
	[21] -1	0	0x0000c800 - 0x0000c83f (0x40) IX[B]
	[22] -1	0	0x0000c400 - 0x0000c47f (0x80) IX[B]
	[23] -1	0	0x0000c000 - 0x0000c07f (0x80) IX[B]
	[24] -1	0	0x0000ac00 - 0x0000ac1f (0x20) IX[B]
	[25] -1	0	0x0000a800 - 0x0000a81f (0x20) IX[B]
	[26] -1	0	0x0000a400 - 0x0000a40f (0x10) IX[B]
	[27] -1	0	0x0000a000 - 0x00009fff (0x0) IX[B]O
(II) resource ranges after probing:
	[0] -1	0	0xffe00000 - 0xffffffff (0x200000) MX[B](B)
	[1] -1	0	0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
	[2] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[3] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[4] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[5] -1	0	0xe2000000 - 0xe201ffff (0x20000) MX[B]
	[6] -1	0	0xe2021000 - 0xe202107f (0x80) MX[B]
	[7] -1	0	0xe2020000 - 0xe202007f (0x80) MX[B]
	[8] -1	0	0xe2022000 - 0xe2021fff (0x0) MX[B]O
	[9] -1	0	0xd8000000 - 0xd7ffffff (0x0) MX[B]O
	[10] -1	0	0xd0000000 - 0xd7ffffff (0x8000000) MX[B](B)
	[11] -1	0	0xdc000000 - 0xdcffffff (0x1000000) MX[B](B)
	[12] 0	0	0x000a0000 - 0x000affff (0x10000) MS[B]
	[13] 0	0	0x000b0000 - 0x000b7fff (0x8000) MS[B]
	[14] 0	0	0x000b8000 - 0x000bffff (0x8000) MS[B]
	[15] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[16] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
	[17] -1	0	0x0000e400 - 0x0000e43f (0x40) IX[B]
	[18] -1	0	0x0000e000 - 0x0000e003 (0x4) IX[B]
	[19] -1	0	0x0000dc00 - 0x0000dc07 (0x8) IX[B]
	[20] -1	0	0x0000d800 - 0x0000d803 (0x4) IX[B]
	[21] -1	0	0x0000d400 - 0x0000d407 (0x8) IX[B]
	[22] -1	0	0x0000d000 - 0x0000d007 (0x8) IX[B]
	[23] -1	0	0x0000cc00 - 0x0000cc1f (0x20) IX[B]
	[24] -1	0	0x0000c800 - 0x0000c83f (0x40) IX[B]
	[25] -1	0	0x0000c400 - 0x0000c47f (0x80) IX[B]
	[26] -1	0	0x0000c000 - 0x0000c07f (0x80) IX[B]
	[27] -1	0	0x0000ac00 - 0x0000ac1f (0x20) IX[B]
	[28] -1	0	0x0000a800 - 0x0000a81f (0x20) IX[B]
	[29] -1	0	0x0000a400 - 0x0000a40f (0x10) IX[B]
	[30] -1	0	0x0000a000 - 0x00009fff (0x0) IX[B]O
	[31] 0	0	0x000003b0 - 0x000003bb (0xc) IS[B]
	[32] 0	0	0x000003c0 - 0x000003df (0x20) IS[B]
(II) Setting vga for screen 0.
(II) Setting vga for screen 1.
(**) NVIDIA(0): Depth 16, (--) framebuffer bpp 16
(==) NVIDIA(0): RGB weight 565
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(**) NVIDIA(0): Option "IgnoreEDID" "true"
(**) NVIDIA(0): Option "TVStandard" "PAL-G"
(**) NVIDIA(0): Ignoring EDIDs
(**) NVIDIA(0): TV Standard string: "PAL-G"
(--) NVIDIA(0): Linear framebuffer at 0xD0000000
(--) NVIDIA(0): MMIO registers at 0xDC000000
(II) NVIDIA(0): NVIDIA GPU detected as: GeForce2 MX/MX 400
(--) NVIDIA(0): VideoBIOS: 03.11.01.24.00
(--) NVIDIA(0): Interlaced video modes are not supported on this GPU
(II) NVIDIA(0): Detected AGP rate: 4X
(--) NVIDIA(0): VideoRAM: 32768 kBytes
(II) NVIDIA(0): Connected display device(s): CRT-0, TV-0
(WW) NVIDIA(0): Multiple displays connected, but only one display allowed;
(WW) NVIDIA(0):      using first display
(--) NVIDIA(0): Display device CRT-0: maximum pixel clock at  8 bpp: 350 MHz
(--) NVIDIA(0): Display device CRT-0: maximum pixel clock at 16 bpp: 350 MHz
(--) NVIDIA(0): Display device CRT-0: maximum pixel clock at 32 bpp: 300 MHz
(II) NVIDIA(0): Not probing EDIDs.
(II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Reloading /usr/X11R6/lib/modules/linux/libint10.a
(II) NVIDIA(0): Primary V_BIOS segment is: 0xc000
(II) NVIDIA(0): ADI 5P: Using hsync range of 30.00-70.00 kHz
(II) NVIDIA(0): ADI 5P: Using vrefresh range of 50.00-120.00 Hz
(II) NVIDIA(0): Clock range:  12.00 to 350.00 MHz
(II) NVIDIA(0): Not using default mode "1024x768" (bad mode clock/interlace/doublescan)
(II) NVIDIA(0): Not using default mode "512x384" (bad mode clock/interlace/doublescan)
(II) NVIDIA(0): Not using default mode "1280x960" (hsync out of range)
(II) NVIDIA(0): Not using default mode "640x480" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1280x1024" (hsync out of range)
(II) NVIDIA(0): Not using default mode "640x512" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1280x1024" (hsync out of range)
(II) NVIDIA(0): Not using default mode "640x512" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1600x1200" (hsync out of range)
(II) NVIDIA(0): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1600x1200" (hsync out of range)
(II) NVIDIA(0): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1600x1200" (hsync out of range)
(II) NVIDIA(0): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1600x1200" (hsync out of range)
(II) NVIDIA(0): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1600x1200" (hsync out of range)
(II) NVIDIA(0): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1792x1344" (hsync out of range)
(II) NVIDIA(0): Not using default mode "896x672" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1792x1344" (hsync out of range)
(II) NVIDIA(0): Not using default mode "896x672" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1856x1392" (hsync out of range)
(II) NVIDIA(0): Not using default mode "928x696" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1856x1392" (hsync out of range)
(II) NVIDIA(0): Not using default mode "928x696" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1920x1440" (hsync out of range)
(II) NVIDIA(0): Not using default mode "960x720" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1920x1440" (hsync out of range)
(II) NVIDIA(0): Not using default mode "960x720" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1152x864" (hsync out of range)
(II) NVIDIA(0): Not using default mode "576x432" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1400x1050" (hsync out of range)
(II) NVIDIA(0): Not using default mode "700x525" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1400x1050" (hsync out of range)
(II) NVIDIA(0): Not using default mode "700x525" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1400x1050" (hsync out of range)
(II) NVIDIA(0): Not using default mode "700x525" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1920x1200" (hsync out of range)
(II) NVIDIA(0): Not using default mode "960x600" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1920x1200" (hsync out of range)
(II) NVIDIA(0): Not using default mode "960x600" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1920x1440" (hsync out of range)
(II) NVIDIA(0): Not using default mode "960x720" (hsync out of range)
(II) NVIDIA(0): Not using default mode "2048x1536" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1024x768" (hsync out of range)
(II) NVIDIA(0): Not using default mode "2048x1536" (hsync out of range)
(II) NVIDIA(0): Not using default mode "1024x768" (hsync out of range)
(II) NVIDIA(0): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)
(II) NVIDIA(0): Not using default mode "1024x768" (hsync out of range)
(II) NVIDIA(0): Not using mode "1280x960_Sun" (no mode of this name)
(II) NVIDIA(0): Not using default mode "1680x1050" (width too large for virtual size)
(II) NVIDIA(0): Not using default mode "1400x1050" (width too large for virtual size)
(II) NVIDIA(0): Not using default mode "1280x1024" (width too large for virtual size)
(II) NVIDIA(0): Not using default mode "1440x900" (width too large for virtual size)
(II) NVIDIA(0): Not using mode "1280x960_70" (width too large for virtual size)
(II) NVIDIA(0): Not using default mode "1280x960" (width too large for virtual size)
(II) NVIDIA(0): Not using default mode "1280x800" (width too large for virtual size)
(II) NVIDIA(0): Not using default mode "1280x768" (width too large for virtual size)
(WW) NVIDIA(0): Not using mode "1152x768":
(WW) NVIDIA(0):   horizontal sync start (1178) not a multiple of 8
(WW) NVIDIA(0): Not using mode "576x384":
(WW) NVIDIA(0):   horizontal sync start (589) not a multiple of 8
(WW) NVIDIA(0): Not using mode "360x200":
(WW) NVIDIA(0):   horizontal sync start (378) not a multiple of 8
(**) NVIDIA(0): Validated modes for display device CRT-0:
(**) NVIDIA(0):      Default mode "1152x864": 108.0 MHz, 67.5 kHz, 75.0 Hz
(**) NVIDIA(0):      Default mode "1024x768": 94.5 MHz, 68.7 kHz, 85.0 Hz
(**) NVIDIA(0):      Default mode "800x600": 56.3 MHz, 53.7 kHz, 85.1 Hz
(**) NVIDIA(0):      Mode "1152x864adi": 108.0 MHz, 69.2 kHz, 79.4 Hz
(**) NVIDIA(0):      Default mode "1024x768": 78.8 MHz, 60.1 kHz, 75.1 Hz
(**) NVIDIA(0):      Default mode "1024x768": 75.0 MHz, 56.5 kHz, 70.1 Hz
(**) NVIDIA(0):      Default mode "1024x768": 65.0 MHz, 48.4 kHz, 60.0 Hz
(**) NVIDIA(0):      Default mode "832x624": 57.3 MHz, 49.7 kHz, 74.6 Hz
(**) NVIDIA(0):      Default mode "800x600": 49.5 MHz, 46.9 kHz, 75.0 Hz
(**) NVIDIA(0):      Default mode "800x600": 50.0 MHz, 48.1 kHz, 72.2 Hz
(**) NVIDIA(0):      Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
(**) NVIDIA(0):      Default mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz
(**) NVIDIA(0):      Default mode "840x525": 73.6 MHz, 65.2 kHz, 60.1 Hz (D)
(**) NVIDIA(0):      Default mode "700x525": 61.0 MHz, 64.9 kHz, 60.0 Hz (D)
(**) NVIDIA(0):      Default mode "640x512": 54.0 MHz, 64.0 kHz, 60.0 Hz (D)
(**) NVIDIA(0):      Default mode "720x450": 54.4 MHz, 56.9 kHz, 60.2 Hz (D)
(**) NVIDIA(0):      Default mode "640x480": 36.0 MHz, 43.3 kHz, 85.0 Hz
(**) NVIDIA(0):      Default mode "640x480": 31.5 MHz, 37.5 kHz, 75.0 Hz
(**) NVIDIA(0):      Default mode "640x480": 31.5 MHz, 37.9 kHz, 72.8 Hz
(**) NVIDIA(0):      Default mode "640x480": 25.2 MHz, 31.5 kHz, 60.0 Hz
(**) NVIDIA(0):      Default mode "640x480": 54.0 MHz, 60.0 kHz, 60.0 Hz (D)
(**) NVIDIA(0):      Default mode "720x400": 35.5 MHz, 37.9 kHz, 85.0 Hz
(**) NVIDIA(0):      Default mode "640x400": 31.5 MHz, 37.9 kHz, 85.1 Hz
(**) NVIDIA(0):      Default mode "640x400": 41.7 MHz, 49.7 kHz, 60.0 Hz (D)
(**) NVIDIA(0):      Default mode "576x432": 54.0 MHz, 67.5 kHz, 75.0 Hz (D)
(**) NVIDIA(0):      Default mode "640x384": 40.1 MHz, 47.7 kHz, 60.1 Hz (D)
(**) NVIDIA(0):      Default mode "640x350": 31.5 MHz, 37.9 kHz, 85.1 Hz
(**) NVIDIA(0):      Default mode "512x384": 47.2 MHz, 68.7 kHz, 85.0 Hz (D)
(**) NVIDIA(0):      Default mode "512x384": 39.4 MHz, 60.1 kHz, 75.1 Hz (D)
(**) NVIDIA(0):      Default mode "512x384": 37.5 MHz, 56.5 kHz, 70.1 Hz (D)
(**) NVIDIA(0):      Default mode "512x384": 32.5 MHz, 48.4 kHz, 60.0 Hz (D)
(**) NVIDIA(0):      Default mode "416x312": 28.6 MHz, 49.7 kHz, 74.7 Hz (D)
(**) NVIDIA(0):      Default mode "400x300": 28.1 MHz, 53.7 kHz, 85.3 Hz (D)
(**) NVIDIA(0):      Default mode "400x300": 24.8 MHz, 46.9 kHz, 75.1 Hz (D)
(**) NVIDIA(0):      Default mode "400x300": 25.0 MHz, 48.1 kHz, 72.2 Hz (D)
(**) NVIDIA(0):      Default mode "400x300": 20.0 MHz, 37.9 kHz, 60.3 Hz (D)
(**) NVIDIA(0):      Default mode "400x300": 18.0 MHz, 35.2 kHz, 56.3 Hz (D)
(**) NVIDIA(0):      Default mode "320x240": 18.0 MHz, 43.3 kHz, 85.2 Hz (D)
(**) NVIDIA(0):      Default mode "320x240": 15.8 MHz, 37.5 kHz, 75.0 Hz (D)
(**) NVIDIA(0):      Default mode "320x240": 15.8 MHz, 37.9 kHz, 72.8 Hz (D)
(**) NVIDIA(0):      Default mode "320x240": 12.6 MHz, 31.5 kHz, 60.1 Hz (D)
(**) NVIDIA(0):      Default mode "320x200": 15.8 MHz, 37.9 kHz, 85.3 Hz (D)
(**) NVIDIA(0):      Default mode "320x175": 15.8 MHz, 37.9 kHz, 85.3 Hz (D)
(II) NVIDIA(0): Virtual screen size determined to be 1152 x 864
(==) NVIDIA(0): DPI set to (75, 75)
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/X11R6/lib/modules/libfb.a
Skipping "/usr/X11R6/lib/modules/libfb.a:fbmmx.o":  No symbols found
(II) Module fb: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	ABI class: X.Org ANSI C Emulation, version 0.2
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"
(II) Loading /usr/X11R6/lib/modules/libramdac.a
(II) Module ramdac: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 0.1.0
	ABI class: X.Org Video Driver, version 0.7
(**) NVIDIA(1): Depth 16, (--) framebuffer bpp 16
(==) NVIDIA(1): RGB weight 565
(==) NVIDIA(1): Default visual is TrueColor
(==) NVIDIA(1): Using gamma correction (1.0, 1.0, 1.0)
(**) NVIDIA(1): Option "ConnectedMonitor" "TV"
(**) NVIDIA(1): Option "TVStandard" "PAL-G"
(**) NVIDIA(1): Option "TVOutFormat" "COMPOSITE"
(**) NVIDIA(1): Forcing COMPOSITE video output
(**) NVIDIA(1): ConnectedMonitor string: "TV"
(**) NVIDIA(1): TV Standard string: "PAL-G"
(--) NVIDIA(1): Linear framebuffer at 0xD0000000
(--) NVIDIA(1): MMIO registers at 0xDC000000
(II) NVIDIA(1): NVIDIA GPU detected as: GeForce2 MX/MX 400
(--) NVIDIA(1): VideoBIOS: 03.11.01.24.00
(--) NVIDIA(1): Interlaced video modes are not supported on this GPU
(II) NVIDIA(1): Detected AGP rate: 4X
(--) NVIDIA(1): VideoRAM: 32768 kBytes
(II) NVIDIA(1): Using ConnectedMonitor string "TV-0"
(--) NVIDIA(1): Detected TV Encoder: Brooktree 871
(--) NVIDIA(1): Display device TV-0: maximum pixel clock at  8 bpp: 350 MHz
(--) NVIDIA(1): Display device TV-0: maximum pixel clock at 16 bpp: 350 MHz
(--) NVIDIA(1): Display device TV-0: maximum pixel clock at 32 bpp: 300 MHz
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"
(II) Reloading /usr/X11R6/lib/modules/libddc.a
(II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Reloading /usr/X11R6/lib/modules/linux/libint10.a
(II) NVIDIA(0): Primary V_BIOS segment is: 0xc000
(II) NVIDIA(1): TV: Using hsync range of 30.00-50.00 kHz
(II) NVIDIA(1): TV: Using vrefresh range of 49.00-60.00 Hz
(II) NVIDIA(1): Clock range:  12.00 to 350.00 MHz
(II) NVIDIA(1): Not using default mode "640x350" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "320x175" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "640x400" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "320x200" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "720x400" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "360x200" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "640x480" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "320x240" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "640x480" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "320x240" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "640x480" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "320x240" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "800x600" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "400x300" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "800x600" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "400x300" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(1): Not using default mode "400x300" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1024x768" (bad mode clock/interlace/doublescan)
(II) NVIDIA(1): Not using default mode "512x384" (bad mode clock/interlace/doublescan)
(II) NVIDIA(1): Not using default mode "1024x768" (hsync out of range)
(II) NVIDIA(1): Not using default mode "512x384" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1024x768" (hsync out of range)
(II) NVIDIA(1): Not using default mode "512x384" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1024x768" (hsync out of range)
(II) NVIDIA(1): Not using default mode "512x384" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1152x864" (hsync out of range)
(II) NVIDIA(1): Not using default mode "576x432" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1280x960" (hsync out of range)
(II) NVIDIA(1): Not using default mode "640x480" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1280x960" (hsync out of range)
(II) NVIDIA(1): Not using default mode "640x480" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1280x1024" (hsync out of range)
(II) NVIDIA(1): Not using default mode "640x512" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1280x1024" (hsync out of range)
(II) NVIDIA(1): Not using default mode "640x512" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1280x1024" (hsync out of range)
(II) NVIDIA(1): Not using default mode "640x512" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1600x1200" (hsync out of range)
(II) NVIDIA(1): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1600x1200" (hsync out of range)
(II) NVIDIA(1): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1600x1200" (hsync out of range)
(II) NVIDIA(1): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1600x1200" (hsync out of range)
(II) NVIDIA(1): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1600x1200" (hsync out of range)
(II) NVIDIA(1): Not using default mode "800x600" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1792x1344" (hsync out of range)
(II) NVIDIA(1): Not using default mode "896x672" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1792x1344" (hsync out of range)
(II) NVIDIA(1): Not using default mode "896x672" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1856x1392" (hsync out of range)
(II) NVIDIA(1): Not using default mode "928x696" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1856x1392" (hsync out of range)
(II) NVIDIA(1): Not using default mode "928x696" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1920x1440" (hsync out of range)
(II) NVIDIA(1): Not using default mode "960x720" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1920x1440" (hsync out of range)
(II) NVIDIA(1): Not using default mode "960x720" (hsync out of range)
(II) NVIDIA(1): Not using default mode "832x624" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "416x312" (vrefresh out of range)
(II) NVIDIA(1): Not using default mode "1152x864" (hsync out of range)
(II) NVIDIA(1): Not using default mode "576x432" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1400x1050" (hsync out of range)
(II) NVIDIA(1): Not using default mode "700x525" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1400x1050" (hsync out of range)
(II) NVIDIA(1): Not using default mode "700x525" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1400x1050" (hsync out of range)
(II) NVIDIA(1): Not using default mode "700x525" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1400x1050" (hsync out of range)
(II) NVIDIA(1): Not using default mode "700x525" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1440x900" (hsync out of range)
(II) NVIDIA(1): Not using default mode "720x450" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1600x1024" (hsync out of range)
(II) NVIDIA(1): Not using default mode "800x512" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1680x1050" (hsync out of range)
(II) NVIDIA(1): Not using default mode "840x525" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1920x1200" (hsync out of range)
(II) NVIDIA(1): Not using default mode "960x600" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1920x1200" (hsync out of range)
(II) NVIDIA(1): Not using default mode "960x600" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1920x1440" (hsync out of range)
(II) NVIDIA(1): Not using default mode "960x720" (hsync out of range)
(II) NVIDIA(1): Not using default mode "2048x1536" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1024x768" (hsync out of range)
(II) NVIDIA(1): Not using default mode "2048x1536" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1024x768" (hsync out of range)
(II) NVIDIA(1): Not using default mode "2048x1536" (bad mode clock/interlace/doublescan)
(II) NVIDIA(1): Not using default mode "1024x768" (hsync out of range)
(II) NVIDIA(1): Not using default mode "1280x800" (width too large for virtual size)
(II) NVIDIA(1): Not using default mode "1280x768" (width too large for virtual size)
(II) NVIDIA(1): Not using default mode "1152x768" (width too large for virtual size)
(II) NVIDIA(1): Not using default mode "1024x768" (width too large for virtual size)
(WW) NVIDIA(1): Not using mode "640x384" (not a valid TV mode)
(WW) NVIDIA(1): Not using mode "576x384" (not a valid TV mode)
(WW) NVIDIA(1): Not using mode "512x384" (not a valid TV mode)
(**) NVIDIA(1): Validated modes for display device TV-0:
(**) NVIDIA(1):      Mode "800x600_PAL": 36.0 MHz, 37.5 kHz, 50.0 Hz
(**) NVIDIA(1):      Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
(**) NVIDIA(1):      Default mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz
(**) NVIDIA(1):      Default mode "640x480": 25.2 MHz, 31.5 kHz, 60.0 Hz
(**) NVIDIA(1):      Default mode "640x400": 41.7 MHz, 49.7 kHz, 60.0 Hz (D)
(**) NVIDIA(1):      Default mode "400x300": 20.0 MHz, 37.9 kHz, 60.3 Hz (D)
(**) NVIDIA(1):      Default mode "400x300": 18.0 MHz, 35.2 kHz, 56.3 Hz (D)
(**) NVIDIA(1):      Default mode "320x240": 12.6 MHz, 31.5 kHz, 60.1 Hz (D)
(II) NVIDIA(1): Virtual screen size determined to be 800 x 600
(**) NVIDIA(1): Display dimensions: (569, 427) mm
(**) NVIDIA(1): DPI set to (35, 35)
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Reloading /usr/X11R6/lib/modules/libfb.a
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"
(II) Reloading /usr/X11R6/lib/modules/libramdac.a
(II) do I need RAC?  Yes, I do.
(II) LoadModule: "rac"
(II) Loading /usr/X11R6/lib/modules/librac.a
(II) Module rac: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	ABI class: X.Org Video Driver, version 0.7
(II) resource ranges after preInit:
	[0] 0	0	0xd0000000 - 0xd7ffffff (0x8000000) MX[B]
	[1] 0	0	0xdc000000 - 0xdcffffff (0x1000000) MX[B]
	[2] 0	0	0xd0000000 - 0xd7ffffff (0x8000000) MX[B]
	[3] 0	0	0xdc000000 - 0xdcffffff (0x1000000) MX[B]
	[4] -1	0	0xffe00000 - 0xffffffff (0x200000) MX[B](B)
	[5] -1	0	0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
	[6] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[7] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[8] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[9] -1	0	0xe2000000 - 0xe201ffff (0x20000) MX[B]
	[10] -1	0	0xe2021000 - 0xe202107f (0x80) MX[B]
	[11] -1	0	0xe2020000 - 0xe202007f (0x80) MX[B]
	[12] -1	0	0xe2022000 - 0xe2021fff (0x0) MX[B]O
	[13] -1	0	0xd8000000 - 0xd7ffffff (0x0) MX[B]O
	[14] -1	0	0xd0000000 - 0xd7ffffff (0x8000000) MX[B](B)
	[15] -1	0	0xdc000000 - 0xdcffffff (0x1000000) MX[B](B)
	[16] 0	0	0x000a0000 - 0x000affff (0x10000) MS[B](OprD)
	[17] 0	0	0x000b0000 - 0x000b7fff (0x8000) MS[B](OprD)
	[18] 0	0	0x000b8000 - 0x000bffff (0x8000) MS[B](OprD)
	[19] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[20] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
	[21] -1	0	0x0000e400 - 0x0000e43f (0x40) IX[B]
	[22] -1	0	0x0000e000 - 0x0000e003 (0x4) IX[B]
	[23] -1	0	0x0000dc00 - 0x0000dc07 (0x8) IX[B]
	[24] -1	0	0x0000d800 - 0x0000d803 (0x4) IX[B]
	[25] -1	0	0x0000d400 - 0x0000d407 (0x8) IX[B]
	[26] -1	0	0x0000d000 - 0x0000d007 (0x8) IX[B]
	[27] -1	0	0x0000cc00 - 0x0000cc1f (0x20) IX[B]
	[28] -1	0	0x0000c800 - 0x0000c83f (0x40) IX[B]
	[29] -1	0	0x0000c400 - 0x0000c47f (0x80) IX[B]
	[30] -1	0	0x0000c000 - 0x0000c07f (0x80) IX[B]
	[31] -1	0	0x0000ac00 - 0x0000ac1f (0x20) IX[B]
	[32] -1	0	0x0000a800 - 0x0000a81f (0x20) IX[B]
	[33] -1	0	0x0000a400 - 0x0000a40f (0x10) IX[B]
	[34] -1	0	0x0000a000 - 0x00009fff (0x0) IX[B]O
	[35] 0	0	0x000003b0 - 0x000003bb (0xc) IS[B](OprU)
	[36] 0	0	0x000003c0 - 0x000003df (0x20) IS[B](OprU)
(II) NVIDIA(0): Setting mode "1152x864"
(II) Loading extension NV-GLX
(II) NVIDIA(0): NVIDIA 3D Acceleration Architecture Initialized
(II) NVIDIA(0): Using the NVIDIA 2D acceleration architecture
(==) NVIDIA(0): Backing store disabled
(==) NVIDIA(0): Silken mouse enabled
(**) Option "dpms"
(**) NVIDIA(0): DPMS enabled
(II) Loading extension NV-CONTROL
(WW) NVIDIA(0): Option "passwordFile" is not used
(==) RandR enabled
(II) NVIDIA(1): Setting mode "800x600_PAL"
(WW) NVIDIA(1): WAIT (0, 1, 0x2000, 0x00000458, 0x00000458, 0)
(II) NVIDIA(1): NVIDIA 3D Acceleration Architecture Initialized
(II) NVIDIA(1): Using the NVIDIA 2D acceleration architecture
(==) NVIDIA(1): Backing store disabled
(==) NVIDIA(1): Silken mouse enabled
(==) RandR enabled
(II) Entity 0 shares no resources
(II) Entity 1 shares no resources
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension LBX
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
(II) Initializing built-in extension XFree86-Bigfont
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) Initializing built-in extension XEVIE
(II) Initializing extension GLX
(**) Option "CoreKeyboard"
(**) ps2-kbd: Core Keyboard
(**) Option "Protocol" "evdev"
(**) ps2-kbd: Protocol: evdev
(EE) ps2-kbd: pInfo->dev: (nil)
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xfree86"
(**) ps2-kbd: XkbRules: "xfree86"
(**) Option "XkbModel" "pc102"
(**) ps2-kbd: XkbModel: "pc102"
(**) Option "XkbLayout" "fi"
(**) ps2-kbd: XkbLayout: "fi"
(**) Option "CustomKeycodes" "off"
(**) ps2-kbd: CustomKeycodes disabled
(**) Option "Protocol" "evdev"
(WW) LogitechMouse: No Device specified, looking for one...
(EE) LogitechMouse: Cannot find which device to use.
(**) LogitechMouse: Protocol: evdev
(**) Option "SendCoreEvents" "true"
(**) LogitechMouse: always reports core events
(**) Option "CorePointer"
(**) LogitechMouse: Core Pointer
(**) Option "Emulate3Buttons" "false"
(**) Option "ZAxisMapping" "4 5"
(**) LogitechMouse: ZAxisMapping: buttons 4 and 5
(**) LogitechMouse: Buttons: 5
(II) XINPUT: Adding extended input device "LogitechMouse" (type: MOUSE)
(II) XINPUT: Adding extended input device "evdev brain" (type: evdev brain)
(II) XINPUT: Adding extended input device "ps2-kbd" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "NVIDIA Event Handler" (type: Other)
(II) XINPUT: Adding extended input device "NVIDIA Event Handler" (type: Other)
(**) Option "Dev Phys" "isa0060/serio0/input0"
(**) Option "Dev Name" "Logitech USB Receiver"
(II) ps2-kbd: unable to use input device masking 'Invalid argument', trying grabbing.
Warning: font renderer for ".pcf" already registered at priority 0
Warning: font renderer for ".pcf.Z" already registered at priority 0
Warning: font renderer for ".pcf.gz" already registered at priority 0
Warning: font renderer for ".snf" already registered at priority 0
Warning: font renderer for ".snf.Z" already registered at priority 0
Warning: font renderer for ".snf.gz" already registered at priority 0
Warning: font renderer for ".bdf" already registered at priority 0
Warning: font renderer for ".bdf.Z" already registered at priority 0
Warning: font renderer for ".bdf.gz" already registered at priority 0
Warning: font renderer for ".pmf" already registered at priority 0
Could not init font path element unix/:7101, removing from list!
Could not init font path element /usr/lib/X11/fonts/Speedo, removing from list!


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12.3
Locale: LANG=C, LC_CTYPE=sv_SE.ISO8859-1 (charmap=ISO-8859-1)

Versions of packages xserver-xorg depends on:
ii  debconf [debconf-2.0]     1.4.56         Debian configuration management sy
ii  libc6                     2.3.5-3        GNU C Library: Shared libraries an
ii  libgcc1                   1:4.0.1-4      GCC support library
ii  libselinux1               1.24-3         SELinux shared libraries
ii  libxau6                   6.8.2.dfsg.1-4 X Authentication library
ii  libxdmcp6                 6.8.2.dfsg.1-4 X Display Manager Control Protocol
ii  xserver-common            6.8.2.dfsg.1-4 files and utilities common to all 
ii  zlib1g                    1:1.2.3-3      compression library - runtime

Versions of packages xserver-xorg recommends:
pn  discover1                     <none>     (no description available)
pn  laptop-detect                 <none>     (no description available)
ii  mdetect                       0.5.2      mouse device autodetection tool
pn  xresprobe                     <none>     (no description available)

-- debconf information excluded
$Id: 055_lnx_evdev_keyboard.diff 277 2005-06-26 20:12:53Z dnusinow $

Implement Linux evdev interface support for the keyboard.

Copyright/license information:

  Copyright 2003 Zephaniah E. Hull.

  Permission is hereby granted, free of charge, to any person obtaining a
  copy of this software and associated documentation files (the "Software"), 
  to deal in the Software without restriction, including without limitation
  the rights to use, copy, modify, merge, publish, distribute, sublicense,
  and/or sell copies of the Software, and to permit persons to whom the
  Software is furnished to do so, subject to the following conditions:

  The above copyright notice and this permission notice shall be included in
  all copies or substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  ZEPHANIAH E. HULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
  OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  SOFTWARE.

  Except as contained in this notice, the name of Zephaniah E. Hull shall
  not be used in advertising or otherwise to promote the sale, use or other
  dealings in this Software without prior written authorization from
  Zephaniah E. Hull.

Not submitted upstream.


diff -ruN xc-old/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c
--- xc-old/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c	2005-06-26 15:35:18.000000000 -0400
+++ xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_kbd.c	2005-06-26 15:46:20.000000000 -0400
@@ -22,6 +22,7 @@
 #include "xf86OSKbd.h"
 #include "atKeynames.h"
 #include "lnx_kbd.h"
+#include "lnx_evdev.h"
 
 #define KBC_TIMEOUT 250        /* Timeout in ms for sending to keyboard controller */
 
@@ -503,8 +504,8 @@
     return TRUE;
 }
 
-Bool
-xf86OSKbdPreInit(InputInfoPtr pInfo)
+static Bool
+stdKbdPreInit(InputInfoPtr pInfo, char *protocol)
 {
     KbdDevPtr pKbd = pInfo->private;
 
@@ -543,3 +544,384 @@
 #endif
     return TRUE;
 }
+
+typedef struct _evdevKbdRec {
+    int packetSize;
+    char *buffer;
+    evdevDriver evdev;
+} evdevKbdRec, *evdevKbdPtr;
+
+static void
+evdevKbdReadInput(InputInfoPtr pInfo)
+{
+    KbdDevPtr pKbd;
+    evdevKbdPtr evdevKbd;
+    struct input_event *ev;
+    int n;
+    int code;
+
+    pKbd = (KbdDevPtr) pInfo->private;
+    evdevKbd = pKbd->private;
+    ev = (struct input_event *) evdevKbd->buffer;
+
+    if (pInfo->fd == -1)
+	return;
+
+    do {
+	n = read(pInfo->fd, ev, sizeof(struct input_event));
+	if (n == -1) {
+	    xf86Msg(X_ERROR, "%s: Error in reading! (%s) Disabiling.\n",
+		    pInfo->name, strerror(errno));
+	    RemoveEnabledDevice(pInfo->fd);
+	    close (pInfo->fd);
+	    pInfo->dev->public.on = FALSE;
+	    pInfo->fd = -1;
+	    return;
+	}
+	if (n != sizeof(struct input_event)) {
+	    xf86Msg(X_WARNING, "%s: incomplete packet, size %d\n", pInfo->name, n);
+	    return;
+	}
+
+	switch (ev->type) {
+	    case EV_KEY:
+		if ((ev->code <= EV_KEY_RESERVED)||(ev->code >= EV_KEY_UNKNOWN))
+		    break;
+		switch (ev->code) {
+		    case EV_KEY_103RD:
+		    case EV_KEY_LINEFEED:
+		    case EV_KEY_MACRO:
+		    case EV_KEY_MUTE:
+		    case EV_KEY_VOLUMEDOWN:
+		    case EV_KEY_VOLUMEUP:
+		    case EV_KEY_POWER:
+		    case EV_KEY_KPPLUSMINUS:
+		    case EV_KEY_F18:
+		    case EV_KEY_F19:
+		    case EV_KEY_F20:
+		    case EV_KEY_F21:
+		    case EV_KEY_F22:
+		    case EV_KEY_F23:
+		    case EV_KEY_F24:
+		    case EV_KEY_KPCOMMA:
+		    case EV_KEY_COMPOSE:
+			code = KEY_UNKNOWN;
+			break;
+		    case EV_KEY_102ND:
+			code = KEY_Less;
+			break;
+		    case EV_KEY_F13:
+			code = KEY_F13;
+			break;
+		    case EV_KEY_F14:
+			code = KEY_F14;
+			break;
+		    case EV_KEY_F15:
+			code = KEY_F15;
+			break;
+		    case EV_KEY_F16:
+			code = KEY_F16;
+			break;
+		    case EV_KEY_F17:
+			code = KEY_F17;
+			break;
+		    case EV_KEY_KPENTER:
+			code = KEY_KP_Enter;
+			break;
+		    case EV_KEY_RIGHTCTRL:
+			code = KEY_RCtrl;
+			break;
+		    case EV_KEY_KPSLASH:
+			code = KEY_KP_Divide;
+			break;
+		    case EV_KEY_SYSRQ:
+			code = KEY_SysReqest;
+			break;
+		    case EV_KEY_RIGHTALT:
+			code = KEY_AltLang;
+			break;
+		    case EV_KEY_HOME:
+			code = KEY_Home;
+			break;
+		    case EV_KEY_UP:
+			code = KEY_Up;
+			break;
+		    case EV_KEY_PAGEUP:
+			code = KEY_PgUp;
+			break;
+		    case EV_KEY_LEFT:
+			code = KEY_Left;
+			break;
+		    case EV_KEY_RIGHT:
+			code = KEY_Right;
+			break;
+		    case EV_KEY_END:
+			code = KEY_End;
+			break;
+		    case EV_KEY_DOWN:
+			code = KEY_Down;
+			break;
+		    case EV_KEY_PAGEDOWN:
+			code = KEY_PgDown;
+			break;
+		    case EV_KEY_INSERT:
+			code = KEY_Insert;
+			break;
+		    case EV_KEY_DELETE:
+			code = KEY_Delete;
+			break;
+		    case EV_KEY_KPEQUAL:
+			code = KEY_KP_Equal;
+			break;
+		    case EV_KEY_PAUSE:
+			code = KEY_Pause;
+			break;
+		    case EV_KEY_LEFTMETA:
+			code = KEY_LMeta;
+			break;
+		    case EV_KEY_RIGHTMETA:
+			code = KEY_RMeta;
+			break;
+		    default:
+			code = ev->code;
+			break;
+		}
+		if (code >= 127)
+		    code = KEY_UNKNOWN;
+
+		if (ev->value)
+		    pKbd->PostEvent(pInfo, code, TRUE);
+		else
+		    pKbd->PostEvent(pInfo, code, FALSE);
+		break;
+	}
+    } while (xf86WaitForInput(pInfo->fd, 0));
+
+    return;
+}
+
+static int
+evdevKbdInit(InputInfoPtr pInfo, int what)
+{
+    KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
+    evdevKbdPtr evdevKbd = (evdevKbdPtr) pKbd->private;
+
+    evdevKbd->evdev.name = xf86SetStrOption(pInfo->options,"Dev Name",NULL);
+    evdevKbd->evdev.phys = xf86SetStrOption(pInfo->options,"Dev Phys",NULL);
+    evdevKbd->evdev.device = xf86SetStrOption(pInfo->options,"Dev Device",NULL);
+    evdevKbd->evdev.cb_data = pInfo->dev;
+    evdevKbd->evdev.callback = pInfo->device_control;
+    if (!evdevNewDriver (&evdevKbd->evdev)) {
+	xf86Msg(X_ERROR, "%s: cannot register with evdev brain\n", pInfo->name);
+	return BadRequest;
+    }
+    if ((pInfo->fd = evdevGetFDForDriver (&evdevKbd->evdev)) == -1) {
+	xf86Msg(X_ERROR, "%s: cannot open input device\n", pInfo->name);
+	return BadRequest;
+    }
+
+    close(pInfo->fd);
+    pInfo->fd = -1;
+
+    return Success;
+}
+
+static int
+evdevKbdOn(InputInfoPtr pInfo, int what)
+{
+    KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
+    evdevKbdPtr evdevKbd = (evdevKbdPtr) pKbd->private;
+    unsigned long mask;
+
+    if ((pInfo->fd = evdevGetFDForDriver (&evdevKbd->evdev)) == -1) {
+	xf86Msg(X_ERROR, "%s: cannot open input device (name: '%s', phys: '%s')\n", pInfo->name, evdevKbd->evdev.name, evdevKbd->evdev.phys);
+	return BadRequest;
+    }
+    /*
+     * Grab the keyboard for ourselves.
+     */
+    if (ioctl(pInfo->fd, EVIOCGMASK, &mask) < 0) {
+	xf86Msg(X_INFO, "%s: unable to use input device masking '%s', trying grabbing.\n", pInfo->name, strerror(errno));
+	if (ioctl(pInfo->fd, EVIOCGRAB, 1) < 0) {
+	    xf86Msg(X_ERROR, "%s: unable to grab device '%s', you may have problems.\n", pInfo->name, strerror(errno));
+	}
+	return Success;
+    }
+
+    mask |= BIT(2);
+    ioctl(pInfo->fd, EVIOCSMASK, mask);
+
+    ioctl(pInfo->fd, EVIOCGDMASK, &mask);
+    mask &= ~BIT(0);
+    mask |= BIT(2);
+    ioctl(pInfo->fd, EVIOCSDMASK, mask);
+    xf86Msg(X_INFO, "%s: Using input device masking.\n", pInfo->name);
+
+    return Success;
+}
+
+static int
+evdevKbdOff(InputInfoPtr pInfo, int what)
+{
+    if (pInfo->fd != -1) {
+	unsigned long mask;
+
+	if (ioctl(pInfo->fd, EVIOCGDMASK, &mask) >= 0) {
+	    mask |= BIT(0);
+	    ioctl(pInfo->fd, EVIOCSDMASK, mask);
+	}
+
+	close (pInfo->fd);
+	pInfo->fd = -1;
+    }
+    return Success;
+}
+
+static void
+evdevSoundBell(InputInfoPtr pInfo, int loudness, int pitch, int duration)
+{
+}
+
+static void
+evdevSetKbdLeds(InputInfoPtr pInfo, int leds)
+{
+    struct input_event event;
+
+    memset(&event, 0, sizeof(event));
+    event.type = EV_LED;
+    event.code = EV_LED_CAPSL;
+    event.value = (leds & XLED1) ? 1 : 0;
+    write(pInfo->fd, (char *) &event, sizeof(event));
+
+    event.type = EV_LED;
+    event.code = EV_LED_NUML;
+    event.value = (leds & XLED2) ? 1 : 0;
+    write(pInfo->fd, (char *) &event, sizeof(event));
+
+    event.type = EV_LED;
+    event.code = EV_LED_SCROLLL;
+    event.value = (leds & XLED3) ? 1 : 0;
+    write(pInfo->fd, (char *) &event, sizeof(event));
+
+    event.type = EV_LED;
+    event.code = EV_LED_COMPOSE;
+    event.value = (leds & XLED4) ? 1 : 0;
+    write(pInfo->fd, (char *) &event, sizeof(event));
+}
+
+static int
+evdevGetKbdLeds(InputInfoPtr pInfo)
+{
+    unsigned long evleds[NBITS(EV_LED_MAX)];
+    int leds = 0;
+
+    ioctl(pInfo->fd, EVIOCGLED(sizeof(evleds)), &evleds);
+    if (test_bit(EV_LED_CAPSL, evleds))
+	leds |= XLED1;
+
+    if (test_bit(EV_LED_NUML, evleds))
+	leds |= XLED2;
+
+    if (test_bit(EV_LED_SCROLLL, evleds))
+	leds |= XLED3;
+
+    if (test_bit(EV_LED_COMPOSE, evleds))
+	leds |= XLED4;
+
+    return leds;
+}
+
+static void
+evdevSetKbdRepeat(InputInfoPtr pInfo, char rad)
+{
+    KbdDevPtr pKbd = (KbdDevPtr) pInfo->private;
+    int	rep_info[2];
+    
+    rep_info[0] = pKbd->delay;
+    rep_info[1] = pKbd->rate * 10;
+    ioctl(pInfo->fd, EVIOCSREP, rep_info);
+}
+
+static int
+evdevGetSpecialKey(InputInfoPtr pInfo, int scanCode)
+{
+    return scanCode;
+}
+
+static Bool
+evdevOpenKeyboard(InputInfoPtr pInfo)
+{
+    return TRUE;
+}
+
+static Bool
+evdevKbdPreInit(InputInfoPtr pInfo, char *protocol)
+{
+    KbdDevPtr pKbd = pInfo->private;
+    evdevKbdPtr evdevKbd;
+    xf86Msg(X_CONFIG, "%s: Protocol: %s\n", pInfo->name, protocol);
+
+    pKbd->private = evdevKbd = xcalloc(sizeof(evdevKbdRec), 1);
+
+	xf86Msg(X_ERROR, "%s: pInfo->dev: %p\n", pInfo->name, pInfo->dev);
+
+    if (pKbd->private == NULL) {
+	xf86Msg(X_ERROR, "%s: cannot allocate buffer\n", pInfo->name);
+	return FALSE;
+    }
+
+    evdevKbd->buffer = xcalloc(sizeof(struct input_event),1);
+
+    if (evdevKbd->buffer == NULL) {
+	xf86Msg(X_ERROR, "%s: cannot allocate buffer\n", pInfo->name);
+	xfree(evdevKbd);
+	return FALSE;
+    }
+
+    if (!evdevStart (pInfo->drv)) {
+	xf86Msg(X_ERROR, "%s: cannot start evdev brain\n", pInfo->name);
+	xfree(evdevKbd);
+	xfree(evdevKbd->buffer);
+	return FALSE;
+    }
+
+    pKbd->KbdInit       = evdevKbdInit;
+    pKbd->KbdOn         = evdevKbdOn;
+    pKbd->KbdOff        = evdevKbdOff;
+    pKbd->Bell          = evdevSoundBell;
+    pKbd->SetLeds       = evdevSetKbdLeds;
+    pKbd->GetLeds       = evdevGetKbdLeds;
+    pKbd->SetKbdRepeat  = evdevSetKbdRepeat;
+    pKbd->KbdGetMapping = KbdGetMapping;
+    pKbd->SpecialKey    = SpecialKey;
+
+    pKbd->RemapScanCode = NULL;
+    pKbd->GetSpecialKey = evdevGetSpecialKey;
+
+    pKbd->OpenKeyboard = evdevOpenKeyboard;
+    pKbd->vtSwitchSupported = FALSE;
+    pInfo->read_input = evdevKbdReadInput;
+
+    return TRUE;
+}
+
+Bool
+xf86OSKbdPreInit(InputInfoPtr pInfo)
+{
+    char *protocol;
+    Bool ret;
+
+    protocol = xf86SetStrOption(pInfo->options, "Protocol", NULL);
+
+    if (!protocol)
+	ret = FALSE;
+    else if (!strcmp(protocol, "standard"))
+	ret = stdKbdPreInit(pInfo, protocol);
+    else if (!strcmp(protocol, "evdev"))
+	ret = evdevKbdPreInit(pInfo, protocol);
+    else
+	ret = FALSE;
+
+    xfree(protocol);
+    return ret;
+}

Reply to: