[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CX300 & wsmouse
やないです。
<200010230053.JAA18113@shin1.sm.sony.co.jp>の記事で
TAKEMURA Shinさんはこう書かれたそうです。
> > 割る部分、取ってみたら落ちなくなりました。:-) が、 4 万 とか 5 万 なん
> > ていう数値になってしまいました。やはり何かで引くなり、割るなりしないと
> > いけないみたいです。
>
>4万、5万という値の大きさ自体は問題ないです。
>「xraw = tpx0;yraw = tpx1;」ではどうでしょうか?
試してみました。ですが、あまり変わらないようでした。
タッチもうまく取れないみたいです。
引続きいろいろいじって試してみますです。
# 全然分かってないのですが、 yraw = tpy0 or tpy1 というのはどうでしょうか。
# あ、やってみれば分かりますね。やってみます。^^;
> > あとマウスダウン(?)がうまく取れないようなので、MGL2 のキャリブレーション
> > ツール自体は立ち上がりますが、キャリブレーションできなかったです。
>
>ちょっとめんどくさいですが、画面に 5 つほど目印を表示して、
>それぞれをタップしたときに表示される xraw, yraw の値を集めて
>埋め込めばキャリブレーションできます。
>
>私のMC-R500 の場合:
>raw yraw 画面上の座標
>502, 486, 320, 120
>55, 109, 0, 0
>54, 913, 0, 239
>973, 924, 639, 239
>975, 123, 639, 0
ありがとうございます。
キャリブレーション初期値ですが、たしか WinCE のレジストリから...といった
話が過去に出てたと思ったので、レジストリのデータを埋め込んでみました。
その前に R500 のデータで試してみたのですが、うまくいかなかったです。
現在 vr/vrpiu.c vrpiuattach() の calibrations[] は以下のようにしています。
/*
* XXX, calibrate parameters
*/
{
int i;
static const struct {
platid_mask_t *mask;
struct wsmouse_calibcoords coords;
} calibrations[] = {
{ &platid_mask_MACH_NEC_MCR_700A,
{ 0, 0, 799, 599,
4,
{ { 115, 80, 0, 0 },
{ 115, 966, 0, 599 },
{ 912, 80, 799, 0 },
{ 912, 966, 799, 599 } } } },
{ &platid_mask_MACH_FUJITSU_INTERTOP_IT300,
{ 0, 0, 639, 479,
5,
{ { 526, 547, 320, 240 },
{ 143, 264, 0, 0 },
{ 142, 817, 0, 479 },
{ 914, 824, 639, 479 },
{ 912, 277, 639, 479 } } } },
{ NULL, /* samples got on my MC-R500 */
{ 0, 0, 639, 239,
5,
{ { 502, 486, 320, 120 },
{ 55, 109, 0, 0 },
{ 54, 913, 0, 239 },
{ 973, 924, 639, 239 },
{ 975, 123, 639, 0 } } } },
};
for (i = 0; ; i++) {
if (calibrations[i].mask == NULL
|| platid_match(&platid, calibrations[i].mask))
break;
}
tpcalib_ioctl(&sc->sc_tpcalib, WSMOUSEIO_SCALIBCOORDS,
(caddr_t)&calibrations[i].coords, 0, 0);
}
--
柳井 裕之(やないひろゆき) Hiroyuki Yanai
fk200329@fsinet.or.jp