hal: Branch 'master' - 2 commits

David Zeuthen david at kemper.freedesktop.org
Fri Aug 31 11:31:59 PDT 2007


 doc/spec/hal-spec-properties.xml       |   84 +++++++++++++++++++++++++++++++++
 fdi/policy/10osvendor/10-keymap.fdi    |   16 +++++-
 fdi/policy/10osvendor/10-x11-input.fdi |   23 +++++++++
 fdi/policy/10osvendor/Makefile.am      |    1 
 4 files changed, 123 insertions(+), 1 deletion(-)

New commits:
diff-tree c279d7c1f8b52b1b99767e7c7a03305b573f7c31 (from 635e9105b70ebed78e6b8ca65622a096a490bf8d)
Author: Daniel Stone <daniel at fooishbar.org>
Date:   Wed Aug 8 01:46:53 2007 +0300

    add input.x11_driver
    
    Add the input.x11_driver property, which specifies an X11 input driver to use,
    as well as an initial FDI that tries to use evdev on Linux.

diff --git a/doc/spec/hal-spec-properties.xml b/doc/spec/hal-spec-properties.xml
index 7c436e3..7fbee1a 100644
--- a/doc/spec/hal-spec-properties.xml
+++ b/doc/spec/hal-spec-properties.xml
@@ -4634,6 +4634,14 @@ org.freedesktop.Hal.Device.Volume.method
               <entry>Yes</entry>
               <entry>Special device file for recieving input events</entry>
             </row>
+            <row>
+              <entry>
+                <literal>input.x11_driver</literal> (string)
+              </entry>
+              <entry>e.g. "evdev"</entry>
+              <entry>No</entry>
+              <entry>X11 input driver to use</entry>
+            </row>
           </tbody>
         </tgroup>
       </informaltable>
diff --git a/fdi/policy/10osvendor/10-x11-input.fdi b/fdi/policy/10osvendor/10-x11-input.fdi
new file mode 100644
index 0000000..6bd8e76
--- /dev/null
+++ b/fdi/policy/10osvendor/10-x11-input.fdi
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<deviceinfo version="0.2">
+  <device>
+    <!-- FIXME: Support tablets too. -->
+    <match key="info.capabilities" contains="input.mouse">
+      <merge key="input.x11_driver" type="string">mouse</merge>
+      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
+             string="Linux">
+        <merge key="input.x11_driver" type="string">evdev</merge>
+      </match>
+    </match>
+
+    <match key="info.capabilities" contains="input.keys">
+      <!-- If we're using Linux, we use evdev by default (falling back to
+           keyboard otherwise). -->
+      <merge key="input.x11_driver" type="string">keyboard</merge>
+      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
+             string="Linux">
+        <merge key="input.x11_driver" type="string">evdev</merge>
+      </match>
+    </match>
+  </device>
+</deviceinfo>
diff --git a/fdi/policy/10osvendor/Makefile.am b/fdi/policy/10osvendor/Makefile.am
index f3c7676..91b935e 100644
--- a/fdi/policy/10osvendor/Makefile.am
+++ b/fdi/policy/10osvendor/Makefile.am
@@ -3,6 +3,7 @@ fdidir = $(datadir)/hal/fdi/policy/10osv
 
 dist_fdi_DATA = 			\
 	10-input-policy.fdi		\
+	10-x11-input.fdi		\
 	10-power-mgmt-policy.fdi	\
 	10-rfkill-switch.fdi		\
 	10-laptop-panel-mgmt-policy.fdi	\
diff-tree 635e9105b70ebed78e6b8ca65622a096a490bf8d (from 9df2bc84351059f773dbe69f8119124109fff3db)
Author: Daniel Stone <daniel at fooishbar.org>
Date:   Wed Aug 8 01:46:50 2007 +0300

    add input.xkb properties
    
    Add input.xkb.{rules,model,layout,variant,options} to the spec and add a
    default implementation, which specifies a keyboard ruleset to use for
    XKB.

diff --git a/doc/spec/hal-spec-properties.xml b/doc/spec/hal-spec-properties.xml
index 4b9038d..7c436e3 100644
--- a/doc/spec/hal-spec-properties.xml
+++ b/doc/spec/hal-spec-properties.xml
@@ -4740,6 +4740,82 @@ org.freedesktop.Hal.Device.Volume.method
         </tgroup>
       </informaltable>
     </sect2>
+    <sect2 id="device-properties-input-xkb">
+      <title>
+        input.xkb namespace
+      </title>
+      <para>
+        Device objects with the capability <literal>input.keys</literal>
+        can provide information about their physical layout.
+      </para>
+      <informaltable>
+        <tgroup cols="2">
+          <thead>
+            <row>
+              <entry>Key (type)</entry>
+              <entry>Values</entry>
+              <entry>Mandatory</entry>
+              <entry>Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <row>
+              <entry>
+                <literal>input.xkb.rules</literal> (string)
+              </entry>
+              <entry>e.g. "base"</entry>
+              <entry>Yes</entry>
+              <entry>
+                XKB rules file to use; 'base' is standard, but 'xorg'
+                or 'xfree86' may be needed for backwards compatibility
+                with very old versions of XKB data.
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <literal>input.xkb.model</literal> (string)
+              </entry>
+              <entry>e.g. "logicdp"</entry>
+              <entry>Yes</entry>
+              <entry>
+                Physical keyboard model (e.g. Logitech Cordless Freedom
+                Pro), as given to XKB.
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <literal>input.xkb.layout</literal> (string)
+              </entry>
+              <entry>e.g. "us"</entry>
+              <entry>Yes</entry>
+              <entry>
+                Keyboard layout (as engraved on the keys).
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <literal>input.xkb.variant</literal> (string)
+              </entry>
+              <entry>e.g. "nodeadkeys"</entry>
+              <entry>No</entry>
+              <entry>
+                Variant of the XKB layout (if any) to use.
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <literal>input.xkb.options</literal> (strlist)
+              </entry>
+              <entry>e.g. "ctrl:nocaps"</entry>
+              <entry>No</entry>
+              <entry>
+                Options to be provided to XKB.
+              </entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </sect2>
     <sect2 id="device-properties-pcmcia_socket">
       <title>
         pcmcia_socket namespace
diff --git a/fdi/policy/10osvendor/10-keymap.fdi b/fdi/policy/10osvendor/10-keymap.fdi
index 9b92b1b..c9ad87c 100644
--- a/fdi/policy/10osvendor/10-keymap.fdi
+++ b/fdi/policy/10osvendor/10-keymap.fdi
@@ -4,6 +4,20 @@
     <match key="info.capabilities" contains="input.keymap">
       <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
     </match>
+
+    <match key="info.capabilities" contains="input.keys">
+      <merge key="input.xkb.rules" type="string">base</merge>
+
+      <!-- If we're using Linux, we use evdev by default (falling back to
+           keyboard otherwise). -->
+      <merge key="input.xkb.model" type="string">keyboard</merge>
+      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
+             string="Linux">
+        <merge key="input.xkb.model" type="string">evdev</merge>
+      </match>
+
+      <merge key="input.xkb.layout" type="string">us</merge>
+      <merge key="input.xkb.variant" type="string" />
+    </match>
   </device>
 </deviceinfo>
-


More information about the hal-commit mailing list