mac-robotにスクロールホイールの機能を足してみたのをpull requestした
足してみた のつづき。自分的には「こんなものかなあ」というとこまできたのでpull requestした。
メソッドは
- scroll_wheel_line()
- scroll_wheel_pixel()
の2つ。scroll_wheel_lineのaliasとしてscroll_wheelを定義。スクロール方向と距離は以前と同様にHashで指定する。
robot = Mac::Robot.new robot.scroll_wheel_line(down: 10, left: 5)
とか。
迷ったのはスクロールの指定をscroll_wheel_line(cnt_y, cnt_x, cnt_z)のように数字だけを指定するかどうか。でも考えてみたところ、
- y, x, zという順
- x, y, zにしても良いが、よく使うだろう縦方向のスクロール時に毎回 x = 0 の指定が必要
- 正負の方向
あたりでいまいちかなーと思ったので、Hashのままとすることに。
(9/18 追記)pull request送ったら、作者の方から「java.awt.Robotに仕様を合わせるのがよいのでは」との提案が。独自にデザインするより、既存のものに合わせるほうがたいてい良いので納得。パッチを直して、最終的にはこんな感じに。
robot = Mac::Robot.new robot.scroll_wheel_line(x: 10, y: 5) # {x,y}のそれぞれ正の方向が{下,右}。負なら逆で{上,左} # この場合は右に10行、下に5行スクロール
ということでマージされました!かなりターゲットの狭い機能だけど、自分の手元ではデバッグの助けとして活躍してるよ!