梅本です。
Wed, 11 Feb 2009 12:51:57 +0900 の刻に「t-matubara」、すなわち
Takashi Matsubara t-matub...@miracle.ocn.ne.jp 氏曰く
t-matubara 3)/usr/local/etc/hal/fdi/policy に下記のファイル、内容で追加
t-matubara ファイル名:11-x11-synaptics.fdi
t-matubara 内容:
t-matubara ?xml version=1.0 encoding=ISO-8859-1?
t-matubara deviceinfo version=0.2
t-matubara device
t-matubara match key=info.capabilities contains=input.mouse
t-matubara merge key=input.x11_driver
type=stringsynaptics/merge
略
t-matubara /match
t-matubara /device
t-matubara /deviceinfo
info.capabilities に input.mouse が含まれていたら、synaptics ドライバ
を使うようにされたわけですね。
/usr/local/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi がある
のにどうして synaptics が使われないのだろうと疑問に思っていたのですが、
確かに、このようにすれば、強制的に synaptics ドライバを使えるようにでき
ますね。
しかし、これだと、USBマウスをつないだときも synaptics ドライバを使う
ようになってしまうように思います。また、実害があるのかどうか分かりませ
んが、/usr/local/share/hal/fdi/policy/10osvendor/10-mouse-sysmouse.fdi
にもマッチしてしまい、hald-addon-mouse-sysmouse が実行されるため、少し
気持ち悪いです。加えて、折角 11-x11-synaptics.fdi があるのに、使われな
いのはもったいない気がします。
というわけで、/usr/local/etc/hal/fdi/information/mouse-sysmouse.fdi
をでっち上げてみました。
?xml version=1.0 encoding=ISO-8859-1?
deviceinfo version=0.2
device
match key=info.capabilities contains=input.mouse
match key=info.udi string=/org/freedesktop/Hal/devices/psm_0
merge key=info.capabilities type=strlistinput/merge
append key=info.capabilities type=strlistinput.touchpad/append
/match
/match
/device
/deviceinfo
psm0 の場合にのみ、info.capabilities から input.mouse を落として、
11-x11-synaptics.fdi が期待している input.touchpad にすげ替えています。
これにより、作成された 11-x11-synaptics.fdi から
merge key=input.x11_driver type=stringsynaptics/merge
をなくせます。
参考までに、私の /usr/local/etc/hal/fdi/policy/x11-synaptics.fdi です。
CF-R4 なので、circular touchpad を有効にしています。
?xml version=1.0 encoding=ISO-8859-1?
deviceinfo version=0.2
device
match key=info.capabilities contains=input.touchpad
merge key=input.x11_options.Protocol type=stringpsm/merge
merge key=input.x11_options.LeftEdge type=string1700/merge
merge key=input.x11_options.RightEdge type=string5300/merge
merge key=input.x11_options.TopEdge type=string1700/merge
merge key=input.x11_options.BottomEdge type=string4200/merge
merge key=input.x11_options.FingerLow type=string25/merge
merge key=input.x11_options.FingerHigh type=string30/merge
merge key=input.x11_options.MaxTapTime type=string180/merge
merge key=input.x11_options.MaxTapMove type=string220/merge
merge key=input.x11_options.VertScrollDelta type=string100/merge
merge key=input.x11_options.HorizScrollDelta type=string100/merge
merge key=input.x11_options.MinSpeed type=string0.06/merge
merge key=input.x11_options.MaxSpeed type=string0.06/merge
merge key=input.x11_options.AccelFactor type=string0.0010/merge
merge key=input.x11_options.ScrollButtonRepeat
type=string100/merge
merge key=input.x11_options.UpDownScrolling type=stringtrue/merge
merge key=input.x11_options.UpDownRepeat type=stringtrue/merge
merge key=input.x11_options.LeftRightScrolling
type=stringtrue/merge
merge key=input.x11_options.LeftRightRepeat type=stringtrue/merge
!-- SHMConfig on seems good works with synclient(1). But this
options is insecure. I recommended off as default. --
merge key=input.x11_options.SHMConfig type=stringtrue/merge
!-- If you use circular touchpad, uncomment them. --
merge key=input.x11_options.CircularPad type=stringtrue/merge
merge key=input.x11_options.CircularScrolling
type=stringtrue/merge
!-- merge key=input.x11_options.CircScrollDelta
type=string0.5/merge --
/match
/device
/deviceinfo
t-matubara 1)lshal のマウス認識部分です。
上記 fdi により、以下のようになります。
udi = '/org/freedesktop/Hal/devices/psm_0'
freebsd.device_file = '/dev/psm0' (string)
freebsd.driver = 'psm' (string)
freebsd.unit = 0 (0x0) (int)
info.capabilities = {'input', 'input.touchpad'} (string list)
info.category = 'input.mouse' (string)
info.parent = '/org/freedesktop/Hal/devices/atkbdc_0' (string)
info.product = 'PS/2 Mouse' (string)
info.subsystem = 'platform' (string)
info.udi = '/org/freedesktop/Hal/devices/psm_0' (string)
input.device = '/dev/psm0' (string)
input.x11_driver = 'synaptics' (string)
input.x11_options.AccelFactor = '0.0010' (string)
input.x11_options.BottomEdge = '4200' (string)
input.x11_options.CircularPad = 'true' (string)
input.x11_options.CircularScrolling = 'true' (string)
input.x11_options.FingerHigh = '30' (string)
input.x11_options.FingerLow = '25' (string)
input.x11_options.HorizScrollDelta = '100' (string)
input.x11_options.LeftEdge = '1700' (string)
input.x11_options.LeftRightRepeat = 'true' (string)
input.x11_options.LeftRightScrolling = 'true' (string)
input.x11_options.MaxSpeed = '0.06' (string)
input.x11_options.MaxTapMove = '220' (string)