summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorEitan Isaacson <eitan@monotonous.org>2011-06-16 15:51:37 -0700
committerEitan Isaacson <eitan@monotonous.org>2011-06-22 11:26:39 -0700
commitab699e3e6d203e975f99617316e39b77ec76dc56 (patch)
tree8ccffcdd40dbeaaacfd4c54a2dca68082cbc6b74 /data
parentdffb9374b4cae0266c0e3c1a4e1a03e7a77383b0 (diff)
downloadcaribou-ab699e3e6d203e975f99617316e39b77ec76dc56.tar.gz
Use XSLT to make keyboard definitions easier.
Diffstat (limited to 'data')
-rw-r--r--data/layouts/touch/Makefile.am22
-rw-r--r--data/layouts/touch/ara.xml.in57
-rw-r--r--data/layouts/touch/common/qwerty.xml (renamed from data/layouts/touch/us.xml)101
-rw-r--r--data/layouts/touch/common/symbols.xml (renamed from data/layouts/touch/ara.xml)92
-rw-r--r--data/layouts/touch/il.xml139
-rw-r--r--data/layouts/touch/il.xml.in51
-rw-r--r--data/layouts/touch/us.xml.in8
7 files changed, 161 insertions, 309 deletions
diff --git a/data/layouts/touch/Makefile.am b/data/layouts/touch/Makefile.am
index 6692fc0..a3389d8 100644
--- a/data/layouts/touch/Makefile.am
+++ b/data/layouts/touch/Makefile.am
@@ -1,8 +1,20 @@
touchlayoutsdir = $(datadir)/caribou/layouts/touch
+touchlayouts_in_files =\
+ ara.xml.in \
+ il.xml.in \
+ us.xml.in
+touchlayouts_DATA = $(touchlayouts_in_files:.xml.in=.xml)
-touchlayouts_DATA = \
- ara.xml \
- il.xml \
- us.xml
+common_files = \
+ common/qwerty.xml \
+ common/symbols.xml
-EXTRA_DIST = $(touchlayouts_DATA)
+%.xsl: %.xml.in
+ xsltproc --xinclude $(top_srcdir)/tools/basic.xsl $< > $@
+
+%.xml: %.xsl %.xml.in
+ xsltproc --xinclude $^ > $@
+
+EXTRA_DIST = $(touchlayouts_in_files) $(common_files)
+
+CLEANFILES = $(touchlayouts_DATA) $(touchlayouts_in_files:.xml.in=.xsl) \ No newline at end of file
diff --git a/data/layouts/touch/ara.xml.in b/data/layouts/touch/ara.xml.in
new file mode 100644
index 0000000..cc831c1
--- /dev/null
+++ b/data/layouts/touch/ara.xml.in
@@ -0,0 +1,57 @@
+<?xml version="1.0" ?>
+<layout xmlns:xi="http://www.w3.org/2001/XInclude">
+ <level mode="default" name="level1">
+ <row>
+ <key name="Arabic_dad"/>
+ <key name="Arabic_sad"/>
+ <key name="Arabic_qaf"/>
+ <key name="Arabic_feh"/>
+ <key name="Arabic_ghain"/>
+ <key name="Arabic_ain"/>
+ <key name="Arabic_ha"/>
+ <key name="Arabic_khah"/>
+ <key name="Arabic_hah"/>
+ <key name="Arabic_jeem"/>
+ <key name="BackSpace"/>
+ </row>
+ <row align="center">
+ <key name="Arabic_sheen"/>
+ <key name="Arabic_seen"/>
+ <key name="Arabic_yeh"/>
+ <key name="Arabic_beh"/>
+ <key name="Arabic_lam"/>
+ <key name="Arabic_alef"/>
+ <key name="Arabic_teh"/>
+ <key name="Arabic_noon"/>
+ <key name="Arabic_meem"/>
+ <key name="Arabic_kaf"/>
+ </row>
+ <row>
+ <key name="Arabic_zah"/>
+ <key name="Arabic_tah"/>
+ <key name="Arabic_thal"/>
+ <key name="Arabic_dal"/>
+ <key name="Arabic_zain"/>
+ <key name="Arabic_ra"/>
+ <key name="Arabic_waw"/>
+ <key name="Arabic_tehmarbuta"/>
+ <key name="Arabic_theh"/>
+ <key name="Return" width="2.0"/>
+ </row>
+ <row>
+ <key align="left" name="Caribou_Symbols" toggle="symbols1" width="2.0"/>
+ <key align="left" name="Arabic_fathatan"/>
+ <key align="left" name="space" width="5.0"/>
+ <key align="right" name="Caribou_Prefs"/>
+ </row>
+ </level>
+ <xi:include href="common/symbols.xml#xpointer(//level[@name='symbols1'])"/>
+ <xi:include href="common/symbols.xml#xpointer(//level[@name='symbols2'])"/>
+ <override xpath="//key[@name='question']">
+ <key name="Arabic_question_mark">
+ <key name="Arabic_question_mark"/>
+ <key name="question"/>
+ <key name="questiondown"/>
+ </key>
+ </override>
+</layout>
diff --git a/data/layouts/touch/us.xml b/data/layouts/touch/common/qwerty.xml
index 559bb69..27e206a 100644
--- a/data/layouts/touch/us.xml
+++ b/data/layouts/touch/common/qwerty.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" ?>
-<layout>
+<external>
<level mode="default" name="level1">
<row>
<key name="q"/>
@@ -174,101 +174,4 @@
<key align="right" name="Caribou_Prefs"/>
</row>
</level>
- <level mode="locked" name="symbols1">
- <row>
- <key name="1"/>
- <key name="2"/>
- <key name="3"/>
- <key name="4"/>
- <key name="5"/>
- <key name="6"/>
- <key name="7"/>
- <key name="8"/>
- <key name="9"/>
- <key name="0"/>
- <key name="BackSpace"/>
- </row>
- <row align="right">
- <key name="minus"/>
- <key name="slash"/>
- <key name="colon"/>
- <key name="semicolon"/>
- <key name="parenleft"/>
- <key name="parenright"/>
- <key name="dollar"/>
- <key name="ampersand"/>
- <key name="at"/>
- <key name="Return" width="1.5"/>
- </row>
- <row>
- <key name="Caribou_Symbols_More" toggle="symbols2" width="2.0"/>
- <key name="period"/>
- <key name="comma"/>
- <key name="question">
- <key name="question"/>
- <key name="questiondown"/>
- </key>
- <key name="slash"/>
- <key name="exclam">
- <key name="exclam"/>
- <key name="exclamdown"/>
- </key>
- <key name="apostrophe"/>
- <key name="quotedbl"/>
- <key name="bar"/>
- <key name="numbersign"/>
- </row>
- <row>
- <key align="left" name="Caribou_Alpha" toggle="default" width="2.0"/>
- <key align="left" name="Caribou_Emoticons"/>
- <key align="left" name="space" width="5.0"/>
- <key align="right" name="Caribou_Prefs"/>
- </row>
- </level>
- <level mode="locked" name="symbols2">
- <row>
- <key name="percent"/>
- <key name="bracketleft"/>
- <key name="bracketright"/>
- <key name="braceleft"/>
- <key name="braceright"/>
- <key name="backslash"/>
- <key name="plus"/>
- <key name="equal"/>
- <key name="grave"/>
- <key name="underscore"/>
- <key name="BackSpace"/>
- </row>
- <row align="right">
- <key align="right" name="less"/>
- <key name="greater"/>
- <key name="asterisk"/>
- <key name="semicolon"/>
- <key name="parenleft"/>
- <key name="parenright"/>
- <key name="dollar"/>
- <key name="ampersand"/>
- <key name="at"/>
- <key name="Return" width="1.5"/>
- </row>
- <row>
- <key name="Caribou_Symbols" toggle="symbols1" width="2.0"/>
- <key name="period"/>
- <key name="comma"/>
- <key name="question"/>
- <key name="slash"/>
- <key name="exclam"/>
- <key name="apostrophe"/>
- <key name="quotedbl"/>
- <key name="bar"/>
- <key name="numbersign"/>
- </row>
- <row>
- <key align="left" name="Caribou_Alpha" toggle="default" width="2.0"/>
- <key align="left" name="Caribou_Emoticons"/>
- <key align="left" name="space" width="5.0"/>
- <key align="right" name="Caribou_Prefs"/>
- </row>
- </level>
-</layout>
-
+</external> \ No newline at end of file
diff --git a/data/layouts/touch/ara.xml b/data/layouts/touch/common/symbols.xml
index f8787ff..94e3b80 100644
--- a/data/layouts/touch/ara.xml
+++ b/data/layouts/touch/common/symbols.xml
@@ -1,69 +1,24 @@
<?xml version="1.0" ?>
-<layout>
- <level mode="default" name="level1">
- <row>
- <key name="Arabic_dad"/>
- <key name="Arabic_sad"/>
- <key name="Arabic_qaf"/>
- <key name="Arabic_feh"/>
- <key name="Arabic_ghain"/>
- <key name="Arabic_ain"/>
- <key name="Arabic_ha"/>
- <key name="Arabic_khah"/>
- <key name="Arabic_hah"/>
- <key name="Arabic_jeem"/>
- <key name="BackSpace"/>
- </row>
- <row align="center">
- <key name="Arabic_sheen"/>
- <key name="Arabic_seen"/>
- <key name="Arabic_yeh"/>
- <key name="Arabic_beh"/>
- <key name="Arabic_lam"/>
- <key name="Arabic_alef"/>
- <key name="Arabic_teh"/>
- <key name="Arabic_noon"/>
- <key name="Arabic_meem"/>
- <key name="Arabic_kaf"/>
- </row>
- <row>
- <key name="Arabic_zah"/>
- <key name="Arabic_tah"/>
- <key name="Arabic_thal"/>
- <key name="Arabic_dal"/>
- <key name="Arabic_zain"/>
- <key name="Arabic_ra"/>
- <key name="Arabic_waw"/>
- <key name="Arabic_tehmarbuta"/>
- <key name="Arabic_theh"/>
- <key name="Return" width="2.0"/>
- </row>
- <row>
- <key align="left" name="Caribou_Symbols" toggle="symbols1" width="2.0"/>
- <key align="left" name="Arabic_fathatan"/>
- <key align="left" name="space" width="5.0"/>
- <key align="right" name="Caribou_Prefs"/>
- </row>
- </level>
+<external>
<level mode="locked" name="symbols1">
<row>
- <key name="Arabic_1"/>
- <key name="Arabic_2"/>
- <key name="Arabic_3"/>
- <key name="Arabic_4"/>
- <key name="Arabic_5"/>
- <key name="Arabic_6"/>
- <key name="Arabic_7"/>
- <key name="Arabic_8"/>
- <key name="Arabic_9"/>
- <key name="Arabic_0"/>
+ <key name="1"/>
+ <key name="2"/>
+ <key name="3"/>
+ <key name="4"/>
+ <key name="5"/>
+ <key name="6"/>
+ <key name="7"/>
+ <key name="8"/>
+ <key name="9"/>
+ <key name="0"/>
<key name="BackSpace"/>
</row>
- <row align="center">
+ <row align="right">
<key name="minus"/>
<key name="slash"/>
<key name="colon"/>
- <key name="Arabic_semicolon"/>
+ <key name="semicolon"/>
<key name="parenleft"/>
<key name="parenright"/>
<key name="dollar"/>
@@ -74,10 +29,16 @@
<row>
<key name="Caribou_Symbols_More" toggle="symbols2" width="2.0"/>
<key name="period"/>
- <key name="Arabic_comma"/>
- <key name="Arabic_question_mark"/>
+ <key name="comma"/>
+ <key name="question">
+ <key name="question"/>
+ <key name="questiondown"/>
+ </key>
<key name="slash"/>
- <key name="exclam"/>
+ <key name="exclam">
+ <key name="exclam"/>
+ <key name="exclamdown"/>
+ </key>
<key name="apostrophe"/>
<key name="quotedbl"/>
<key name="bar"/>
@@ -92,7 +53,7 @@
</level>
<level mode="locked" name="symbols2">
<row>
- <key name="Arabic_percent"/>
+ <key name="percent"/>
<key name="bracketleft"/>
<key name="bracketright"/>
<key name="braceleft"/>
@@ -104,8 +65,8 @@
<key name="underscore"/>
<key name="BackSpace"/>
</row>
- <row align="center">
- <key name="less"/>
+ <row align="right">
+ <key align="right" name="less"/>
<key name="greater"/>
<key name="asterisk"/>
<key name="semicolon"/>
@@ -135,5 +96,4 @@
<key align="right" name="Caribou_Prefs"/>
</row>
</level>
-</layout>
-
+</external>
diff --git a/data/layouts/touch/il.xml b/data/layouts/touch/il.xml
deleted file mode 100644
index 49f766b..0000000
--- a/data/layouts/touch/il.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" ?>
-<layout>
- <level mode="default" name="level1">
- <row>
- <key name="period"/>
- <key name="comma"/>
- <key name="hebrew_qoph"/>
- <key name="hebrew_resh"/>
- <key name="hebrew_aleph"/>
- <key name="hebrew_tet"/>
- <key name="hebrew_waw"/>
- <key name="hebrew_finalnun"/>
- <key name="hebrew_finalmem"/>
- <key name="hebrew_pe"/>
- <key name="BackSpace"/>
- </row>
- <row align="center">
- <key name="hebrew_shin"/>
- <key name="hebrew_dalet"/>
- <key name="hebrew_gimel"/>
- <key name="hebrew_kaph"/>
- <key name="hebrew_ayin"/>
- <key name="hebrew_yod"/>
- <key name="hebrew_chet"/>
- <key name="hebrew_lamed"/>
- <key name="hebrew_finalkaph"/>
- <key name="hebrew_finalpe"/>
- </row>
- <row>
- <key name="hebrew_zain"/>
- <key name="hebrew_samech"/>
- <key name="hebrew_bet"/>
- <key name="hebrew_he"/>
- <key name="hebrew_nun"/>
- <key name="hebrew_mem"/>
- <key name="hebrew_zade"/>
- <key name="hebrew_taw"/>
- <key name="hebrew_finalzade"/>
- <key name="Return" width="2.0"/>
- </row>
- <row>
- <key name="Caribou_Symbols" align="left" toggle="symbols1" width="2.0"/>
- <key name="Caribou_Emoticons" align="left"/>
- <key name="space" width="5.0" align="left"/>
- <key name="Caribou_Prefs" align="right"/>
- </row>
- </level>
- <level mode="locked" name="symbols1">
- <row>
- <key name="1"/>
- <key name="2"/>
- <key name="3"/>
- <key name="4"/>
- <key name="5"/>
- <key name="6"/>
- <key name="7"/>
- <key name="8"/>
- <key name="9"/>
- <key name="0"/>
- <key name="BackSpace"/>
- </row>
- <row align="right">
- <key name="minus"/>
- <key name="slash"/>
- <key name="colon"/>
- <key name="semicolon"/>
- <key name="parenleft"/>
- <key name="parenright"/>
- <key name="dollar"/>
- <key name="ampersand"/>
- <key name="at"/>
- <key name="Return" width="1.5"/>
- </row>
- <row>
- <key name="Caribou_Symbols_More" toggle="symbols2" width="2.0"/>
- <key name="period"/>
- <key name="comma"/>
- <key name="question"/>
- <key name="slash"/>
- <key name="exclam"/>
- <key name="apostrophe"/>
- <key name="quotedbl"/>
- <key name="bar"/>
- <key name="numbersign"/>
- </row>
- <row>
- <key name="Caribou_Alpha" toggle="default" width="2.0" align="left"/>
- <key name="Caribou_Emoticons" align="left"/>
- <key name="space" width="5.0" align="left"/>
- <key name="Caribou_Prefs" align="right"/>
- </row>
- </level>
- <level mode="locked" name="symbols2">
- <row>
- <key name="percent"/>
- <key name="bracketleft"/>
- <key name="bracketright"/>
- <key name="braceleft"/>
- <key name="braceright"/>
- <key name="backslash"/>
- <key name="plus"/>
- <key name="equal"/>
- <key name="grave"/>
- <key name="underscore"/>
- <key name="BackSpace"/>
- </row>
- <row align="right">
- <key name="less"/>
- <key name="greater"/>
- <key name="asterisk"/>
- <key name="semicolon"/>
- <key name="parenleft"/>
- <key name="parenright"/>
- <key name="dollar"/>
- <key name="ampersand"/>
- <key name="at"/>
- <key name="Return" width="1.5"/>
- </row>
- <row>
- <key name="Caribou_Symbols" toggle="symbols1" width="2.0"/>
- <key name="period"/>
- <key name="comma"/>
- <key name="question"/>
- <key name="slash"/>
- <key name="exclam"/>
- <key name="apostrophe"/>
- <key name="quotedbl"/>
- <key name="bar"/>
- <key name="numbersign"/>
- </row>
- <row>
- <key name="Caribou_Alpha" toggle="default" width="2.0" align="left"/>
- <key name="Caribou_Emoticons" align="left"/>
- <key name="space" width="5.0" align="left"/>
- <key name="Caribou_Prefs" align="right"/>
- </row>
- </level>
-</layout>
-
diff --git a/data/layouts/touch/il.xml.in b/data/layouts/touch/il.xml.in
new file mode 100644
index 0000000..1e74a3a
--- /dev/null
+++ b/data/layouts/touch/il.xml.in
@@ -0,0 +1,51 @@
+<?xml version="1.0" ?>
+<layout xmlns:xi="http://www.w3.org/2001/XInclude">
+ <level mode="default" name="level1">
+ <row>
+ <key name="period"/>
+ <key name="comma"/>
+ <key name="hebrew_qoph"/>
+ <key name="hebrew_resh"/>
+ <key name="hebrew_aleph"/>
+ <key name="hebrew_tet"/>
+ <key name="hebrew_waw"/>
+ <key name="hebrew_finalnun"/>
+ <key name="hebrew_finalmem"/>
+ <key name="hebrew_pe"/>
+ <key name="BackSpace"/>
+ </row>
+ <row align="center">
+ <key name="hebrew_shin"/>
+ <key name="hebrew_dalet"/>
+ <key name="hebrew_gimel"/>
+ <key name="hebrew_kaph"/>
+ <key name="hebrew_ayin"/>
+ <key name="hebrew_yod"/>
+ <key name="hebrew_chet"/>
+ <key name="hebrew_lamed"/>
+ <key name="hebrew_finalkaph"/>
+ <key name="hebrew_finalpe"/>
+ </row>
+ <row>
+ <key name="hebrew_zain"/>
+ <key name="hebrew_samech"/>
+ <key name="hebrew_bet"/>
+ <key name="hebrew_he"/>
+ <key name="hebrew_nun"/>
+ <key name="hebrew_mem"/>
+ <key name="hebrew_zade"/>
+ <key name="hebrew_taw"/>
+ <key name="hebrew_finalzade"/>
+ <key name="Return" width="2.0"/>
+ </row>
+ <row>
+ <key name="Caribou_Symbols" align="left" toggle="symbols1" width="2.0"/>
+ <key name="Caribou_Emoticons" align="left"/>
+ <key name="space" width="5.0" align="left"/>
+ <key name="Caribou_Prefs" align="right"/>
+ </row>
+ </level>
+ <xi:include href="common/symbols.xml#xpointer(//level[@name='symbols1'])"/>
+ <xi:include href="common/symbols.xml#xpointer(//level[@name='symbols2'])"/>
+</layout>
+
diff --git a/data/layouts/touch/us.xml.in b/data/layouts/touch/us.xml.in
new file mode 100644
index 0000000..d0cda7b
--- /dev/null
+++ b/data/layouts/touch/us.xml.in
@@ -0,0 +1,8 @@
+<?xml version="1.0" ?>
+<layout xmlns:xi="http://www.w3.org/2001/XInclude">
+ <xi:include href="common/qwerty.xml#xpointer(//level[@name='level1'])"/>
+ <xi:include href="common/qwerty.xml#xpointer(//level[@name='level2'])"/>
+ <xi:include href="common/symbols.xml#xpointer(//level[@name='symbols1'])"/>
+ <xi:include href="common/symbols.xml#xpointer(//level[@name='symbols2'])"/>
+</layout>
+