きりかノート 3冊め

おあそびプログラミング

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行スクロール

ということでマージされました!かなりターゲットの狭い機能だけど、自分の手元ではデバッグの助けとして活躍してるよ!