Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Apr 2009 13:10:48 +0400
From:      Boris Samorodov <bsam@ipt.ru>
To:        freebsd-x11@FreeBSD.org
Subject:   SUCCESS: xorg, hal and international keyboard
Message-ID:  <34088967@bb.ipt.ru>

next in thread | raw e-mail | index | archive | help
Hello List,


I didn't find any full information on how to configure hal to use
international keyboard with new xorg versions. That's my success
story.

When hal is used (it's a default for new xorg) the keyboard is
configured according to
LOCALBASE/share/hal/fdi/policy/10osvendor/10-x11-input.fdi
My previous xorg.conf has defined keyboard as:
-----
Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us,ru(winkeys)"
        Option      "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll,altwin:menu"
EndSection
-----

The last two options should be moved to 10-x11-input.fdi. Beware
that Option "XkbLayout" "us,ru(winkeys)" is equal to
-----
Option      "XkbLayout" "us,ru"
Option      "XkbVariant" ",winkeys"
-----

One more change should be done at 10-x11-input.fdi: a match key
for "linux" should be changed to "FreeBSD". ;-)

So, for my keyboard the diff is (well, I've changed a comment
also):
-----
--- 10-x11-input.fdi.orig	2009-04-10 10:35:51.000000000 +0400
+++ 10-x11-input.fdi	2009-04-10 13:06:49.000000000 +0400
@@ -2,12 +2,13 @@
 <deviceinfo version="0.2">
   <device>
     <match key="info.capabilities" contains="input.keyboard">
-      <!-- If we're using Linux, we use evdev by default (falling back to
-           keyboard otherwise). -->
+      <!-- If we're using FreeBSD, we use kbd by default -->
       <merge key="input.x11_driver" type="string">kbd</merge>
       <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
-             string="Linux">
-        <merge key="input.x11_driver" type="string">evdev</merge>
+             string="FreeBSD">
+      <merge key="input.xkb.layout" type="string">us,ru</merge>  
+      <merge key="input.xkb.variant" type="string">,winkeys</merge>  
+      <merge key="input.xkb.options" type="string">grp:ctrl_shift_toggle,grp_led:scroll,altwin:menu</merge>  
       </match>
     </match>
   </device>
-----

If nothing helps you may wish to restart hald. ;-)


HTH & WBR
-- 
Boris Samorodov (bsam)
Research Engineer, http://www.ipt.ru Telephone & Internet SP
FreeBSD Committer, http://www.FreeBSD.org The Power To Serve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?34088967>