diff options
author | Mike Fulbright <msf@redhat.com> | 2002-06-21 02:26:07 +0000 |
---|---|---|
committer | Mike Fulbright <msf@redhat.com> | 2002-06-21 02:26:07 +0000 |
commit | fd99b0727a4b46fb4f3ee4f31a87a91db756f569 (patch) | |
tree | 622a149b98bc59bed2e083c712dca126ab00e2ed /xf86config.py | |
parent | a7e9327bdef256d5ef445e4f9df5f65c35573eca (diff) | |
download | anaconda-fd99b0727a4b46fb4f3ee4f31a87a91db756f569.tar.gz anaconda-fd99b0727a4b46fb4f3ee4f31a87a91db756f569.tar.xz anaconda-fd99b0727a4b46fb4f3ee4f31a87a91db756f569.zip |
write out usb section so if they plug it in it will be used
Diffstat (limited to 'xf86config.py')
-rw-r--r-- | xf86config.py | 703 |
1 files changed, 26 insertions, 677 deletions
diff --git a/xf86config.py b/xf86config.py index 7bdc92c63..696bd60dd 100644 --- a/xf86config.py +++ b/xf86config.py @@ -1,5 +1,5 @@ # -# xf866config.py - XFree86 configuration file generator for 3.3.x and 4.x +# xf866config.py - XFree86 configuration file generator for 4.x # # Matt Wilson <msw@redhat.com> # Brent Fox <bfox@redhat.com> @@ -31,431 +31,6 @@ from rhpl.keyboard import Keyboard from rhpl.mouse import Mouse from rhpl.translate import _ -XF86Config_template = """ -# File generated by anaconda. -# ********************************************************************** -# Refer to the XF86Config(4/5) man page for details about the format of -# this file. -# ********************************************************************** - -# ********************************************************************** -# Files section. This allows default font and rgb paths to be set -# ********************************************************************** - -Section "Files" -%(files)s -EndSection - -# ********************************************************************** -# Server flags section. -# ********************************************************************** - -Section "ServerFlags" - # Uncomment this to cause a core dump at the spot where a signal is - # received. This may leave the console in an unusable state, but may - # provide a better stack trace in the core dump to aid in debugging - - # NoTrapSignals - - # Uncomment this to disable the <Crtl><Alt><BS> server abort sequence - # This allows clients to receive this key event. - - # DontZap - - # Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching - # sequences. This allows clients to receive these key events. - - # DontZoom -EndSection - -# Pointer section -# ********************************************************************** - -Section "Pointer" - Protocol "%(mouseProto)s" - Device "/dev/%(mouseDevice)s" - -# For wheel support - can not be used with Emulate3Buttons -# -# ZAxisMapping 4 5 - -# When using XQUEUE, comment out the above two lines, and uncomment -# the following line. -# Protocol "Xqueue" - -# Baudrate and SampleRate are only for some Logitech mice -# BaudRate 9600 -# SampleRate 150 - -# Emulate3Buttons is an option for 2-button Microsoft mice -# Emulate3Timeout is the timeout in milliseconds (default is 50ms) -%(emulate3)s - -# ChordMiddle is an option for some 3-button Logitech mice -# ChordMiddle - -EndSection - -# ********************************************************************** -# Keyboard section -# ********************************************************************** - -Section "Keyboard" - Protocol "Standard" - -%(autorepeat)s - -# when using XQUEUE, comment out the above line, and uncomment the -# following line - # Protocol "Xqueue" - -# Let the server do the NumLock processing. This should only be -# required when using pre-R6 clients - # ServerNumLock - -# Specify which keyboard LEDs can be user-controlled (eg, with xset(1)) - # Xleds 1 2 3 - -# To set the LeftAlt to Meta, RightAlt key to ModeShift, -# RightCtl key to Compose, and ScrollLock key to ModeLock: - - LeftAlt Meta - RightAlt Meta - ScrollLock Compose - RightCtl Control - -# To disable the XKEYBOARD extension, uncomment XkbDisable. -# XkbDisable - -# To customise the XKB settings to suit your keyboard, modify the -# lines below (which are the defaults). For example, for a non-U.S. -# keyboard, you will probably want to use: -# XkbModel "pc102" -# If you have a US Microsoft Natural keyboard, you can use: -# XkbModel "microsoft" -# -# Then to change the language, change the Layout setting. -# For example, a german layout can be obtained with: -# XkbLayout "de" -# or: -# XkbLayout "de" -# XkbVariant "nodeadkeys" -# -# If you'd like to switch the positions of your capslock and -# control keys, use: -# XkbOptions "ctrl:swapcaps" -# -# If you'd like to disable the capslock key, use: -# XkbOptions "ctrl:nocaps" - - - XkbRules "%(XkbRules)s" - XkbModel "%(XkbModel)s" - XkbLayout "%(XkbLayout)s" - %(enableVariant)sXkbVariant "%(XkbVariant)s" - %(enableOptions)sXkbOptions "%(XkbOptions)s" -EndSection - -# ********************************************************************** -# Monitor section -# ********************************************************************** - -# Any number of monitor sections may be present -Section "Monitor" - Identifier "Generic Monitor" - VendorName "Unknown" - ModelName "Unknown" -# HorizSync 31.5 -# VertRefresh 60 - HorizSync 35.15 - VertRefresh 55-65 - -# ModeLine "640x480" 25.175 640 664 760 800 -# 480 491 493 525 - -# 800x600 @ 56 Hz, 35.15 kHz hsync - ModeLine "800x600" 36 800 824 896 1024 - 600 601 603 625 - -EndSection - -Section "Monitor" - Identifier "%(monitorID)s" - VendorName "Unknown" - ModelName "Unknown" - -# HorizSync is in kHz unless units are specified. -# HorizSync may be a comma separated list of discrete values, or a -# comma separated list of ranges of values. -# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S -# USER MANUAL FOR THE CORRECT NUMBERS. - - HorizSync %(monitorHoriz)s - -# VertRefresh is in Hz unless units are specified. -# VertRefresh may be a comma separated list of discrete values, or a -# comma separated list of ranges of values. -# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S -# USER MANUAL FOR THE CORRECT NUMBERS. - - VertRefresh %(monitorVert)s - -# Modes can be specified in two formats. A compact one-line format, or -# a multi-line format. - -# These two are equivalent - -# ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace - -# Mode "1024x768i" -# DotClock 45 -# HTimings 1024 1048 1208 1264 -# VTimings 768 776 784 817 -# Flags "Interlace" -# EndMode - -# This is a set of standard mode timings. Modes that are out of monitor spec -# are automatically deleted by the server (provided the HorizSync and -# VertRefresh lines are correct), so there's no immediate need to -# delete mode timings (unless particular mode timings don't work on your -# monitor). With these modes, the best standard mode that your monitor -# and video card can support for a given resolution is automatically -# used. - -# Low-res Doublescan modes -# If your chipset does not support doublescan, you get a 'squashed' -# resolution like 320x400. - -# --320x200-- -# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio - Modeline "320x200" 12.588 320 336 384 400 - 200 204 205 225 Doublescan -# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio - Modeline "320x240" 12.588 320 336 384 400 - 240 245 246 262 Doublescan -# 320x240 @ 72 Hz, 36.5 kHz hsync - Modeline "320x240" 15.750 320 336 384 400 - 240 244 246 262 Doublescan -# --400x300-- -# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio - ModeLine "400x300" 18 400 416 448 512 - 300 301 302 312 Doublescan -# 400x300 @ 60 Hz, 37.8 kHz hsync - Modeline "400x300" 20 400 416 480 528 - 300 301 303 314 Doublescan -# 400x300 @ 72 Hz, 48.0 kHz hsync - Modeline "400x300" 25 400 424 488 520 - 300 319 322 333 Doublescan -# 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio - ModeLine "480x300" 21.656 480 496 536 616 - 300 301 302 312 Doublescan -# 480x300 @ 60 Hz, 37.8 kHz hsync - Modeline "480x300" 23.890 480 496 576 632 - 300 301 303 314 Doublescan -# 480x300 @ 63 Hz, 39.6 kHz hsync - Modeline "480x300" 25 480 496 576 632 - 300 301 303 314 Doublescan -# 480x300 @ 72 Hz, 48.0 kHz hsync - Modeline "480x300" 29.952 480 504 584 624 - 300 319 322 333 Doublescan - -# Normal video modes - -# -- 512x384 -# 512x384 @ 78 Hz, 31.50 kHz hsync - Modeline "512x384" 20.160 512 528 592 640 - 384 385 388 404 -HSync -VSync -# 512x384 @ 85 Hz, 34.38 kHz hsync - Modeline "512x384" 22 512 528 592 640 - 384 385 388 404 -HSync -VSync - -# -- 640x400 -- -# 640x400 @ 70 Hz, 31.5 kHz hsync - Modeline "640x400" 25.175 640 664 760 800 - 400 409 411 450 -# 640x400 @ 85 Hz, 37.86 kHz hsync - Modeline "640x400" 31.5 640 672 736 832 - 400 401 404 445 -HSync +VSync - -# --- 640x480 --- -# 640x480 @ 60 Hz, 31.5 kHz hsync - Modeline "640x480" 25.175 640 664 760 800 - 480 491 493 525 -# 640x480 @ 72 Hz, 36.5 kHz hsync - Modeline "640x480" 31.5 640 680 720 864 - 480 488 491 521 -# 640x480 @ 75 Hz, 37.50 kHz hsync - ModeLine "640x480" 31.5 640 656 720 840 - 480 481 484 500 -HSync -VSync -# 640x480 @ 85 Hz, 43.27 kHz hsync - Modeline "640x480" 36 640 696 752 832 - 480 481 484 509 -HSync -VSync -# 640x480 @ 100 Hz, 53.01 kHz hsync - Modeline "640x480" 45.8 640 672 768 864 - 480 488 494 530 -HSync -VSync - -# --- 800x600 --- -# 800x600 @ 56 Hz, 35.15 kHz hsync - ModeLine "800x600" 36 800 824 896 1024 - 600 601 603 625 -# 800x600 @ 60 Hz, 37.8 kHz hsync - Modeline "800x600" 40 800 840 968 1056 - 600 601 605 628 +hsync +vsync -# 800x600 @ 72 Hz, 48.0 kHz hsync - Modeline "800x600" 50 800 856 976 1040 - 600 637 643 666 +hsync +vsync -# 800x600 @ 85 Hz, 55.84 kHz hsync - Modeline "800x600" 60.75 800 864 928 1088 - 600 616 621 657 -HSync -VSync -# 800x600 @ 100 Hz, 64.02 kHz hsync - Modeline "800x600" 69.65 800 864 928 1088 - 600 604 610 640 -HSync -VSync - -# --- 1024x768 --- -# 1024x768 @ 60 Hz, 48.4 kHz hsync - Modeline "1024x768" 65 1024 1032 1176 1344 - 768 771 777 806 -hsync -vsync -# 1024x768 @ 70 Hz, 56.5 kHz hsync - Modeline "1024x768" 75 1024 1048 1184 1328 - 768 771 777 806 -hsync -vsync -# 1024x768 @ 76 Hz, 62.5 kHz hsync - Modeline "1024x768" 85 1024 1032 1152 1360 - 768 784 787 823 -# 1024x768 @ 85 Hz, 70.24 kHz hsync - Modeline "1024x768" 98.9 1024 1056 1216 1408 - 768 782 788 822 -HSync -VSync -# 1024x768 @ 100Hz, 80.21 kHz hsync - Modeline "1024x768" 115.5 1024 1056 1248 1440 - 768 771 781 802 -HSync -VSync - -# --- 1152x864 --- -# 1152x864 @ 60 Hz, 53.5 kHz hsync - Modeline "1152x864" 89.9 1152 1216 1472 1680 - 864 868 876 892 -HSync -VSync -# 1152x864 @ 70 Hz, 62.4 kHz hsync - Modeline "1152x864" 92 1152 1208 1368 1474 - 864 865 875 895 -# 1152x864 @ 78 Hz, 70.8 kHz hsync - Modeline "1152x864" 110 1152 1240 1324 1552 - 864 864 876 908 -# 1152x864 @ 84 Hz, 76.0 kHz hsync - Modeline "1152x864" 135 1152 1464 1592 1776 - 864 864 876 908 -# 1152x864 @ 100 Hz, 89.62 kHz hsync - Modeline "1152x864" 137.65 1152 1184 1312 1536 - 864 866 885 902 -HSync -VSync - -# -- 1280x1024 -- -# 1280x1024 @ 61 Hz, 64.2 kHz hsync - Modeline "1280x1024" 110 1280 1328 1512 1712 - 1024 1025 1028 1054 -# 1280x1024 @ 70 Hz, 74.59 kHz hsync - Modeline "1280x1024" 126.5 1280 1312 1472 1696 - 1024 1032 1040 1068 -HSync -VSync -# 1280x1024 @ 74 Hz, 78.85 kHz hsync - Modeline "1280x1024" 135 1280 1312 1456 1712 - 1024 1027 1030 1064 -# 1280x1024 @ 76 Hz, 81.13 kHz hsync - Modeline "1280x1024" 135 1280 1312 1416 1664 - 1024 1027 1030 1064 -# 1280x1024 @ 85 Hz, 91.15 kHz hsync - Modeline "1280x1024" 157.5 1280 1344 1504 1728 - 1024 1025 1028 1072 +HSync +VSync -# 1280x1024 @ 100 Hz, 107.16 kHz hsync - Modeline "1280x1024" 181.75 1280 1312 1440 1696 - 1024 1031 1046 1072 -HSync -VSync - -# -- 1400x1050 -- -# 1400x1050 @ 60Hz, 65.8 kHz hsync - Modeline "1400x1050" 129 1400 1464 1656 1960 - 1050 1051 1054 1100 +HSync +VSync - -# 1400x1050 @ 70Hz, 76.8 kHz hsync - Modeline "1400x1050" 151 1400 1464 1656 1960 - 1050 1051 1054 1100 +HSync +VSync - -# 1400x1050 @ 75Hz, 82.3 kHz hsync - Modeline "1400x1050" 162 1400 1464 1656 1960 - 1050 1051 1054 1100 +HSync +VSync - -# 1400x1050 @ 85Hz, 93.2 kHz hsync - Modeline "1400x1050" 184 1400 1464 1656 1960 - 1050 1051 1054 1100 +HSync +VSync - -# -- 1600x1200 -- -# 1600x1200 @ 60Hz, 75.00 kHz hsync - Modeline "1600x1200" 162 1600 1664 1856 2160 - 1200 1201 1204 1250 +HSync +VSync -# 1600x1200 @ 70 Hz, 87.50 kHz hsync - Modeline "1600x1200" 189 1600 1664 1856 2160 - 1200 1201 1204 1250 -HSync -VSync -# 1600x1200 @ 75 Hz, 93.75 kHz hsync - Modeline "1600x1200" 202.5 1600 1664 1856 2160 - 1200 1201 1204 1250 +HSync +VSync -# 1600x1200 @ 85 Hz, 105.77 kHz hsync - Modeline "1600x1200" 220 1600 1616 1808 2080 - 1200 1204 1207 1244 +HSync +VSync - -# -- 1800x1400 -- - -# 1800x1440 @ 64Hz, 96.15 kHz hsync - ModeLine "1800X1440" 230 1800 1896 2088 2392 - 1440 1441 1444 1490 +HSync +VSync -# 1800x1440 @ 70Hz, 104.52 kHz hsync - ModeLine "1800X1440" 250 1800 1896 2088 2392 - 1440 1441 1444 1490 +HSync +VSync - -# -- 1920x1200 -- - -# 1920x1200 @ 70Hz, 87.50 KHz hsync - Modeline "1920x1200" 230 1920 1936 2096 2528 - 1200 1201 1204 1250 +HSync +VSync - -EndSection - -# ********************************************************************** -# Graphics device section -# ********************************************************************** - -Section "Device" - Identifier "Generic VGA Card" - VendorName "Unknown" - BoardName "Unknown" - Chipset "generic" -EndSection - -%(acceleratedDevices)s - -# ********************************************************************** -# Screen section -# ********************************************************************** - -# The 16-color VGA server -Section "Screen" - Driver "vga16" - Device "Generic VGA Card" - Monitor "%(monitorID)s" - Subsection "Display" - Modes "640x480" "800x600" - ViewPort 0 0 - EndSubsection -EndSection - -# The Mono server -Section "Screen" - Driver "vga2" - Device "Generic VGA Card" - Monitor "%(monitorID)s" - Subsection "Display" - Modes "640x480" "800x600" - ViewPort 0 0 - EndSubsection -EndSection - -%(acceleratedScreens)s -""" - - XF86Config_4_template = """ # File generated by anaconda. @@ -463,6 +38,7 @@ Section "ServerLayout" Identifier "Anaconda Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" + %(usbmouselayout)s InputDevice "Keyboard0" "CoreKeyboard" EndSection @@ -529,6 +105,8 @@ Section "InputDevice" Option "Emulate3Buttons" "%(emulate3)s" EndSection +%(usbmousesection)s + Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" @@ -651,15 +229,6 @@ class XF86Config: # if skipx is TRUE user has selected to not configure X self.skipx = 0 -# -# we're removing frame buffer code -# -# if isys.fbinfo() != None: -# (x, y, depth) = isys.fbinfo() -# self.fbDepth = depth -# else: -# self.fbDepth = 16 - self.files = """ # The location of the RGB database. Note, this is the name of the # file minus the extension (like ".txt" or ".db"). There is normally @@ -803,87 +372,8 @@ class XF86Config: def getFallBackModes(self): return self.fallbackModes -# -# XXX I think this is all no longer used -# - -# def cards (self, thecard = None): -# cards = {} -# # all the straight servers -# for server in [ "3DLabs", "8514", "FBDev", "Mach8", "Mach32", "Mach64", -# "Mono", "P9000", "S3", "S3V", "SVGA", "W32", "VGA16" ]: -# cards["Generic " + server] = { "SERVER" : server, -# "NAME" : "Generic " + server } - -# db = open ('/usr/X11R6/lib/X11/Cards') -# lines = db.readlines () -# db.close () -# card = {} -# name = None -# for line in lines: -# line = string.strip (line) -# if not line and name: -# cards[name] = card -# card = {} -# name = None -# continue - -# if line and line[0] == '#': -# continue - -# if len (line) > 4 and line[0:4] == 'NAME': -# name = line[5:] - -# info = string.splitfields (line, ' ') -# if card.has_key (info[0]): -# card[info[0]] = card[info[0]] + '\n' + (string.joinfields (info[1:], ' ')) -# else: -# card[info[0]] = string.joinfields (info[1:], ' ') - -# if thecard: -# card = cards[thecard] -# # XXX set a max depth here to avoid infinite loops -# while card.has_key ("SEE"): -# card = cards[card["SEE"]] -# return card -# return cards - -# def monitors (self, lines = None): -# if self.monlist: -# return self.monlist -# if not lines: -# db = open ('/usr/share/hwdata/MonitorsDB') -# lines = db.readlines () -# db.close () - -# for line in lines: -# line = string.strip (line) -# if not line: -# continue -# if line and line[0] == '#': -# continue -# fields = string.split (line, ';') -# man = string.strip(fields[0]) -# model = string.strip(fields[1]) -# eisa = string.lower(string.strip(fields[2])) -# horiz = string.strip(fields[3]) -# vert = string.strip(fields[4]) -# if self.monlist.has_key(man): -# self.monlist[man].append((model, eisa, vert, horiz)) -# else: -# self.monlist[man] = [(model, eisa, vert, horiz)] -# self.monids[eisa] = (man, model, eisa, vert, horiz) -# return self.monlist - -# end of potentially unused code def write (self, path): -# -# XXX - don't write XFree86 3.x configs any more -# -# config = open (path + "/XF86Config", 'w') -# config.write (self.Version3Config ()) -# config.close () try: config4 = self.Version4Config (self.videocard) except RuntimeError: @@ -947,25 +437,6 @@ class XF86Config: files = self.files - -# -# we're removing frame buffer code -# - # if we're forcing framebuffer, use those modes if available -# fbmonsect = None -# if self.videocard.isFrameBuffer(): -# if self.monitor: -# fbmonsect = self.monitor.getFBMonitorSection() - -# if fbmonsect: -# self.manualModes = self.monitor.getFBMonitorMode() -# elif self.videocard.hasFixedMode(): -# self.manualModes = self.videocard.FixedMode() -# else: -# raise RuntimeError, "trying frame buffer but no valid modes to try..." -# elif self.videocard.hasFixedMode(): -# self.manualModes = self.videocard.FixedMode() - # needed for VGA16 to work? if self.videocard.hasFixedMode(): self.manualModes = self.videocard.FixedMode() @@ -1000,8 +471,9 @@ class XF86Config: if servername == "XFree86": f.write(self.Version4Config(self.videocard, 1)) - else: - f.write(self.Version3Config(1)) + else: + # ack! + return f.close () @@ -1069,147 +541,6 @@ class XF86Config: raise RuntimeError, "X startup failed %d" % (status,) return - def Version3Config (self, test=0): - info = {} - devices = "" - screens = "" - - monitor = self.monitor - card = self.videocard - carddata = card.getCardData() - devices = devices + """ -Section "Device" - Identifier "%(NAME)s" -""" % carddata - if carddata.has_key ("VENDOR"): - devices = devices + ' VendorName "%(VENDOR)s"\n' % carddata - if carddata.has_key ("BOARDNAME"): - devices = devices + ' BoardName "%(BOARD)s"\n' % carddata - if carddata.has_key ("RAMDAC"): - devices = devices + ' Ramdac "%(RAMDAC)s"\n' % carddata - if carddata.has_key ("LINE"): - devices = devices + carddata["LINE"] + "\n" - if card.getVideoRam(): - devices = devices + ' VideoRam %s\n' % (card.getVideoRam(),) - devices = devices + "EndSection\n" - - if card.getDevID(): - screens = "" - tmp = {} - maxdepth = -1 - xmodes = self.manualModes - - for (depth, modes) in xmodes.items (): - modes.sort (self.areaCompare) - if len(modes) > 0 and string.atoi(depth) > maxdepth: - maxdepth = string.atoi(depth) - -# if monitor.getFBMonitorSection(): -# monitorname = "Probed Monitor" - - monitorname = monitor.getMonitorID() - - for driver in [ "svga", "accel" ]: - tmp["driver"] = driver - tmp["devID"] = card.getDevID() - tmp["monitorID"] = monitorname - screens = screens + """ -# The %(driver)s server -Section "Screen" - Driver "%(driver)s" - Device "%(devID)s" - Monitor "%(monitorID)s" -""" % tmp - - # see if 16 bpp is available, and if it should be the - # default depth - if self.res == "640x480": - screens = screens + " DefaultColorDepth 8\n" - elif maxdepth > 0: - if maxdepth > 16 and '16' in xmodes.keys() and xmodes['16']: - screens = screens + " DefaultColorDepth 16\n" - else: - screens = screens + " DefaultColorDepth %d\n" % maxdepth - - for depth in xmodes.keys (): - if not xmodes[depth]: continue - screens = screens + """ - Subsection "Display" - Depth %s - Modes """ % depth - for res in xmodes[depth]: - screens = screens + '"' + res + '" ' - screens = screens + """ - ViewPort 0 0 - EndSubsection -""" - screens = screens + "EndSection\n" - - # XXX if we're going to be using IMPS/2 on - # reboot, but we're using PS/2 now, we'll need - # to temporarily use PS/2 so we don't frob the - # intellimouse into IMPS/2 mode (if we did, we'll - # loose the mouse cursor in the install) - if test and self.mouse.info["XMOUSETYPE"] == "IMPS/2": - mouseProto = "PS/2" - else: - mouseProto = self.mouse.info['XMOUSETYPE'] - -# -# we're removing frame buffer code -# -# fbprobemon = monitor.getFBMonitorSection() -# if fbprobemon != "": -# fbmonid = "Probed Monitor" -# else: -# fbmonid = monitor.getMonitorID() - - info = { "acceleratedDevices" : devices, - "acceleratedScreens" : screens, - "devID" : card.getDevID(), - "mouseProto" : mouseProto, - "mouseDevice" : self.mouse.device, - "XkbRules" : self.keyboard["rules"], - "XkbModel" : self.keyboard["model"], - "XkbLayout" : self.keyboard["layout"], - "XkbVariant" : self.keyboard["variant"], - "enableVariant" : "#", - "XkbOptions" : self.keyboard["options"], - "enableOptions" : "#", - "monitorID" : monitor.getMonitorID(), - "monitorHoriz" : monitor.getMonitorHorizSync(), - "monitorVert" : monitor.getMonitorVertSync(), -# "fbProbedMonitor" : fbprobemon, -# "fbmonitorID" : fbmonid, - "files" : self.files, - } - - # HACK if no frame buffer running just wing it -# -# we're removing frame buffer code -# -# if card.getFBBpp(): -# info["fbDepth"] = card.getFBBpp() -# else: -# info["fbDepth"] = 8 -# -# info["fbDepth"] = self.fbDepth - - if self.keyboard["variant"]: - info["enableVariant"] = "" - if self.keyboard["options"]: - info["enableOptions"] = "" - if self.mouse.get()[1]: - info["emulate3"] = " Emulate3Buttons\n Emulate3Timeout 50" - else: - info["emulate3"] = "# Emulate3Buttons\n Emulate3Timeout 50" - if iutil.getArch() == "sparc": - info["autorepeat"] = "# AutoRepeat 200 20" - else: - info["autorepeat"] = " AutoRepeat 500 5" - - return XF86Config_template % info - def Version4Config(self, card, test=0): if not card: raise RuntimeError, "No known video cards" @@ -1347,6 +678,25 @@ Section "Screen" # data["driMod"] = '\n\t#Load "dri"' else: raise RuntimeError, "Don't know which XFree86-4.0 video driver to use!" + + # see if we need to add a section for USB mice which aren't + # attached yet. This makes hotplug work + if self.mouse and self.mouse.anyUSBMice(): + data["usbmouselayout"] = "InputDevice \"Mouse1\" \"SendCoreEvents\"" + data["usbmousesection"] = """ +Section "InputDevice" + Identifier "Mouse1" + Driver "mouse" + Option "Device" "/dev/input/mice" + Option "Protocol" "IMPS/2" + Option "Emulate3Buttons" "no" + Option "ZAxisMapping" "4 5" +EndSection +""" + else: + data["usbmouselayout"] = "#\n" + data["usbmousesection"] = "#\n" + return XF86Config_4_template % data if __name__ == "__main__": @@ -1354,7 +704,6 @@ if __name__ == "__main__": x = XF86Config () print x.cards ("ATI Mach64 3D RAGE II") x.probe () -# print x.Version3Config() print x.Version4Config() sys.exit (0) x.filterModesByMemory () |