SSブログ

19.キーマクロは右肩痛を救う……か? [Ubuntu]

最近右腕をあげると肩のあたりに違和感を感じるというか、何というか。
そういう方はいらっしゃいませんか?

ご想像の通り、私も右肩に違和感が有りましてですね。
引退間際の野球のピッチャーかよ、お前は、 と言いたくなるような感じですが、
デスクワークをやっていると多かれ少なかれそのような症状に見舞われる方も
多いのではないでしょうか。

仕事でも右腕を使い、余暇でも最近はなろう小説を読んだりとか、
なかなかの右肩酷使状態を、何とか緩和できないか、というのが今日のお題です。
(余暇時間にまでPCすなっ、というまっとうなご指摘は置いておいてw)


とはいえ仕事向けのPCに勝手にキーマクロソフトなんかインストールできませんし、
ここでは余暇時間の私物PC向けに限定してお話を勧めさせていただきます。



     とはいえ、前提となるOSがUbuntu16.04ですけどね(ボソッ)



とりあえずUbuntuで使用可能なキーマクロソフトを簡単にググってみます。

◇PyAutoGUI
PyAutoGUIというのがひっかかりました。WinやMacでも使えるようですし、
なかなか高機能そうです。
Pythonとか最近よく聞く単語ですし。
とりあえずインストールしてみようとしました……が、



     インストールすら出来ませんでしたぁぁぁぁぁぁぁぁ……orz



休日に数時間かけてやってみたんですが、Pythonのインストールやらpipやらpip3やら
いろいろなブログをあさってみたのですが、もうわけわかめ状態です。
(右肩痛にpipとかまあ、何というかw)

PyAutoGUIの手前のインストールはうまく行くのですが、
PyAutoGUI本体のインストールでコケるという……
とりあえず、自分がやりたいのはキーマクロであって、
目的は右肩痛の緩和であるという原点に立ち返り、
まあ、早い話が別ソフトにきりかえましたw

Pythonの有識者だったら多分簡単に解決出来るところで
詰まっているんだと思うんですけどね
ただUbuntu18.04だとインストールもサクっといく話ですし、
3年後にでも再挑戦してみたいと思いますです。ハイw


◇xautomation
で、お次に試したマクロソフトがxautomation
インストールもさくっと一回で終了しました。

sudo apt-get install xautomation




     インストールって、こんなに簡単だったんだぁぁぁぁぁぁぁぁ……orZ



相変わらずの
端末からman コマンド名 →英語マニュアル→Google翻訳の力も借りて、
なんとか使えそうなシェルスクリプトを数本作成しました。
(ぶっちゃけ英語をコピペして、Google翻訳にはりつける作業自体自動化できますね)

そのうちのいくつかをサンプルとして記載しておきます。
こいつは淡々と下スクロールをしていくマクロです。
中断する時はマウスを右に持っていきます。

nread.sh
#!/bin/bash

export DISPLAY=:0
DISPLAY=:0 notify-send '下スクロール移動開始' 'スクロールするアプリをクリックして下さい。' --icon=dialog-information
sleep 10s
DISPLAY=:0 notify-send '下スクロール移動開始' '中断する場合はマウスカーソルを右に移動。' --icon=dialog-information

xte -x :0 "mousemove 500 540" #指定のX,Y座標まで移動

sleep 1s
#xte -x :0 "mouseclick 1" #左クリック
 
for i in `seq 1 200`
do

xte -x :0 "mouseclick 5" #下スクロール

XY_POS=`xmousepos`
set -- $XY_POS

if [ $1 -gt 600 ] ; then
    break
fi
wt=`echo "scale=1; 1.4 - ((( $2 - 540) * 3 )/ 1000) " | bc`"s"
sleep $wt
done

DISPLAY=:0 notify-send -u critical  '下スクロール移動終了' '右肩のケアは大事ですよ。' --icon=dialog-information

nread.shをホームディレクトリに保存して、chmodで実行権限をつけます。
chmod 755 nread.sh
./nread.sh
で、端末から実行してみてくださいな。



xautomationでは画像認識もできますので、
Web上の任意のアイコンやボタン、リンクにカーソル遷移してクリックもできます。

下記のサンプル例ではキャプチャ用にshutterを使用します。
もしなかったら、ソフトウェアからインストールしてくださいな。
(gnome-screenshotだと、エリア選択キャプチャ時に色が青く変色されてしまうので)
あと、ホームディレクトリにhoge.png、 hoge2.png、 hoge.patファイルを作成します。
注意して下さい。

logo.sh
#!/bin/bash

export DISPLAY=:0
DISPLAY=:0 notify-send '遷移したいボタンを選択します。' 'ドラッグして選択後、Enterを押下します。' --icon=dialog-information
sleep 10s

#ホームディレクトリにhoge.png、 hoge2.png、 hoge.patファイルを作成します。注意して下さい。
shutter --select --output=./hoge.png --exit_after_capture
sleep 1s

png2pat "./hoge.png" > ./hoge.pat
sleep 1s

shutter --full --output=./hoge2.png --exit_after_capture
sleep 1s

POS=`visgrep "./hoge2.png" "./hoge.pat"`
sleep 1s

#パターン画像があった場合、0以外の戻り値が返りますので、カーソルを移動します
if [ ${#POS} != 0 ] ; then
    OLDIFS=$IFS
    IFS=' ,'
    set -- $POS
    IFS=$OLDIFS
    xte -x :0 "mousemove `expr ${1} + 20` `expr ${2} + 20` " #X,Yまで移動
    #xte -x :0 "mouseclick 1" #左クリックはコメントアウト
else
    DISPLAY=:0 notify-send -u critical 'ありません' '残念でした。' --icon=dialog-information
fi

同様にchmodで権限をつけて実行してみて下さい。

例えばgoogleのHPを開いてから、logo.shを実行してみます。
shutter のキャプチャー選択画面になったら、
googleの検索ボタンを選択させてみてください。
その後しばらく画像認識処理に入りますので、
その時にマウスカーソルをちょっと検索ボタンと違う位置にずらしてみます。
暫く待つとマウスカーソルが検索ボタンの上に移動します。(うまく言った場合w)

なろうの次のページのリンクに遷移する時にも使えるかと。
(既読・未読でリンクの色が変わったり、
作者の表示設定で文字の表示が微妙に異なりますので、
その点は考慮する必要がありますが)

まあ、ここまで書いておいてなんですが、
はっきりいってもっと上手い人の書くシェルスクリプトだと
スマートで洗練されていますので
ググッて他の人の例を参考にしたほうがいいです。

あんまり上の例は参考にしないほうがいいかもですw
特にDISPLAY=:0 の辺りとかw
あとブログだからか、半角スペースとか削除されてて見難いし
やっとソースコードをキレイに出来る方法が分かったよ……

あと、マクロ操作はゲームによってはチート行為として禁止されていることも多いので、
アカウントがBANされないよう、気をつけて下さい。
わたしゃゲームでは使ってませんから。ええ、マジで使ってませんから(真剣)


あれっ、マクロがゲームで使えないんなら、右肩痛は軽減されないんじゃ……
(かくして今日のお題はぶち壊しになりましたとさw)

共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。