• 検索結果がありません。

CMC の動作仕様

ドキュメント内 ソフトウェア開発に関する研究 (ページ 79-83)

5 カーソル移動制御ソフトウェア(CMC)の開発

5.2.1 独立制御モード

独立制御モードは,操作者によるカーソル移動方向であるベクトルMの方向,つまりθm

の値の変化に応じて適用する制御方向θcと倍率aを変化させ,(3)式で求められる位置に カーソルを移動させるモードである.θm の値の変化とは操作者のポインティングデバイ ス操作によるカーソル移動方向である.適用される設定値(制御方向θc,倍率a)θm と の関係を表17に示す.このように制御方向θc,倍率aはそれぞれ4つの値{θudlr} と{au, ad,al,ar}を持つことができる.よって,座標軸は直交を保つ必要はなく任意の方 向を設定することができる.

例えば図26のようにθm が45 ≤θm ≤135 の範囲でポインティングデバイス操作がさ れている時は,設定値θuau が適用され,ベクトルCへの操作と見なされたカーソル移 動とすることができる.ポインティングデバイス操作中にθmの方向が変化すれば,すな

わち,Windows APIからの座標値メッセージが出力される度に,その都度適用される設定

値(θc,a)も変化し,カーソル移動方向が決定される.

なお,θu,θd,θl,θr を全て同じ値とする場合,すなわち,図27のように座標軸の直交 を保ったまま回転させたい場合は,制御方向として回転角θrot を設定することができる.

( xc yc

)

=a

( cosθc −sinθc

sinθc cosθc

) ( xm ym

)

(3)

17 独立制御モードで適用する設定値

θmの範囲 倍率a 制御方向θc

45 ≤θm ≤135 au θu

−135 ≤θm ≤ −45 ad θd

135 < θm <225 al θl

−45 < θm <45 ar θr

P

θrot

fig502b

27 独立制御モードの時の 座標軸回転設定

5.2.2 2方向モード

2方向モードは,操作者によるカーソル移動方向であるベクトルMの方向(θm の値) 応じて適用する制御方向θf と倍率 aを決定され,移動量 aL の垂直方向または水平方 向の十字方向へのカーソル移動に変換するモードである.適用される設定値(制御方向 θf,倍率a)との関係を表 18に示す.このように倍率aは独立制御モード同様,4つの 値{au,ad,al,ar}が設定できるが,制御方向θf は上下左右のいずれかの動きとなるので定 数である.ただし,どの範囲を上下左右への移動にするかのθm の範囲{±θwu,±θwd, ±θwl,

±θwr}と倍率 {au,ad, al, ar}が個別に設定できる.例えば利用者による操作ベクトルM

−θwu ≤θm ≤θwuの範囲内でされると,ベクトルCと見なされて垂直上方向へカーソルが移 動する(図28).

2方向モードでは,WindowsAPI関数からの座標値メッセージを受けとる度に,方 向制御すると滑らかな移動ができず,意図しない方向に進んだり,階段状にマウスカーソ ルが移動して安定しないため,座標値メッセージ5回分の平均値を常に算出し,その値を M(xm,ym)として扱った.

18 2方向モードで適用する設定値

θmの範囲 倍率a 制御方向θf

−θwu≤ θm ≤ θwu au 90

−θwd ≤θm ≤θwd ad 270

−θwl ≤θm ≤ θwl al 180

−θwr ≤ θm≤ θwr ar 0

fig503a

wu wu

wr wl

wd

C

P

wr

wd wl

28 2方向モード

5 カーソル移動制御ソフトウェア(CMC)の開発

5.2.3 方向変換モード

方向変換モードは,操作者によるカーソル移動方向であるベクトルMの方向(θm の値) に応じて制御方向θf と倍率 aを決定されるが,移動量aLの垂直上下または水平いずれ かにしか移動しないモードである.適用される設定値(制御方向θf,倍率a)との関係を 表19に示す.倍率aは4つの値{au,ad,al,ar}が設定できるが,制御方向θf は上下左右 のいずれかの動きとなるので定数である.どの範囲が上下移動または左右移動になるかの θmの範囲は図19のとおりである.回転角θrot = 0とした時,y軸の両側それぞれ60 範囲がθm の範囲となる.両側60 の範囲設定は固定値としたが,回転角θrot を設定する ことによって,相対する2方向の向きを変化させることができるようにした.

図29のようにθmの範囲内でカーソル移動がされている時,現在の変換方向が Dud で あれば垂直上下移動し,変換方向がDlr であれば,水平左右移動する.変換方向の切り換 えは,ポインティングデバイス操作実行後,設定された待機時間Td だけ現在位置にカー ソルが停止すると,変換方向が現在までの方向からもう一方の変換方向に切り替わる.次 回以降は同様に停止させることにより変換方向が切り替わる.また,変換方向が切り換 わった時には音と,常駐している当該ソフトウェアのタスクバーが点滅し,操作者に知ら せるようにした.このモードにおいても,2方向モード同様,マウスカーソル移動を安定 させるため,Windows APIからの座標値メッセージ5回分の平均値を常に算出しその値 をM(xm,ym)として扱った.

19 方向変換モードで適用する設定値 変換

方向 θm の範囲 倍率 a

制御方向 θf

θrot+30 ≤θm ≤θrot+150 au 90 Dud θrot−150 ≤θm ≤θrot−30 ad 270 θrot−150 ≤θm ≤θrot−30 al 180 Dlr θrot+30 ≤θm ≤θrot+150 ar 0

-60°

C C

P

θrot

y

60°

60°

-60°

29 方向変換モード

76

ドキュメント内 ソフトウェア開発に関する研究 (ページ 79-83)