GPiCASE の十字ボタンでマウスカーソルを連続して移動させる

 GPiCASE の ONScripter でマウスカーソルの移動を十字ボタンで行っていますが、ボタンを連打しないと長い距離の移動ができません。

 十字ボタンのイベントが、ボタンが押されたときしか発生しないのが原因です。ボタンを押している間、イベントが発生し続ければいいのですがイベントは 1 回しか発生しません。

 ボタンが押されている間、タイマーを使って、連続してマウスカーソルを移動させれば、連打する必要がなくなると思います。

 十字ボタンのイベントは、SDL_JOYHATMOTION です。この時、イベントの値として、十字ボタンのどのボタンが押されたかが渡ります。この値が、SDL_HAT_CENTERED の時、ボタンは押されていないことになります。

 タイマーは、100 ミリ秒に設定しました。これで十字ボタンが押されている間、マウスカーソルが連続して移動するようになりました。

 パッチは、GPiCASE で ONScripter からどうぞ。

GPiCASE

Posted by sirius