Problems migrating xorg input confs to HAL

Renato Botelho rbgarga at gmail.com
Mon Mar 2 08:31:59 PST 2009


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

Thanks in advance

-- 
Renato Botelho


More information about the freebsd-x11 mailing list