SikuliXでキーボード入力操作を自動化する方法

SikuliXでキーボード入力操作を自動化する方法

 

★悩み★
・SikuliXでキーボード入力操作を自動化できるのかな?
・CTRLやSHIFTなどの特殊キーをSikuliXからキーボード入力できる?
・SikuliXのtype関数で3つのキーを同時に入力できる?



こういった「悩み」に答えます。
 

★本記事の内容★
➀ 準備:SikuliXのインストールと起動
➁ SikuliXでキーボード入力操作を自動化する方法



これからご紹介する「SikuliXでキーボード入力操作を自動化する方法」を実践したことで、10分以内で「SikuliXでtype関数を使ってキーボード入力操作を自動化」できました(下の動画参照)。
 

SikuliXでtypeを使ったキーボード入力を自動化
SikuliXのtypeを使ってキーボード入力操作を自動化した例



記事の前半では「SikuliXのインストールや起動といった環境の準備」を解説します。

記事の後半では「SikuliXで入力できるキーの一覧」や「SikuliXでキーボード入力を自動化する方法」を紹介します。
 

この記事を読み終えることで、「SikuliXのtype関数を使ってキーボード入力を自動化」できる状態になります。
 

★SikuliXとは★
SikuliX(シクリ)とは、画像認識を用いたGUI操作自動化ツールです。簡単な操作で「エクセル入力の自動化」などに利用できます。「検索ボックスに検索ワードを入力して検索ボタンをクリックする」などの操作を自動化できます。
さらに詳しく知りたい方には、以下の記事がオススメです。
>> 【要点解説】SikuliXとは?を解消!3ステップで入門する方法を解説



ちなみに、筆者が2週間でSikuliXを学んだ方法や手順について以下で公開しています。皆様の学習の参考になれば嬉しいです。

>> SikuliXに0から入門し操作を自動化するまでのロードマップを公開中

 

準備:SikuliXのインストールと起動

準備:SikuliXのインストールと起動


「準備:SikuliXのインストールと起動」に関してご紹介します。
 

★SikuliXでキーボード入力操作を自動化するための準備手順★
手順1:SikuliXをインストール
手順2:SikuliXの起動



上記の流れで、「SikuliXでキーボード入力操作を自動化するための環境準備」ができます。
 

上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2022年5月5日



以降で、上記「SikuliXでキーボード入力操作を自動化するための準備手順」の各手順に関してご説明します。
 

手順1:SikuliXをインストール

「手順1:SikuliXをインストール」に関して説明します。
 

キーボード入力操作を自動化したいパソコンに、SikuliXをインストールしましょう。



「SikuliXをWindowsにインストールする手順」に関しては、以下の記事をご覧ください。
>> 【Windows向け】SikuliXのインストール手順と基本的な使い方
 

「macOS(Mac)にインストールする手順」に関しては、以下の記事をご覧ください。
>> 【Mac向け】SikuliXのインストール手順と基本的な使い方
 

以上が、「手順1:SikuliXをインストール」となります。
 

手順2:SikuliXの起動

「手順2:SikuliXの起動」に関して説明します。
 

インストールしたSikuliXを起動し、「キーボード入力操作を自動化するためのプログラム」を記載できる状態にしましょう。



「WindowsにインストールしたSikuliXを起動する手順」に関しては、以下の記事をご覧ください。
>> 【Windows向け】SikuliXのインストール手順と基本的な使い方
 

「macOS(Mac)にインストールしたSikuliXを起動する手順」に関しては、以下の記事をご覧ください。
>> 【Mac向け】SikuliXのインストール手順と基本的な使い方
 

以上が、「手順2:SikuliXの起動」となります。
 

Javaをインストールし、SikuliXのjarファイルをダウンロードすることで、簡単にSikuliXの環境を準備できます。
以降で、「入力できるキーの一覧」と「キーボード入力操作の方法を説明します。


 

SikuliXでキーボード入力操作を自動化する方法

SikuliXでキーボード入力操作を自動化する方法


「SikuliXでキーボード入力操作を自動化する方法」に関してご紹介します。
 

★SikuliXのキーボード入力操作に関するご紹介事項★
・キーボード入力する方法(type関数を使う)
・SikuliXで入力できるキーの一覧
・2つのキーを同時にtype関数で入力する方法
・3つのキーを同時にtype関数で入力する方法
・SikuliXでキーボード入力操作を自動化するプログラムの作成と実行



