+and bindings are executed in order from first to last. Bindings support
+conditions (see README.conditions):
+
+ <key n="113">
+ <name>q</name>
+ <desc>Test</desc>
+
+ <binding>
+ <condition>
+ <property>/devices/status/mice/mouse/button[0]</property>
+ </condition>
+ <command>nasal</command>
+ <script>print("mouse button 0 pressed")</script>
+ </binding>
+ </key>
+
+Keyboard definitions can embed bindings in tags <mod-up> (key released),
+<mod-shift>, <mod-ctrl>, <mod-alt>, <mod-meta>, <mod-super>, and <mod-hyper>.
+Nesting is supported. Meta, Super, and Hyper modifier tags are for local
+use only, and must be supported by the operating system to work.
+
+ <key n="113">
+ <name>q</name>
+ <desc>Test</desc>
+ <binding>
+ <command>nasal</command>
+ <script>print("q pressed")</script>
+ </binding>
+
+ <mod-alt>
+ <binding>
+ <command>nasal</command>
+ <script>print("Alt-q pressed")</script>
+ </binding>
+
+ <mod-super>
+ <binding>
+ <command>nasal</command>
+ <script>print("Alt-Super-q pressed")</script>
+ </binding>
+
+ <mod-meta>
+ <binding>
+ <command>nasal</command>
+ <script>print("Alt-Super-Meta-q pressed")</script>
+ </binding>
+
+ </mod-meta>
+ </mod-super>
+ </mod-alt>
+ </key>
+