SUCCESS: xorg, hal and international keyboard

Renato Botelho rbgarga at gmail.com
Sat May 23 18:20:45 UTC 2009


On Fri, Apr 10, 2009 at 6:10 AM, Boris Samorodov <bsam at ipt.ru> wrote:
> 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
> _______________________________________________
> freebsd-x11 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-x11
> To unsubscribe, send any mail to "freebsd-x11-unsubscribe at freebsd.org"
>

Hello Boris,

You don't need to patch this file, just create your own one
and save it as /usr/local/etc/hal/fdi/policy/keyboard.fdi and
restar hal.

Here is my example, not international, but a Sun Type 7

garga at botelhor:~> cat /usr/local/etc/hal/fdi/policy/keyboard.fdi
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
        <device>
                <match key="info.capabilities" contains="input.keyboard">
                <match key="info.product" contains="Type 7 USB keyboard">
                        <merge key="input.x11_driver" type="string">kbd</merge>
                        <merge key="input.x11_options.XkbLayout"
type="string">pc(pc105)+sun_vndr/usb(sun_usb)+pc(pc105)+us(intl)</merge>
                </match>
                </match>
        </device>
</deviceinfo>

-- 
Renato Botelho


More information about the freebsd-x11 mailing list