x11-input.fdi

Is there any mistake in this file?
I use it to instruct hald to switch to various keyboard mappings,
but no result ( only US keyboard )
Code:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>

    <!-- KVM emulates a USB graphics tablet which works in absolute coordinate mode -->
    <match key="input.product" contains="QEMU USB Tablet">
       <merge key="input.x11_driver" type="string">evdev</merge>
    </match>

    <match key="info.capabilities" contains="input.tablet">
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.x11_driver" type="string">evdev</merge>
      </match>
    </match>

    <match key="info.capabilities" contains="input.keyboard">
      <!-- If we're using Linux, we use evdev by default (falling back to
           keyboard otherwise). -->
      <merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>	
      <merge key="input.x11_driver" type="string">kbd</merge>
      <merge key="input.xkb.Model"  type="string">pc105</merge>
      <merge key="input.xkb.Layout" type="string">us</merge>
      <merge key="input.xkb.Layout" type="string">de</merge>	
      <merge key="input.xkb.Layout" type="string">ro(std_cedilla)</merge>
      <merge key="input.xkb.Layout" type="string">ru</merge>
      <merge key="input.xkb.Options" type="string">grp:lwin_toggle,grp:led_scroll</merge>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.x11_driver" type="string">evdev</merge>
      </match>
    </match>
  </device>
</deviceinfo>
 
IIRC, input.xkb.* is deprecated, use input.x11_options.Xkb* instead. Besides, you modify XkbOptions in two places but do not add `,' (comma) at the end. You forgot commas in XkbLayout, too. BTW, using <merge> several times makes only the last one effective, use <append> after <merge>. After plugging keyboard you can check XKB settings
$ setxkbmap -print
If the output doesn't match what you expect then there is error in .fdi file.

Try to take a look at my x11-input.fdi. It uses only 2 keymaps, though.
 
john_doe said:
IIRC,
$ setxkbmap -print

Am I supposed to use these
Code:
xkb_keymap {
	xkb_keycodes  { include "xfree86+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete+ledscroll(group_lock)"	};
	xkb_symbols   { include "pc+us+inet(pc105)+de:2+ro(std_cedilla):3+ru:4+group(lwin_toggle)"	};
	xkb_geometry  { include "pc(pc105)"	};
};
in my file?
 
Yep, that's correct output. You've lost terminate:ctrl_alt_bksp from XkbOptions, though.

Does it work as expected for you?
 
Back
Top