梅本です。 >>> 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="string">synaptics</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="strlist">input</merge> <append key="info.capabilities" type="strlist">input.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="string">synaptics</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="string">psm</merge> <merge key="input.x11_options.LeftEdge" type="string">1700</merge> <merge key="input.x11_options.RightEdge" type="string">5300</merge> <merge key="input.x11_options.TopEdge" type="string">1700</merge> <merge key="input.x11_options.BottomEdge" type="string">4200</merge> <merge key="input.x11_options.FingerLow" type="string">25</merge> <merge key="input.x11_options.FingerHigh" type="string">30</merge> <merge key="input.x11_options.MaxTapTime" type="string">180</merge> <merge key="input.x11_options.MaxTapMove" type="string">220</merge> <merge key="input.x11_options.VertScrollDelta" type="string">100</merge> <merge key="input.x11_options.HorizScrollDelta" type="string">100</merge> <merge key="input.x11_options.MinSpeed" type="string">0.06</merge> <merge key="input.x11_options.MaxSpeed" type="string">0.06</merge> <merge key="input.x11_options.AccelFactor" type="string">0.0010</merge> <merge key="input.x11_options.ScrollButtonRepeat" type="string">100</merge> <merge key="input.x11_options.UpDownScrolling" type="string">true</merge> <merge key="input.x11_options.UpDownRepeat" type="string">true</merge> <merge key="input.x11_options.LeftRightScrolling" type="string">true</merge> <merge key="input.x11_options.LeftRightRepeat" type="string">true</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="string">true</merge> <!-- If you use circular touchpad, uncomment them. --> <merge key="input.x11_options.CircularPad" type="string">true</merge> <merge key="input.x11_options.CircularScrolling" type="string">true</merge> <!-- merge key="input.x11_options.CircScrollDelta" type="string">0.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) input.x11_options.MaxTapTime = '180' (string) input.x11_options.MinSpeed = '0.06' (string) input.x11_options.Protocol = 'psm' (string) input.x11_options.RightEdge = '5300' (string) input.x11_options.SHMConfig = 'true' (string) input.x11_options.ScrollButtonRepeat = '100' (string) input.x11_options.TopEdge = '1700' (string) input.x11_options.UpDownRepeat = 'true' (string) input.x11_options.UpDownScrolling = 'true' (string) input.x11_options.VertScrollDelta = '100' (string) platform.id = 'psm.0' (string) t-matubara> Section "ServerLayout" t-matubara> Identifier "X.org Configured" t-matubara> Screen 0 "Screen0" 0 0 t-matubara> InputDevice "Mouse0" "CorePointer" t-matubara> InputDevice "Keyboard0" "CoreKeyboard" t-matubara> Option "AIGLX" "true" # ADD 2009/02/07 t-matubara> EndSection hal で認識させているので、 "Mouse0" "CorePointer" "Keyboard0" "CoreKeyboard" は不要です。また、対応する InputDevice セクションも不要です。 参考になれば幸いです。 -- 梅本 肇 @ インターネット互助会横浜 http://www.imasy.org/~ume/ u...@mahoroba.org u...@{,jp.}FreeBSD.org プログラムは書いた人の意図ではなく書かれた通り動く I hate Modula-3 :-)