SikuliXを使うことで、「CTRLやSHIFTなどの特殊キー」や「同時に複数のキー(ショートカットキー)」入力といったキーボード操作を自動化できます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2022年5月5日
動作確認済み環境:macOS Catalina



以降で、上記「SikuliXのキーボード入力操作に関するご紹介事項」の各項目に関してご説明します。
 

キーボード入力する方法(type関数を使う)

「キーボード入力する方法(type関数を使う)」に関して説明します。
 

SikuliXでキーボード入力操作を自動化するためには、type関数を使います。 



「type」の構文は、以下となります。
 

★typeのリファレンス★
・機能
 指定したキーを入力する
・使い方
 type(入力したいキー)
・例
 type(Key.DELETE)
・実行結果
 DELETEキーを入力する
・参照
 type関数のリファレンス(公式サイト)



以上が、「キーボード入力する方法(type関数を使う)」となります。
 

SikuliXで入力できるキーの一覧

「SikuliXで入力できるキーの一覧」に関して説明します。
 

SikuliXのtypeを使って「入力できるキー」の一覧を紹介しますね。



SikuliXのtypeを使って「入力できるキー」は、以下となります。
 

★typeで入力できるキーの一覧★
・数字・アルファベット・記号
・CtrlやShiftなど特殊キー



ちなみに、CtrlやShiftなど特殊キーをtypeで入力したい場合、以下のようにtypeを記述する必要があります。
 

キーtypeの記述方法
ENTERキーtype(Key.ENTER)
TABキーtype(Key.TAB)
ESCキーtype(Key.ESC)
BACKSPACEキーtype(Key.BACKSPACE)
DELETEキーtype(Key.DELETE)
INSERTキーtype(Key.INSERT)
スペースキーtype(Key.SPACE)
F1~F15(ファンクションキー)type(Key.F1)
HOMEキーtype(Key.HOME)
ENDキーtype(Key.END)
左矢印←キーtype(Key.LEFT)
右矢印→キーtype(Key.RIGHT)
下矢印↓キーtype(Key.DOWN)
上矢印↑キーtype(Key.UP)
PAGE DOWNキーtype(Key.PAGE_DOWN)
PAGE UPキーtype(Key.PAGE_UP)
PRINTSCREENキーtype(Key.PRINTSCREEN)
PAUSEキーtype(Key.PAUSE)
CAPS LOCKキーtype(Key.CAPS_LOCK)
SCROLL LOCKキーtype(Key.SCROLL_LOCK)
NUM LOCKキーtype(Key.NUM_LOCK)
ALTキーtype(Key.ALT)
Commandキーtype(Key.CMD)
CTRLキーtype(Key.CTRL)
METAキー(Windowsキー/MacのCommandキー)type(Key.META)
SHIFTキーtype(Key.SHIFT)
Windowsキーtype(Key.WIN)
CTRLとALTを両方同時押しtype(Key.ALTGR)
テンキーの数字(0~9)type(Key.NUM0)
テンキーの「.」type(Key.SEPARATOR)
テンキーの「+」type(Key.ADD)
テンキーの「-」type(Key.MINUS)
テンキーの「*」type(Key.MULTIPLY)
テンキーの「/」type(Key.DIVIDE)
特殊キーとtypeの一覧(出典:Keyのリファレンス[公式サイト])



以上が、「SikuliXで入力できるキーの一覧」となります。
 

2つのキーを同時にtype関数で入力する方法

「2つのキーを同時にtype関数で入力する方法」に関して説明します。
 

SikuliXでは、「全て選択」といった「2つのキーを同時に入力する必要があるショートカットキー」も自動操作できます。



SikuliXで「2つのキーを同時に入力したい」場合、以下のようにtype関数を記述しましょう。
 

★type関数で「2つのキーを同時に入力する」場合の記述方法★
・使い方
 【特殊キーと数字/アルファベット/記号の場合】
   type(“英数字”,特殊キー)
 【特殊キーと特殊キーの場合】
   type(特殊キー + 特殊キー)
・例
 type(“a”,Key.CMD)
・実行結果
 CTRLキーとaを同時入力する(全選択のショートカットキーを入力)



以上が、「2つのキーを同時にtype関数で入力する方法」となります。
 

