Problems migrating xorg input confs to HAL

Renato Botelho rbgarga at gmail.com
Mon Mar 2 10:19:19 PST 2009


On Mon, Mar 2, 2009 at 1:08 PM, Renato Botelho <rbgarga at gmail.com> wrote:
> Hello,
>
> After xorg was upgraded to 7.4 I added AllowEmptyInput off and keep
> using xorg.conf intead of moving to hal, my system is a current r189278.
>
> Today I've decided to try to move my keyboard and mouse confs to hal
> to start using the new configuration model. Mouse did fine, but i have
> some problems with keyboard.
>
> I use a Sun type 7 unix us keyboard, on my xorg.conf I had:
>
> Option      "XkbRules"    "xorg"
> Option      "XkbSymbols"  "pc(pc105)+sun_vndr/usb(sun_usb)+pc(pc105)+us(intl)"
>
> when I simply start my window manager without change hal, it recognize
> the keyboard special keys, but it did a bit later, and windowmaker just find
> these special keys after a wmaker restart. Ah, I use xdm on /etc/ttys
>
> I've tried to add this keyboard.fdi on /usr/local/etc/hal/fdi/policy
>
> <?xml version="1.0" encoding="UTF-8"?>
> <deviceinfo version="0.2">
>       <device>
>               <match key="info.capabilities" contains="input.keyboard">
>               <match key="info.product" contains="product 0x00a2">
>                       <merge key="input.x11_driver" type="string">evdev</merge>
>                       <merge key="input.x11_options.XkbSymbols"
> type="string">pc(pc105)+sun_vndr/usb(sun_usb)+pc(pc105)+us(intl)</merge>
>               </match>
>               </match>
>       </device>
> </deviceinfo>
>
> But I still have same problem, when windowmaker is loaded, it ignore the
> Sun special keys, just if I do a restart it work fine.
>
> hal-device keyboard output is:
>
> 17: udi = '/org/freedesktop/Hal/devices/usb_device_430_a2_noserial_if0'
>  usb_device.device_protocol = 0  (0x0)  (int)
>  usb_device.is_self_powered = false  (bool)
>  usb_device.can_wake_up = true  (bool)
>  usb_device.max_power = 100  (0x64)  (int)
>  info.udi = '/org/freedesktop/Hal/devices/usb_device_430_a2_noserial_if0'
>  (string)
>  usb_device.num_interfaces = 1  (0x1)  (int)
>  info.subsystem = 'usb'  (string)
>  freebsd.driver = 'ukbd'  (string)
>  usb_device.num_ports = 0  (0x0)  (int)
>  info.product = 'product 0x00a2'  (string)
>  freebsd.unit = 0  (0x0)  (int)
>  usb_device.speed = 12  (double)
>  usb_device.speed_bcd = 4608  (0x1200)  (int)
>  usb_device.version = 2  (double)
>  usb_device.product_id = 162  (0xa2)  (int)
>  usb_device.vendor_id = 1072  (0x430)  (int)
>  info.vendor = 'Sun Microsystems'  (string)
>  usb_device.device_revision_bcd = 512  (0x200)  (int)
>  usb_device.serial = ''  (string)
>  usb_device.product = 'product 0x00a2'  (string)
>  usb_device.vendor = 'Sun Microsystems'  (string)
>  info.bus = 'usb'  (string)
>  usb.interface.number = 0  (0x0)  (int)
>  usb.interface.class = 3  (0x3)  (int)
>  info.category = 'input.keyboard'  (string)
>  usb.interface.subclass = 1  (0x1)  (int)
>  info.capabilities = { 'input', 'input.keyboard' } (string list)
>  usb.interface.protocol = 1  (0x1)  (int)
>  usb.interface.description = ''  (string)
>  usb.freebsd.devname = 'ukbd0'  (string)
>  freebsd.device_file = '/dev/ukbd0'  (string)
>  input.device = '/dev/ukbd0'  (string)
>  input.x11_options.XkbSymbols =
> 'pc(pc105)+sun_vndr/usb(sun_usb)+pc(pc105)+us(intl)'  (string)
>  input.x11_driver = 'evdev'  (string)
>  usb_device.bus_number = 3  (0x3)  (int)
>  usb_device.level_number = 3  (0x3)  (int)
>  usb_device.port_number = 4  (0x4)  (int)
>  usb_device.configuration = ''  (string)
>  info.parent =
> '/org/freedesktop/Hal/devices/usb_device_430_a2_noserial'  (string)
>  usb_device.configuration_value = 1  (0x1)  (int)
>  usb_device.num_configurations = 1  (0x1)  (int)
>  usb_device.device_class = 0  (0x0)  (int)
>  usb_device.device_subclass = 0  (0x0)  (int)
>
> I had this same problem in the past when I use startx, and someone from
> xorg told me to start using *dm to fix the problem, I choose xdm and it
> worked fine untill now.
>
> Any kind of hellp will be appreciate

Just one more information, I found a problem on my .fdi file, and changed
evdev to kbd on x11_driver line, now I have this on Xorg.0.log

(II) config/hal: Adding input device product 0x00a2
(II) LoadModule: "kbd"

(II) Loading /usr/local/lib/xorg/modules/input//kbd_drv.so
(II) Module kbd: vendor="X.Org Foundation"
        compiled for 1.5.3, module version = 1.3.2
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 2.1
(**) product 0x00a2: always reports core events
(**) Option "Protocol" "standard"
(**) product 0x00a2: Protocol: standard
(**) Option "Device" "/dev/ukbd0"
(EE) product 0x00a2: cannot open "/dev/ukbd0"
(EE) PreInit failed for input device "product 0x00a2"
(II) UnloadModule: "kbd"
(EE) config/hal: NewInputDeviceRequest failed

Hope this can be useful, thanks
-- 
Renato Botelho


More information about the freebsd-x11 mailing list