[OSASK 6204] Re: マウス加速も

  こんばんは、川合です。


I.Tak. さんは 2003/05/28 18:39:10 の「[OSASK 6203] Re: マウス加
速も」で書きました:

>>   x += (a * dx + b * dx * dx) >> 10;
      (引用中略)
> 二次関数でそういうパラメータだと、「dx=1 の時は x+=1 になって
>ほしい (ゆっくりの時は線形に反応してほしい)」という用件を満たすの
>が難しいかも知れません。(x,y)=(0,0),(1,1) を通る二次関数を使って
>    x += ((a*dx*(dx-1))>>10)+dx ;
>などとすると、自由度が1しかありませんし。

  うーん、そうですか・・・。僕の考えとは違うみたいですねえ。

  僕としてはたとえば、ゆっくりのときはもちろん線形になってほしい
ですが、1ドットを選ぶときはデフォルト以上に鈍感になってほしいの
で、

    a = 512, b = 4

くらいがいいんじゃないかと思っていました。これだと、dx < 16の時
は、2次項がほとんど効いてこないので、目にみえる加速はありません
。そしてリニア項が0.5になるので、今までよりきめこまかく動かせま
す。dxが50とかになると、+10くらい加速してくれます。

  繊細さを残しつつ、もっと加速があったほうがいいかもしれません。
それだと、a = 512, b = 16なんてどうでしょうか。これだと、dx < 8
ならほぼリニアで、dxが50なら加速は+39です。

  あああ!ちょっと待った!・・・僕の提案は次のように修正します。
修正理由は、これだとdxが負の場合にうまくいかないからです。2次項
はいらないです。奇関数であるべきだから、1次と3次だけですね。

    x += ((a + b * dx * dx) * dx) >> 10;

  これでうまいパラメータの組み合わせを見付ければいいんじゃない
かなあ。

> 川合さんがKHBIOSに専念するらしいので、OSASKをがんばっていじろう
>と思いまして。

  そのとおりであります。助かります。

>>   僕はちまちまとteditc02本体や辞書コンパイラ、そしてZAKKYさんの
>> 辞書を改良しています。とくに辞書コンパイラは圧倒的に高速になって
>> います。辞書はまた3割未満の完成度なんですが、それでもZAKKYさんの
>> もとのバージョンよりずっと使いやすくなっています。これは今週中に
>> 公開します。
> 実は川合さんが早々に音をあげるのを期待してたんですが……(ぉぃ

  もしかして、うまくいかない方が良かった???

  辞書さえ何とかなれば、今のへっぽこなアルゴリズムでもそんなに不便
ではないと実感しています。もちろんもっと賢いアルゴリズムのほうがも
っと快適なのは間違いないですが。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/



ML番号でジャンプ
ML単語検索