3つのキーを同時にtype関数で入力する方法

「3つのキーを同時にtype関数で入力する方法」に関して説明します。
 

SikuliXでは、「ウィンドウを閉じる」といった「3つのキーを同時に入力する必要があるショートカットキー」も自動操作できます。



SikuliXで「3つのキーを同時に入力したい」場合、以下のようにtype関数を記述しましょう。
 

★type関数で「3つのキーを同時に入力する」場合の記述方法★
・使い方
 【2つの特殊キーと数字/アルファベット/記号の場合】
   type(“英数字”,特殊キー + 特殊キー)
 【3つの特殊キーの場合】
   type(特殊キー + 特殊キー + 特殊キー)
・例
 type(“w”, Key.SHIFT+Key.CMD)
・実行結果
 SHIFTキーとCommandキーとwを同時入力する



以上が、「3つのキーを同時にtype関数で入力する方法」となります。
 

SikuliXでキーボード入力操作を自動化するプログラムの作成と実行

「SikuliXでキーボード入力操作を自動化するプログラムの作成と実行」に関して説明します。
 

SikuliXのtype関数を使った「キーボード入力操作を自動化する」プログラムを作成してみましょう。



起動したSikuliX上において、「スクリーンショットを撮る」をクリックし、「Safariのアイコン」の画像を撮影します。
その後、以下のプログラムを作成してください。

 

SikuliXでキーボード入力操作を自動化するプログラム
SikuliXでキーボード入力操作を自動化するプログラム

 

doubleClick("1651678839680.png")
sleep(5)


# 入力
paste(u"駆け出し物語")
sleep(2)

# 全選択
type("a",Key.CMD)
sleep(2)

# 削除
type(Key.DELETE)
sleep(2)


# すべてのウィンドウを閉じる
type("w", Key.SHIFT+Key.CMD)

print "SikuliXのKeyを試し終えました。"



ちなみに、paste関数の構文は以下となります。
 

★pasteのリファレンス★
・機能
 指定した文字列を貼り付ける
・使い方
 paste(貼り付けたい文字列)
・例
 paste(u”駆け出し物語”)
・実行結果
 駆け出し物語という文字列を貼り付ける
・注意
 日本語を貼り付けたい場合、u”日本語”と指定します。
 そうしない場合、貼り付けた日本語が文字化けします。
・参照
 paste関数のリファレンス(公式サイト)



また、「doubleClick」に関する詳細を知りたい方には、以下の記事がオススメです。
>> SikuliXでマウスのクリックや移動操作を自動化
 

プログラム作成後、SikuliX上の「実行」ボタンをクリックします。

クリック後、下のデモ動画のように、SikuliXのtype関数を使ってキーボード入力操作を自動化できます。
 

SikuliXでtypeを使ったキーボード入力を自動化
SikuliXのtypeを使ってキーボード入力を自動化した例



以上が、「SikuliXでキーボード入力操作を自動化するプログラムの作成と実行」となります。
 

SikuliXの「type」をショートカットキーなどのキーボード入力操作を自動化できます。


 

SikuliXには、キーボード入力操作以外にもマウス操作など様々な自動化ができるコマンドが用意されています。以下の記事にSikuliXでよく使うコマンドをまとめましたので、ぜひご覧ください。
>> SikuliXでよく使うコマンドの一覧
 

ちなみに、「SikuliXをシステムで利用する場合の注意点」や「SikuliXでAndroidを操作する方法」などを知りたい方には、以下の記事で紹介している本がオススメです。
>> 【入門者向け】SikuliXの勉強に役に立つオススメ書籍3冊

 

【まとめ】SikuliXでキーボード入力操作を自動化する方法

【まとめ】SikuliXでキーボード入力操作を自動化する方法


いかがでしたでしょうか?
SikuliXで「入力できるキーの一覧」と「typeとpasteを使ったキーボード入力操作の自動化」をプログラムとデモ動画を用いて解説し、以下の悩みを解決しました。
 

★悩み★
・SikuliXでキーボード入力操作を自動化できるのかな?
・CTRLやSHIFTなどの特殊キーをSikuliXからキーボード入力できる?
・SikuliXのtype関数で3つのキーを同時に入力できる?



キーボード入力操作の自動化を実現したい場合、SikuliXの利用を検討してみてください。

コメント

タイトルとURLをコピーしました