summaryrefslogtreecommitdiffstats
path: root/yaml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--yaml/neo20.py16
-rw-r--r--yaml/neo20.xml711
-rw-r--r--yaml/neo20.xsl188
-rw-r--r--yaml/neo20.yaml226
-rw-r--r--yaml/readme.txt12
5 files changed, 1153 insertions, 0 deletions
diff --git a/yaml/neo20.py b/yaml/neo20.py
new file mode 100644
index 0000000..7b66a9e
--- /dev/null
+++ b/yaml/neo20.py
@@ -0,0 +1,16 @@
+import yaml, sys
+
+try:
+ quelle = open("neo20.yaml")
+ try:
+ wurzel = yaml.load(quelle) #_all entfernen
+ finally:
+ quelle.close()
+
+except IOError:
+ pass
+except yaml.YAMLError, exc:
+ if hasattr(exc, 'problem_mark'):
+ mark = exc.problem_mark
+ print "YAML-Parserfehler: (%s:%s)" % (mark.line+1, mark.column+1)
+ sys.stdin.read()
diff --git a/yaml/neo20.xml b/yaml/neo20.xml
new file mode 100644
index 0000000..5ff13a7
--- /dev/null
+++ b/yaml/neo20.xml
@@ -0,0 +1,711 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!DOCTYPE neo [
+ <!ELEMENT e EMPTY> <!-- ebene -->
+ <!ATTLIST e
+ n CDATA #REQUIRED
+ l CDATA #IMPLIED
+ k CDATA #IMPLIED
+ a CDATA #IMPLIED
+ m CDATA #IMPLIED
+ i CDATA #REQUIRED
+ e CDATA ""
+ x CDATA #IMPLIED
+ y CDATA #IMPLIED
+ >
+ <!--ATTLIST e
+ n nummer der ebene
+ l symbolischer linuxname
+ k kbdneo-name
+ a ahk-name
+ m mac-name
+ i beschriftung der tastenebene
+ e beschreibung in der referenz
+ x buchstabenposition relativ zur taste
+ y buchstabenposition relativ zur taste -->
+ <!ELEMENT t (e)+> <!-- taste -->
+ <!ATTLIST t
+ xkbmap CDATA #IMPLIED
+ keycode CDATA #IMPLIED
+ kbdname CDATA #IMPLIED
+ a CDATA #IMPLIED
+ vb CDATA "5"
+ b CDATA "1"
+ h CDATA "1"
+ e CDATA ""
+ x CDATA #IMPLIED
+ y CDATA #IMPLIED
+ farbe CDATA #IMPLIED
+ capslock CDATA "1"
+ >
+ <!--ATTLIST t
+ keycode: xmodmap!, mac
+ a: ahkname
+ vb: (voll)breite in der tastaturübersicht
+ b: breite in der miniaturansicht
+ h: höhe
+ e: beschreibung
+ x: breite/position?
+ y: höhe/position? -->
+ <!ELEMENT r (t)+>
+ <!ATTLIST r n CDATA #IMPLIED>
+ <!ELEMENT hf (r)+> <!-- hauptfeld -->
+ <!ELEMENT nf (r)+> <!-- nummernfeld -->
+ <!ELEMENT neo (hf , nf)> ]>
+<neo>
+ <hf>
+ <r n="1">
+ <t xkbmap="TLDE" a="VKDCSC029" breite="3" beschreibung="T1 („Tote Taste 1“: Taste links neben der 1)">
+ <e n="1" l="dead_circumflex" a="Tcflx" i="ˆ" e="Toter Zirkumflex (sieht aus wie U+02C6 MODIFIER LETTER CIRCUMFLEX ACCENT)"/>
+ <e n="2" l="dead_tilde" a="TTlde" i="˜" e="Tote Tilde (sieht aus wie U+02DC SMALL TILDE)"/>
+ <e n="3" l="dead_abovering" a="Tobrg" i="˚" e="Toter Ring (sieht aus wie U+02DA RING ABOVE)"/>
+ <e n="4" l="dead_caron" a="Tcron" i="ˇ" e="Toter Caron/Hatschek (sieht aus wie U+02C7 CARON)"/>
+ <e n="5" l="dead_breve" a="Tbrve" i="˘" e="Toter Breve/Brevis (sieht aus wie U+02D8 BREVE)"/>
+ <e n="6" l="dead_macron" a="Tmcrn" i="¯" e="Toter Makron (sieht aus wie U+00AF MACRON)"/>
+ </t>
+ <t xkbmap="AE01" a="VK31SC002">
+ <e n="1" l="1" a="U0031" i="1"/>
+ <e n="2" l="degree" a="U00B0" i="°"/>
+ <e n="3" l="onesuperior" a="U00B9" i="¹"/>
+ <e n="4" l="masculine" a="U00BA" i="º"/>
+ <e n="5" l="onesubscript" a="U2081" i="₁"/>
+ <e n="6" l="notsign" a="U00AC" i="¬"/>
+ </t>
+ <t xkbmap="AE02" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="AE03" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="AE04" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="AE05" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="AE06" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="AE07" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="AE08" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="AE09" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="AE10" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="AE11" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="AE12" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="BKSP" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ </r>
+ <r n="2">
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ </r>
+ <r n="3">
+ <t xkbmap="u" keycode="38" kbdname="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ </r>
+ <r n="4">
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ </r>
+ <r n="5">
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ </r>
+ </hf>
+ <nf>
+ <r n="1">
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ </r>
+ <r n="2">
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ </r>
+ <r n="3">
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ </r>
+ <r n="4">
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ </r>
+ <r n="5">
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ <t xkbmap="" a="">
+ <e n="1" l="" a="" i=""/>
+ <e n="2" l="" a="" i=""/>
+ <e n="3" l="" a="" i=""/>
+ <e n="4" l="" a="" i=""/>
+ <e n="5" l="" a="" i=""/>
+ <e n="6" l="" a="" i=""/>
+ </t>
+ </r>
+ </nf>
+</neo> \ No newline at end of file
diff --git a/yaml/neo20.xsl b/yaml/neo20.xsl
new file mode 100644
index 0000000..40d05b2
--- /dev/null
+++ b/yaml/neo20.xsl
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8">
+<xsl:stylesheet version=1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:template match="/">
+-------------------------------------------------------------------------------
+ACHTUNG:
+Damit alles ordentlich dargestellt wird, muss man für die Darstellung z. B. im
+Texteditor eine dicktengleiche Schrift einstellen!
+
+Im Browser (Firefox) muss man unter Ansicht, Zeichenkodierung auf Unicode
+(UTF-8) stellen.
+
+Unter Windows ist in der Grundinstallation leider keine dicktengleiche Schrift
+installiert, die befriedigend viele Unicodezeichen beinhaltet.
+Abhilfe schafft z. B. DejaVu Sans Mono (ist z. B. bei OpenOffice dabei):
+http://dejavu.sourceforge.net/
+-------------------------------------------------------------------------------
+
+== Haupttastatur ==
+=== Legende – Haupttastatur ===
+┌─────┐ 1 … 1. Ebene (kein Mod) │ 4 … 4. Ebene (Mod4)
+│2 4 6│ 2 … 2. Ebene (Umschalt) │ 5 … 5. Ebene (Mod3+Umschalt)
+│1 3 5│ 3 … 3. Ebene (Mod3) │ 6 … 6. Ebene (Mod3+Mod4)
+└─────┘
+• Ebene 1: Kleinbuchstaben (kein Mod)
+• Ebene 2: Großbuchstaben (Umschalt)
+• Ebene 3: Sonderzeichen (Mod3)
+• Ebene 4: Navigation und Ziffernblock (Mod4)
+• Ebene 5: Griechische Kleinbuchstaben (Mod3+Umschalt)
+• Ebene 6: Griechische Großbuchstaben (Mod3+Mod4)
+
+• Kombo/Compose: Zusammensetzen von Zeichen (Mod3+Tab)
+ Beispiel:
+ »Compose« »Compose loslassen« »o« »c« = ©
+• Feststellen/Capslock: Dauergroßschreiben (Umschalt+Umschalt)
+ Zum Lösen der Feststellung nochmals gleiche Kombination
+• Feststellen der Ebene 4: (Mod4+Mod4) oder (Umschalt+Mod3+Tab)
+ Zum Lösen der Feststellung nochmals gleiche Kombination
+
+ HINWEIS: Unter Linux ist es momentan noch nicht möglich die Feststellung
+ zu lösen, indem man beide Mods drückt. Man muss dort nur einen drücken!
+
+=== Maustastatursteuerung ===
+Die Maustastatursteuerung schaltet man über Shift+Mod4+T1 ein und ebenso wieder aus.
+Mit dieser kann man den Mauszeiger über die Tastatur steuern. Dies kann sinnvoll sein, falls
+die Maus oder das Touchpad streikt oder keine solches Medium vorhanden ist.
+Am besten geeignet ist dazu die Ebene 4 des Keypads (z.B. mit Mod4_Lock). Verzichtet man auf
+Markierungen ist auch Ebene 1 des Keypads geeignet.
+Des Weiteren kann man die Zahlen auf Ebene 4 des Haupttastaturfelds benutzen, jedoch ist die
+Bedienung dort weniger komfortabel.
+
+=== Symbole ===
+⇞⇟ … Bild auf/Bild ab
+⇱⇲ … Pos1/Ende
+⌫ ⌦ … Backspace/Entf
+⌧ … Esc
+⎀ … Einf
+⇠⇡⇢⇣ … Links/Hoch/Rechts/Runter
+♫ … Steht als Symbol für die Kombotaste (Compose)
+╌ … Weicher Trennstrich (U+00AD SOFT HYPHEN)
+␣ … Leerzeichen (SPACE)
+⍽ … Geschütztes Leerzeichen (U+00A0 NO-BREAK SPACE)
+¦ … Schmales, geschütztes Leerzeichen (U+202F NARROW NO-BREAK SPACE)
+↶ … undo-Funktion
+
+=== Akzenttasten ===
+Zu den Akzenten siehe auch
+• http://unicode.e-workers.de/
+• http://de.wikipedia.org/wiki/Diakritisches_Zeichen
+• http://de.wikipedia.org/wiki/Liste_lateinisch-basierter_Alphabete
+
+ <xsl:apply-templates/>
+
+
+ACHTUNG: „Tote Tasten“ (Tasten zum Erzeugen toter Zeichen – also Zeichen die nicht
+gleich erscheinen, sondern nur in Kombination mit einem weiteren Buchstaben) werden
+folgendermaßen bedient (Beispiel):
+1. Tote Tilde »~« eingeben.
+2. Danach »n«.
+3. Es erscheint das »ñ«.
+
+TIPP: Mit den toten Tasten Zirkumflex und Querstrich kann man hoch(ˆ)- und tiefgestellte(/) Ziffern erzeugen.
+
+=== Taste mit Bindestrichen, Gedankenstrich usw. ===
+Zu den Gedankenstrichen usw. siehe
+• http://www.matthias-kammerer.de/SonsTypo3.htm
+• http://de.wikipedia.org/wiki/Weicher_Trennstrich
+
+ <xsl:apply-templates/>
+
+=== Dezimaltrennzeichen ===
+Das Dezimaltrennzeichen ist auf englischen und südamerikanischen Systemen ein Punkt ».«.
+Auf deutschen, französischen, spanischen, schweizerischen und anderen ein Komma »,«.
+Siehe auch http://de.wikipedia.org/wiki/Dezimaltrennzeichen
+
+== Ziffern ==
+Die Ziffern auf der Ersten Ebene sind die »normalen« Zahlen (also nicht die KP_-Variante),
+wogegen für den Ziffernblock auf der vierten Ebene stets die KP_‐Varianten verwendet werden
+sollten, um die Vielseitigkeit und Funktionsfähigkeit der NEO‐Tastatur zu gewährleisten.
+
+=== Alle Ebenen – Haupttastatur ===
+ <xsl:apply-templates/>
+
+== Ziffernblock ==
+Um die Vielseitigkeit und Funktionsfähigkeit der NEO‐Tastatur zu gewährleisten,
+sollten für alle Elemente auf dem Keypad wenn möglich die KP_‐Variante verwendet werden!
+
+=== Legende – Ziffernblock ===
+┌───────┐ 1 … 1. Ebene (kein Mod) │ 4 … 4. Ebene (Mod4)
+│ 2 4 6 │ 2 … 2. Ebene (Umschalt) │ 5 … 5. Ebene (Mod3+Umschalt)
+│ 1 3 5 │ 3 … 3. Ebene (Mod3) │ 6 … 6. Ebene (Mod3+Mod4)
+└───────┘
+
+=== Rechenzeichen ===
+ <xsl:apply-templates/>
+
+=== Alle Ebenen – Ziffernblock ===
+ <xsl:apply-templates/>
+== Tipp ==
+Trägt man unter Linux/Mac/BSD folgende Zeilen in die ~/.bashrc, ~/.zshrc oder
+vergleichbares ein, bekommt man anschließend mittels Eingabe von »neo« oder
+»num« die aktuelle Belegung in der Konsole angezeigt:
+alias num='grep -m 1 -B 15 "┴───────┘" PFAD_ZUR_DATEI/neo20.txt'
+alias neo='grep -m 1 -B 15 "┴──────┘" PFAD_ZUR_DATEI/neo20.txt'
+
+Dazu muss »PFAD_ZUR_DATEI« durch den Pfad zu dieser Datei ersetzt werden.
+
+Im Verzeichnis linux/bin sind umfangreichere Skripte mit größerer Funktionalität.
+
+== Zeichenerläuterungen ==
+Ξ … Xi, griechischer Majuskel (U039E)
+≙ … entspricht (U2259)
+Λ … Lambda, griechischer Majuskel (U039B)
+ℂ … Menge der komplexen Zahlen (U2102)
+Ω … Omega, griechischer Majuskel (U03A9)
+√ … Wurzel aus (U221A)
+Ψ … Psi, griechischer Majuskel (U03A8)
+Γ … Gamma, griechischer Majuskel (U0393)
+Φ … Phi, griechischer Majuskel (U03A6)
+ℚ … Menge der rationalen Zahlen (U211A)
+∘ … Verknüpfungsoperator (U2218)
+∮ … Integral über eine geschlossene Kurve (U222E)
+∫ … Integral (U222B)
+∀ … Allquantor ; für alle (U2200)
+∃ … Existenzquantor ; es gibt (U2203)
+∈ … Element von (U2208)
+Σ … Sigma, griechischer Majuskel (U03A3)
+ℕ … Menge der natürlichen Zahlen (U2115)
+ℝ … Menge der reellen Zahlen (U211D)
+∂ … partielle Ableitung (U2202)
+Δ … Delta, griechischer Majuskel (U0394)
+∇ … Nablaoperator (Gradient, Divergenz, Rotation) (U2207)
+∝ … proportional zu (U221D)
+ℑ … Imaginärteil einer komplexen Zahl (U2111)
+ℜ … Realteil einer komplexen Zahl (U211C)
+ℵ … Kardinalzahlen, Aleph-Symbol (U2135)
+Π … Pi, griechischer Majuskel (U03A0)
+ℤ … Menge der ganzen Zahlen (U2124)
+⇒ … Implikation ; daraus folgt ; hinreichend für (U21D2)
+⇔ … Äquivalenzzeichen (U21D4)
+⇐ … notwendig für ; nur dann, wenn (U21D0)
+Θ … Theta, griechischer Majuskel (U0398)
+≡ … identisch (U2261)
+□ … Beweisende (qed) (U25A1)
+⊙ … direkte Summe ; Vektor aus der Ebene zeigend (U2299)
+⊗ … Tensorprodukt ; Vektor in die Ebene zeigend (U2297)
+∞ … unendlich (U221E)
+∋ … enthält das Element (U220B)
+ª … weiblicher Ordinalindikator (2ª) (00AA)
+º … männlicher Ordinalindikator (1º) (00BA)
+
+== Hinweise zu Doppelbelegungen in Unicode ==
+Griechische Minuskel und Majuskel besitzten in der Regel eine weitere Bedeutung, z.B.
+• Δ für Differenz oder Fehler
+• Θ für homöopathische Urtinktur
+• Γ für Gammafunktion
+
+Einige finden sich darum an mehreren Stellen im Unicode, um (eventuelle) Unterschiede
+deutliche machen zu können. Zur Platzersparnis haben wir stets eines (das einfachste
+und allgemeinste) Zeichen aufgenommen:
+• Ω (U03A9) ; Einheit des Widerstandes Ohm (U2126)
+• Σ (U03A3) ; Summenzeichen (U2211)
+• Δ (U0394) ; Laplaceoperator (2206) ; Dreieck, symmetrische Differenz (25B3)
+• ∇ (U2207) ; Dreieck (U25BD)
+• Π (U03A0) ; Produktzeichen ∏ (U220F)
+• µ (U03BC) ; SI-Vorsilbe micro (U00B5)
+
+</xsl:template>
+</xsl:stylesheet>
diff --git a/yaml/neo20.yaml b/yaml/neo20.yaml
new file mode 100644
index 0000000..83bc7d9
--- /dev/null
+++ b/yaml/neo20.yaml
@@ -0,0 +1,226 @@
+# (?, QWERTZ-^): [xkb, mOd, kbd, ahk, [
+# {?: [lin, kbd, ahk, {x,y: grafikpositionen, e: erläuterung in der referenz}*],
+# {b: breite, v: vollbreite, h: höhe, w: vollhöhe, x,y: grafik, f: farbe, c: capslock(False), e: s. o.}]
+[
+ [
+ (ˆ, QWERTZ-^): [TLDE, 49, VK_OEM_1, VKDCSC029, [
+ {ˆ: [dead_circumflex, WCH_DEAD, Tcflx, {e: "Toter Zirkumflex (sieht aus wie U+02C6 MODIFIER LETTER CIRCUMFLEX ACCENT)"}]},
+ {˜: [dead_tilde, WCH_DEAD, Ttlde, "Tote Tilde (sieht aus wie U+02DC SMALL TILDE)"]},
+ {°: [dead_abovering, WCH_DEAD, Tobrg, "Toter Ring (sieht aus wie U+02DA RING ABOVE)"]},
+ {ˇ: [dead_caron]},
+ {˘: [dead_breve]},
+ {¯: [dead_macron]}],
+# {7: NoSymbol},
+ {e: "T1 („Tote Taste 1“: Taste links neben der 1)",
+ c: False}],
+ (1, QWERTZ-1): [ AE01, 10, [
+ {1: [1]},
+ {°: [degree]},
+ {¹: [onesuperior]},
+ {ª: [ordfeminine]},
+ {₁: [onesubscript]},
+ {¬: [notsign]}],
+ {c: False}]
+ ]
+]
+---
+-
+ -
+ -
+ - [2, AE02, 11]
+ - [2, 2]
+ - [§, section]
+ - [², twosuperior]
+ - [º, masculine]
+ - [₂, twosubscript]
+ - [∨, logicalor]
+ -
+ - [3, AE03, 12]
+ - [3, 3]
+ - [ℓ, U2213]
+ - [³, threesuperior]
+ - [№, numerosign]
+ - [₃, threesubscript]
+ - [∧, logicaland]
+ -
+ - [4, AE04, 13]
+ - [4, 4]
+ - [»]
+ - [›]
+ - [⇞]
+ - [†]
+ - [⊥]
+ -
+ - [5, AE05, 14]
+ - [5, 5]
+ - [«]
+ - [‹]
+ - [‧]
+ - [♀]
+ - [∡]
+ -
+ - [6, AE06, 15]
+ - [6, 6]
+ - [€]
+ - [¢]
+ - [£]
+ - [♂]
+ - [∥]
+ -
+ - [7, AE07, 16]
+ - [7, 7]
+ - [$]
+ - [¥]
+ - [¤]
+ - [κ]
+ - [→]
+ -
+ - [8, AE08, 17]
+ - [8, 8]
+ - [„]
+ - [‚]
+ - [/]
+ - [⟨]
+ - [∞]
+ -
+ - [9, AE09, 18]
+ - [9, 9]
+ -
+ - [0, AE10, 19]
+ - [0, 0]
+ -
+ - [-, AE11, 20]
+ -
+ - ["`", AE12, 21]
+ -
+ - [⌫, BKSP, 22]
+ -
+ -
+ - [Tab, TAB, 23]
+ -
+ - [x, AD01, 24]
+ -
+ - [v, AD02, 25]
+ -
+ - [l, AD03, 26]
+ -
+ - [c, AD04, 27]
+ -
+ - [w, AD05, 28]
+ -
+ - [k, AD06, 29]
+ -
+ - [h, AD07, 30]
+ -
+ - [g, AD08, 31]
+ -
+ - [f, AD09, 32]
+ -
+ - [q, AD10, 33]
+ -
+ - [ß, AD11, 34]
+ -
+ - [Enter, AD13, 36] #?
+ -
+ -
+ - [Mod3, CAPS, 66]
+ -
+ - [u, AC01, 38]
+ -
+ - [i, AC02, 39]
+ -
+ - [a, AC03, 40]
+ -
+ - [e, AC04, 41]
+ -
+ - [o, AC05, 42]
+ -
+ - [s, AC06, 43]
+ -
+ - [n, AC07, 44]
+ -
+ - [r, AC08, 45]
+ -
+ - [t, AC09, 46]
+ -
+ - [d, AC10, 47]
+ -
+ - [y, AC11, 48]
+ -
+ - [Mod3, AC01, 51]
+ -
+ - Mod2
+ - Mod4
+ -
+ - [ü, AB01, 52]
+ -
+ - [ö, AB02, 53]
+ -
+ - [ä, AB03, 54]
+ -
+ - [p, AB04, 55]
+ -
+ - [z, AB05, 56]
+ -
+ - [b, AB06, 57]
+ -
+ - [m, AB07, 58]
+ -
+ - [Komma, AB08, 59]
+ -
+ - [Punkt, AB09, 60]
+ -
+ - [j, AB10, 61]
+ - Mod2
+ -
+ - Strg
+ - Fenster
+ - Alt
+ -
+ - [Leertaste, SPCE, 65]
+ -
+ - [Mod4]
+ - Fenster
+ - Menü
+ - Strg
+ ]
+-
+ -
+ -
+ - [Tab, NMLK]
+ -
+ - [Geteilt, KPDV]
+ -
+ - [Mal, KPMU]
+ -
+ - [Minus, KPSU]
+ -
+ -
+ - [7, KP7]
+ -
+ - [8, KP8]
+ -
+ - [9, KP9]
+ -
+ - [Plus, KPAD]
+ -
+ -
+ - [4, KP4]
+ -
+ - [5, KP5]
+ -
+ - [6, KP6]
+ -
+ -
+ - [1, KP1]
+ -
+ - [2, KP2]
+ -
+ - [3, KP3]
+ -
+ - [Return, KPEN]
+ -
+ -
+ - [0, KP0]
+ -
+ - [Komma, KPDL] \ No newline at end of file
diff --git a/yaml/readme.txt b/yaml/readme.txt
new file mode 100644
index 0000000..cadff11
--- /dev/null
+++ b/yaml/readme.txt
@@ -0,0 +1,12 @@
+Aus der neo20.yaml sollen einmal automatisch erstellt werden:
+
+- XkbMap
+- XModMap -> Konsolen-Map, Tastenaufkleber
+- KbdNeo
+- AHK, Bildschirmtastatur
+- Mac-Treiber, hier brauche ich die Unterstützung von Mac-Entwicklern
+- Referenz
+- gerne auch Aufsteller, Tabellen, Druckvorlagen, …
+- KTouch-Lektionen?
+
+Für die Yaml/Python-Verarbeitung nutze ich PyYAML (pyyaml.org).