multimedia keys not recognized ...

Zeus V Panchenko zeus at ibs.dn.ua
Fri Dec 3 08:47:55 UTC 2010


Hi All,

after googling and experimenting with the advices from the google
search results i decided to ask help here ...

the problem: my multimedia keys not recognized at all ...
    	     no xev no converters/showkey can see any multimedia keys

the question: how can i get them working?

the issue:

#> uname -a
FreeBSD 8.1-RELEASE FreeBSD amd64

keyboard is: `Logitech Media Keyboard K200'

#> dmesg
ugen1.3: <Logitech> at usbus1
ukbd0: <USB Keyboard> on usbus1
kbd2 at ukbd0
uhid0: <USB Keyboard> on usbus1

#> usbconfig list
ugen1.3: <USB Keyboard Logitech> at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON

#> hal-find-by-capability --capability input.keyboard | xargs hal-device
udi = '/org/freedesktop/Hal/devices/usb_device_46d_c31d_noserial_if0'
  usb.is_self_powered = false  (bool)
  usb.can_wake_up = true  (bool)
  usb.max_power = 90  (0x5a)  (int)
  usb.num_interfaces = 2  (0x2)  (int)
  info.vendor = 'Logitech'  (string)
  usb.num_ports = 0  (0x0)  (int)
  usb.speed = 1.5  (double)
  usb.speed_bcd = 336  (0x150)  (int)
  usb.version = 1  (double)
  usb.product_id = 49949  (0xc31d)  (int)
  usb.vendor_id = 1133  (0x46d)  (int)
  usb.device_revision_bcd = 272  (0x110)  (int)
  usb.product = 'USB Keyboard'  (string)
  usb.serial = ''  (string)
  usb.vendor = 'Logitech'  (string)
  usb.bus_number = 1  (0x1)  (int)
  usb.level_number = 2  (0x2)  (int)
  usb.port_number = 3  (0x3)  (int)
  usb.interface.class = 3  (0x3)  (int)
  info.product = 'USB Keyboard'  (string)
  info.subsystem = 'usb'  (string)
  usb.interface.subclass = 1  (0x1)  (int)
  usb.interface.protocol = 1  (0x1)  (int)
  usb.interface.description = 'USB Keyboard'  (string)
  usb.freebsd.devname = 'ukbd0'  (string)
  input.device = ''  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_46d_c31d_noserial_if0'  (string)
  freebsd.device_file = '/dev/ukbd0'  (string)
  info.capabilities = { 'input', 'input.keyboard', 'input.keys', 'button' } (string list)
  info.category = 'input'  (string)
  input.x11_options.XkbRules = 'xorg'  (string)
  input.x11_options.XkbModel = 'logitech_base'  (string)
  info.addons.singleton = { 'hald-addon-input' } (string list)
  input.x11_driver = 'kbd'  (string)
  input.x11_options.Xleds = '1 2 3'  (string)
  input.x11_options.XkbLayout = 'us,ru'  (string)
  input.x11_options.XkbOptions = 'grp:menu_toggle,grp_led:scroll,terminate:ctrl_alt_bksp'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_46d_c31d_noserial'  (string)
  info.bus = 'usb'  (string)
  usb.interface.number = 0  (0x0)  (int)
  usb.configuration = 'U66.00_B0001'  (string)
  usb.configuration_value = 1  (0x1)  (int)
  usb.num_configurations = 1  (0x1)  (int)
  usb.device_class = 0  (0x0)  (int)
  usb.device_subclass = 0  (0x0)  (int)
  usb.device_protocol = 0  (0x0)  (int)
  freebsd.driver = 'ukbd'  (string)
  freebsd.unit = 0  (0x0)  (int)

#> pkg_info|grep xorg-app
xorg-apps-7.5

xorg configured to use hal

#> cat /usr/local/etc/hal/fdi/policy/x11-input.fdi
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
      <merge key="input.x11_driver" type="string">kbd</merge> 
      <merge key="input.x11_options.XkbRules" type="string">xorg</merge> 
      <merge key="input.x11_options.XkbModel" type="string">logitech_base</merge>
      <merge key="input.x11_options.XkbLayout" type="string">us,ru</merge>
      <merge key="input.x11_options.XkbOptions" type="string">grp:menu_toggle,grp_led:scroll,terminate:ctrl_alt_bksp</merge>
      <merge key="input.x11_options.Xleds" type="string">1 2 3</merge>
    </match>
  </device>
</deviceinfo>


#> cat /var/log/Xorg.0.log
...
(II) config/hal: Adding input device USB Keyboard
(**) USB Keyboard: always reports core events
(**) Option "Protocol" "standard"
(**) USB Keyboard: Protocol: standard
(**) Option "XLeds" "1 2 3"
(**) Option "XkbRules" "xorg"
(**) USB Keyboard: XkbRules: "xorg"
(**) Option "XkbModel" "logitech_base"
(**) USB Keyboard: XkbModel: "logitech_base"
(**) Option "XkbLayout" "us,ru"
(**) USB Keyboard: XkbLayout: "us,ru"
(**) Option "XkbOptions" "grp:menu_toggle,grp_led:scroll,terminate:ctrl_alt_bksp"
(**) USB Keyboard: XkbOptions: "grp:menu_toggle,grp_led:scroll,terminate:ctrl_alt_bksp"
(**) Option "CustomKeycodes" "off"
(**) USB Keyboard: CustomKeycodes disabled
(II) XINPUT: Adding extended input device "USB Keyboard" (type: KEYBOARD)


#> cat ~/.Xmodmap 

# Logitech K200 scancodes recognized by 
# xev under Linux xorg with evdev
#
keycode 121 = XF86AudioMute
keycode 122 = XF86AudioLowerVolume
keycode 123 = XF86AudioRaiseVolume
keycode 148 = XF86Calculator
keycode 150 = XF86WWW
keycode 163 = XF86Mail
keycode 172 = XF86AudioPlay
keycode 180 = XF86HomePage

#> cat .xbindkeysrc

"audacious --play-pause"
  XF86AudioPlay

"mixer pcm -10:-10"
  XF86AudioLowerVolume

"mixer pcm +10:+10"
  XF86AudioRaiseVolume

-- 
Zeus V. Panchenko			      	        GMT+2 (EET)


More information about the freebsd-x11 mailing list