[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re:pkgsrc/x11/xf86-input-mouse-1.8.1 が wsmouse(4) 認識せず



On Sun, 16 Jun 2013 23:45:08 +0900, Yamashiro, Jun <yamajun@ofug.net> wrote:

> xorg-server のマイナーバージョンを読んでコンパイルするコードの API を
> 変更させれば、pkgsrc の modular-xorg (1.12) と xsrc (1.10) での
> ABI の違いに対応できるのではないでしょうか?
>
> +#include "xorgVersion.h"
> (略)
> +#if XORG_VERSION_MINOR >= 11
> +           miPointerSetPosition (pInfo->dev, Absolute, (double *)&x, (double *)
> &y);
> +#else
> +           miPointerSetPosition (pInfo->dev, &x, &y);
> +#endif
>
> xsrc が入った環境上でのコンパイルは試していませんが、これなら両方の環境で
> コンパイルできると思われます。

まさにこの部分が引っかかっていたのですが、こうすると int を double にキャスト
するわけではなく、int の中を double として読んでしまうので、期待した値にならず
おしゃるようにポインタが飛び回ってしまうのではないでしょうか。

一時変数を int で用意してやれば良さそうな気もするのですが、
API変更時のコメントを見ると、「いちいち double に変換しなきゃならないんで、
もう double で統一しちゃうぜ」みたいな感じだったので、使い方が想定した段取り
じゃないのかなぁ、と思ったりもしつつ。

-- 
お役に立てない(^^;
OBATA Akio / obata@lins.jp
せかいは ひろがる ちきゅーは まわる。