aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkeyboard-config/rules
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/xkeyboard-config/rules')
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml1_s.bat9
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat7
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml1v_s.bat7
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml_s.bat9
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/mln_s.bat10
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat8
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/mlv_s.bat7
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/.gitignore10
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/makefile56
-rw-r--r--xorg-server/xkeyboard-config/rules/makefile238
-rw-r--r--xorg-server/xkeyboard-config/rules/merge.py13
11 files changed, 374 insertions, 0 deletions
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml1_s.bat
new file mode 100755
index 000000000..b09459a5d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml1_s.bat
@@ -0,0 +1,9 @@
+@echo off
+
+set OUTFILE=base.ml1_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ if (index($2, """(""") == 0) { printf """ * %%s = pc+%%s%%%%(v[1])\n""", $1, $2; } else { printf """ * %%s = pc+%%s\n""", $1, $2; }}" < layoutsMapping.lst >> %OUTFILE%
+
+gawk "{ printf """ * %%s(%%s) = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat
new file mode 100755
index 000000000..4d492e02b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat
@@ -0,0 +1,7 @@
+@echo off
+
+set OUTFILE=base.ml1v1_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1v_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml1v_s.bat
new file mode 100755
index 000000000..cec1334c0
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml1v_s.bat
@@ -0,0 +1,7 @@
+@echo off
+
+set OUTFILE=base.ml1v_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml_s.bat
new file mode 100755
index 000000000..b7f0d9c46
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml_s.bat
@@ -0,0 +1,9 @@
+@echo off
+
+set OUTFILE=base.ml_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s = pc+%%s\n""", $1, $2; }" < layoutsMapping.lst >> %OUTFILE%
+
+gawk "{ printf """ * %%s(%%s) = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mln_s.bat b/xorg-server/xkeyboard-config/rules/bin/mln_s.bat
new file mode 100755
index 000000000..15e0629be
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/mln_s.bat
@@ -0,0 +1,10 @@
+@echo off
+set variant=%1
+
+set OUTFILE=base.ml%variant%_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+echo "{ if (index($2, """(""") == 0) { printf """ * %%s = +%%s%%%%(v[%variant%]):%variant%\n""", $1, $2; } else { printf """ * %%s = +%%s:%variant%\n""", $1, $2; }}" < layoutsMapping.lst >> %OUTFILE%
+
+gawk "{ printf """ * %%s(%%s) = +%%s(%%s):%variant%\n""", $1, $2, $3, $4;}" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat b/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat
new file mode 100755
index 000000000..78119bcc7
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat
@@ -0,0 +1,8 @@
+@echo off
+set variant=%1
+
+set OUTFILE=base.ml%variant%v%variant%_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = +%%s(%%s):%variant%\n""", $1, $2, $3, $4;}" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mlv_s.bat b/xorg-server/xkeyboard-config/rules/bin/mlv_s.bat
new file mode 100755
index 000000000..573cb930f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/mlv_s.bat
@@ -0,0 +1,7 @@
+@echo off
+
+set OUTFILE=base.mlv_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/compat/.gitignore b/xorg-server/xkeyboard-config/rules/compat/.gitignore
index bd274090a..077356fbb 100644
--- a/xorg-server/xkeyboard-config/rules/compat/.gitignore
+++ b/xorg-server/xkeyboard-config/rules/compat/.gitignore
@@ -1,6 +1,16 @@
+base.ml1_s.part
+base.ml1v1_s.part
base.ml2_s.part
base.ml2v2_s.part
base.ml3_s.part
base.ml3v3_s.part
base.ml4_s.part
base.ml4v4_s.part
+base.ml_s.part
+base.mlv_s.part
+ml1_s.bat
+ml1v1_s.bat
+ml_s.bat
+mln_s.bat
+mlnvn_s.bat
+mlv_s.bat \ No newline at end of file
diff --git a/xorg-server/xkeyboard-config/rules/compat/makefile b/xorg-server/xkeyboard-config/rules/compat/makefile
new file mode 100644
index 000000000..e14430c74
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/compat/makefile
@@ -0,0 +1,56 @@
+transform_files=layoutsMapping.lst variantsMapping.lst
+
+scripts_dir=..\bin
+
+SCRIPTS= \
+base.ml2_s.part \
+base.ml3_s.part \
+base.ml4_s.part \
+base.ml2v2_s.part \
+base.ml3v3_s.part \
+base.ml4v4_s.part \
+base.ml_s.part \
+base.ml1_s.part \
+base.mlv_s.part \
+base.ml1v1_s.part
+
+# Here we make a distinction when compiling from cygwin or from cmd
+ifdef SHLVL
+SH=sh
+SHEXT=.sh
+else
+SH=cmd /c
+SHEXT=.bat
+endif
+
+base.ml2_s.part: $(scripts_dir)\mln_s$(SHEXT) $(transform_files)
+ $(SH) $< 2 .
+
+base.ml3_s.part: $(scripts_dir)\mln_s$(SHEXT) $(transform_files)
+ $(SH) $< 3 .
+
+base.ml4_s.part: $(scripts_dir)\mln_s$(SHEXT) $(transform_files)
+ $(SH) $< 4 .
+
+base.ml2v2_s.part: $(scripts_dir)\mlnvn_s$(SHEXT) $(transform_files)
+ $(SH) $< 2 .
+
+base.ml3v3_s.part: $(scripts_dir)\mlnvn_s$(SHEXT) $(transform_files)
+ $(SH) $< 3 .
+
+base.ml4v4_s.part: $(scripts_dir)\mlnvn_s$(SHEXT) $(transform_files)
+ $(SH) $< 4 .
+
+base.ml_s.part: $(scripts_dir)\ml_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+base.ml1_s.part: $(scripts_dir)\ml1_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+base.mlv_s.part: $(scripts_dir)\mlv_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+base.ml1v1_s.part: $(scripts_dir)\ml1v1_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+all: $(SCRIPTS)
diff --git a/xorg-server/xkeyboard-config/rules/makefile b/xorg-server/xkeyboard-config/rules/makefile
new file mode 100644
index 000000000..a919b41a2
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/makefile
@@ -0,0 +1,238 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+load_makefile compat\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\rules
+
+USE_COMPAT_RULES = 1
+
+if USE_COMPAT_RULES
+
+base_parts = base.hdr.part base.lists.part \
+base.lists.base.part \
+compat/base.lists.part \
+HDR base.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR base.o_k.part \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR compat/base.mlv_s.part base.mlv_s.part \
+HDR compat/base.ml_s.part base.ml_s.part \
+HDR compat/base.ml1_s.part base.ml1_s.part \
+HDR compat/base.ml1v1_s.part \
+HDR compat/base.ml2_s.part base.ml2_s.part \
+HDR compat/base.ml3_s.part base.ml3_s.part \
+HDR compat/base.ml4_s.part base.ml4_s.part \
+HDR compat/base.ml2v2_s.part \
+HDR compat/base.ml3v3_s.part \
+HDR compat/base.ml4v4_s.part \
+HDR base.m_s.part \
+HDR base.ml_s1.part \
+HDR compat/base.lv_c.part \
+HDR compat/base.l1v1_c.part \
+HDR compat/base.l2v2_c.part \
+HDR compat/base.l3v3_c.part \
+HDR compat/base.l4v4_c.part \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR base.lo_s.part \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR compat/base.o_s.part base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+evdev_parts = base.hdr.part base.lists.part \
+evdev.lists.part \
+compat/base.lists.part \
+HDR evdev.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR base.o_k.part \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR compat/base.mlv_s.part base.mlv_s.part \
+HDR compat/base.ml_s.part base.ml_s.part \
+HDR compat/base.ml1_s.part base.ml1_s.part \
+HDR compat/base.ml1v1_s.part \
+HDR compat/base.ml2_s.part base.ml2_s.part \
+HDR compat/base.ml3_s.part base.ml3_s.part \
+HDR compat/base.ml4_s.part base.ml4_s.part \
+HDR compat/base.ml2v2_s.part \
+HDR compat/base.ml3v3_s.part \
+HDR compat/base.ml4v4_s.part \
+HDR evdev.m_s.part \
+HDR \
+HDR compat/base.lv_c.part \
+HDR compat/base.l1v1_c.part \
+HDR compat/base.l2v2_c.part \
+HDR compat/base.l3v3_c.part \
+HDR compat/base.l4v4_c.part \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR base.lo_s.part \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR compat/base.o_s.part base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+else
+
+base_parts = base.hdr.part base.lists.part \
+base.lists.base.part \
+HDR base.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR base.mlv_s.part \
+HDR base.ml_s.part \
+HDR base.ml1_s.part \
+HDR \
+HDR base.ml2_s.part \
+HDR base.ml3_s.part \
+HDR base.ml4_s.part \
+HDR \
+HDR \
+HDR \
+HDR base.m_s.part \
+HDR base.ml_s1.part \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+evdev_parts = base.hdr.part base.lists.part \
+evdev.lists.part \
+HDR evdev.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR base.mlv_s.part \
+HDR base.ml_s.part \
+HDR base.ml1_s.part \
+HDR \
+HDR base.ml2_s.part \
+HDR base.ml3_s.part \
+HDR base.ml4_s.part \
+HDR \
+HDR \
+HDR \
+HDR evdev.m_s.part \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+endif
+
+all_parts_dist = HDR base.hdr.part \
+base.lists.part \
+base.lists.base.part \
+evdev.lists.part \
+base.m_k.part \
+base.l1_k.part \
+base.l_k.part \
+base.o_k.part \
+base.ml_g.part \
+base.m_g.part \
+base.mlv_s.part \
+base.ml_s.part \
+base.ml1_s.part \
+base.ml2_s.part \
+base.ml3_s.part \
+base.ml4_s.part \
+base.m_s.part \
+base.ml_s1.part \
+base.ml_c.part \
+base.ml1_c.part \
+base.m_t.part \
+base.lo_s.part \
+base.l1o_s.part \
+base.l2o_s.part \
+base.l3o_s.part \
+base.l4o_s.part \
+base.o_s.part \
+base.o_c.part \
+base.o_t.part \
+evdev.m_k.part \
+evdev.m_s.part
+
+rules_files = base evdev xfree98
+
+lst_files = base.lst evdev.lst
+
+$(DESTDIR)\%.lst: $(DESTDIR)\%.xml
+ perl xml2lst.pl < $< > $@
+
+$(DESTDIR)\base: compat\all $(base_parts)
+ merge $@ $(base_parts)
+
+$(DESTDIR)\evdev: compat\all $(evdev_parts)
+ merge $@ $(evdev_parts)
+
+dist_files = xkb.dtd README
+
+rules_DATA = $(rules_files) $(lst_files) $(dist_files)
+
+COMPATFILES=xorg xorg.xml xorg.lst
+$(DESTDIR)\xorg: $(DESTDIR)\base
+ copy $< $@
+$(DESTDIR)\xorg%: $(DESTDIR)\base%
+ copy $< $@
+
+rules_DATA := $(rules_DATA) $(COMPATFILES)
+
+xml_in_files = base.xml.in evdev.xml.in base.extras.xml.in evdev.extras.xml.in
+xml_DATA = $(xml_in_files:.xml.in=.xml)
+
+$(DESTDIR)\%.xml: %.xml.in
+ copy $< $@
+
+$(DESTDIR)\evdev.xml: base.xml.in
+ copy $< $@
+
+$(DESTDIR)\evdev.extras.xml: base.extras.xml.in
+ copy $< $@
+
+DATA_FILES=$(rules_DATA:%=$(DESTDIR)\%) $(xml_DATA:%=$(DESTDIR)\%)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/rules/merge.py b/xorg-server/xkeyboard-config/rules/merge.py
new file mode 100644
index 000000000..442a866f2
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/merge.py
@@ -0,0 +1,13 @@
+import sys
+
+pOUT=open(sys.argv[1],"wb")
+pHDR=open("HDR","r")
+for item in sys.argv[2:]:
+ if item == 'HDR':
+ pOUT.write("\n")
+ pOUT.write(pHDR.readline())
+ else:
+ pOUT.write(open(item,"rb").read())
+
+pOUT.close()
+