foryali first commit
works continue..
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
Index: zorg-2.0.4/zorg/config.py
|
||||
===================================================================
|
||||
--- zorg-2.0.4.orig/zorg/config.py
|
||||
+++ zorg-2.0.4/zorg/config.py
|
||||
@@ -11,6 +11,21 @@ from zorg.parser import *
|
||||
from zorg.probe import VideoDevice, Monitor, Output
|
||||
from zorg.utils import *
|
||||
|
||||
+KEYMAP_CONF_TEMPLATE="""\
|
||||
+# This file is generated by zorg. If you want to change settings
|
||||
+# in this file, edit the file 10-keyboard.conf in the same
|
||||
+# directory.
|
||||
+
|
||||
+Section "InputClass"
|
||||
+ Identifier "Configured Keymap"
|
||||
+ MatchIsKeyboard "on"
|
||||
+ MatchTag "use_configured_keymap"
|
||||
+
|
||||
+ %(comment_layout)sOption "xkb_layout" "%(layout)s"
|
||||
+ %(comment_variant)sOption "xkb_variant" "%(variant)s"
|
||||
+EndSection
|
||||
+"""
|
||||
+
|
||||
def saveXorgConfig(card):
|
||||
parser = XorgParser()
|
||||
|
||||
@@ -265,7 +280,7 @@ def saveDeviceInfo(card):
|
||||
f = open(consts.config_file, "w")
|
||||
f.write(doc.toPrettyString().replace("\n\n", ""))
|
||||
|
||||
-def getKeymap():
|
||||
+def getKeymapOld():
|
||||
layout = None
|
||||
variant = ""
|
||||
|
||||
@@ -297,24 +312,44 @@ def getKeymap():
|
||||
|
||||
return layout, variant
|
||||
|
||||
-def saveKeymap(layout, variant=""):
|
||||
- if not os.path.exists(consts.config_dir):
|
||||
- os.mkdir(consts.config_dir, 0755)
|
||||
+def getKeymap():
|
||||
+ layout = None
|
||||
+ variant = ""
|
||||
|
||||
try:
|
||||
- doc = piksemel.parse(consts.config_file)
|
||||
+ p = XorgParser()
|
||||
+ p.parseFile(consts.keymap_conf)
|
||||
+ section = p.getSections("InputClass")[0]
|
||||
+ layout = section.get("xkb_layout")
|
||||
+ variant = section.get("xkb_variant", "")
|
||||
+
|
||||
except OSError:
|
||||
- doc = piksemel.newDocument("ZORG")
|
||||
+ pass
|
||||
+
|
||||
+ if not layout:
|
||||
+ from pardus.localedata import languages
|
||||
|
||||
- keyboardTag = doc.getTag("Keyboard")
|
||||
+ try:
|
||||
+ language = file("/etc/mudur/language").read().strip()
|
||||
+ except IOError:
|
||||
+ language = "en"
|
||||
+
|
||||
+ if not languages.has_key(language):
|
||||
+ language = "en"
|
||||
|
||||
- if keyboardTag:
|
||||
- keyboardTag.hide()
|
||||
+ keymap = languages[language].keymaps[0]
|
||||
+ layout = keymap.xkb_layout
|
||||
+ variant = keymap.xkb_variant
|
||||
|
||||
- keyboardTag = doc.insertTag("Keyboard")
|
||||
- keyboardTag.insertTag("Layout").insertData(layout)
|
||||
- if variant:
|
||||
- keyboardTag.insertTag("Variant").insertData(variant)
|
||||
+ return layout, variant
|
||||
|
||||
- f = file(consts.config_file, "w")
|
||||
- f.write(doc.toPrettyString().replace("\n\n", ""))
|
||||
+def saveKeymap(layout, variant=""):
|
||||
+ opts = {"layout": layout,
|
||||
+ "variant": variant,
|
||||
+ "comment_layout": "" if layout else "#",
|
||||
+ "comment_variant": "" if variant else "#"}
|
||||
+
|
||||
+ with open(consts.keymap_conf, "w") as f:
|
||||
+ f.write(KEYMAP_CONF_TEMPLATE % opts)
|
||||
+ f.flush()
|
||||
+ os.fsync(f.fileno())
|
||||
Index: zorg-2.0.4/zorg/consts.py
|
||||
===================================================================
|
||||
--- zorg-2.0.4.orig/zorg/consts.py
|
||||
+++ zorg-2.0.4/zorg/consts.py
|
||||
@@ -8,6 +8,7 @@ data_dir = "/usr/share/X11"
|
||||
modules_dir = "/usr/lib/xorg/modules"
|
||||
|
||||
xorg_conf_file = "/etc/X11/xorg.conf"
|
||||
+keymap_conf = "/etc/X11/xorg.conf.d/00-configured-keymap.conf"
|
||||
config_file = join(config_dir, "config.xml")
|
||||
configured_bus_file = join(config_dir, "configured_bus")
|
||||
drivers_file = join(data_dir, "DriversDB")
|
||||
@@ -0,0 +1,19 @@
|
||||
Index: zorg-cli
|
||||
===================================================================
|
||||
--- zorg-cli (revision 31546)
|
||||
+++ zorg-cli (revision 31547)
|
||||
@@ -94,8 +94,12 @@
|
||||
setDriver(opts.driver)
|
||||
|
||||
elif opts.keymap:
|
||||
- keymap = opts.keymap.split("/", 1)
|
||||
- link.Xorg.Display["zorg"].setKeymap(*keymap)
|
||||
+ if "/" in opts.keymap:
|
||||
+ layout, variant = opts.keymap.split("/", 1)
|
||||
+ else:
|
||||
+ layout, variant = opts.keymap, ""
|
||||
|
||||
+ link.Xorg.Display["zorg"].setKeymap(layout, variant)
|
||||
+
|
||||
else:
|
||||
parser.print_help()
|
||||
@@ -0,0 +1,40 @@
|
||||
Section "Module"
|
||||
SubSection "extmod"
|
||||
Option "omit xfree86-dga" "true"
|
||||
EndSubSection
|
||||
EndSection
|
||||
|
||||
Section "ServerFlags"
|
||||
Option "BlankTime" "0"
|
||||
Option "OffTime" "0"
|
||||
Option "SuspendTime" "0"
|
||||
Option "AllowMouseOpenFail" "true"
|
||||
Option "StandbyTime" "0"
|
||||
EndSection
|
||||
|
||||
Section "Device"
|
||||
Identifier "VideoCard"
|
||||
Driver "vesa"
|
||||
EndSection
|
||||
|
||||
Section "Screen"
|
||||
Identifier "Screen"
|
||||
Device "VideoCard"
|
||||
Monitor "Default Monitor"
|
||||
DefaultDepth 16
|
||||
SubSection "Display"
|
||||
Depth 16
|
||||
Modes "800x600" "640x480"
|
||||
EndSubSection
|
||||
EndSection
|
||||
|
||||
Section "ServerLayout"
|
||||
Identifier "Layout"
|
||||
Screen "Screen"
|
||||
EndSection
|
||||
|
||||
Section "Monitor"
|
||||
Identifier "Default Monitor"
|
||||
HorizSync 31.5 - 50
|
||||
VertRefresh 50 - 70
|
||||
EndSection
|
||||
Reference in New Issue
Block a user