キーの置き換えや任意の処理の実行を行うクラス More...
Public Member Functions | |
| def | enableHook (self, enable) |
| キーボードとマウスのフックを有効/無効にする More... | |
| def | setFont (self, name, size) |
| フォントを設定する More... | |
| def | setTheme (self, name) |
| テーマを設定する More... | |
| def | configure (self) |
| 設定を読み込む More... | |
| def | editTextFile (self, filename) |
| テキストファイルを編集する More... | |
| def | editConfigFile (self) |
| config.py を編集する More... | |
| def | updateKeymap (self) |
| 現在有効なキーマップを再構築する More... | |
| def | replaceKey (self, src, dst) |
| キーの単純な置き換えを指示する More... | |
| def | defineModifier (self, vk, mod) |
| ユーザモディファイアキーを定義する More... | |
| def | defineWindowKeymap (self, exe_name=None, class_name=None, window_text=None, check_func=None) |
| 特定条件のウインドウのキーマップを定義する More... | |
| def | defineMultiStrokeKeymap (self, help_string=None) |
| マルチストローク用のキーマップを定義する More... | |
| def | hookCall (self, func) |
| フックのなかで与えられた関数を実行する More... | |
| def | getWindow (self) |
| キーボードフォーカスを持っているウインドウを取得する More... | |
| def | getTopLevelWindow (self) |
| キーボードフォーカスを持っているウインドウが所属するトップレベルウインドウを取得する More... | |
| def | popBalloon (self, name, text, timeout=None) |
| バルーンヘルプを開く More... | |
| def | closeBalloon (self, name=None) |
| バルーンヘルプを閉じる More... | |
| def | InputKeyCommand (self, *keys) |
| キーを入力する関数を返す More... | |
| def | InputTextCommand (self, s) |
| 文字を入力する関数を返す More... | |
| def | command_RecordStart (self) |
| キーボードマクロの記録を開始する More... | |
| def | command_RecordStop (self) |
| キーボードマクロの記録を終了する More... | |
| def | command_RecordToggle (self) |
| キーボードマクロの記録を開始または終了する More... | |
| def | command_RecordClear (self) |
| キーボードマクロのを消去する More... | |
| def | command_RecordPlay (self) |
| キーボードマクロを再生する More... | |
| def | MouseMoveCommand (self, delta_x, delta_y) |
| マウスカーソルを移動させる関数を返す More... | |
| def | MouseButtonDownCommand (self, button='left') |
| マウスのボタンを擬似的に押す関数を返す More... | |
| def | MouseButtonUpCommand (self, button='left') |
| マウスのボタンを擬似的に離す関数を返す More... | |
| def | MouseButtonClickCommand (self, button='left') |
| マウスのボタンを擬似的にクリックする関数を返す More... | |
| def | MouseWheelCommand (self, wheel) |
| マウスのホイールを擬似的に回転する関数を返す More... | |
| def | MouseHorizontalWheelCommand (self, wheel) |
| マウスの水平ホイールを擬似的に回転する関数を返す More... | |
| def | MoveWindowCommand (self, delta_x, delta_y) |
| フォーカスされているウインドウを移動させる関数を返す More... | |
| def | MoveWindowToMonitorEdgeCommand (self, direction) |
| フォーカスされているウインドウをモニターの端にそろえるように移動させる関数を返す More... | |
| def | ActivateWindowCommand (self, exe_name=None, class_name=None, window_text=None, check_func=None, force=False) |
| ウインドウをアクティブ化する関数を返す More... | |
| def | ShellExecuteCommand (self, verb, filename, param, directory, swmode=None) |
| プログラムを起動する関数を返す More... | |
| def | popListWindow (self, listers) |
| リストウインドウを開き結果を取得する More... | |
| def | cancelListWindow (self) |
| リストウインドウをキャンセルで閉じる More... | |
| def | isListWindowOpened (self) |
| リストウインドウが存在しているかを確認する More... | |
| def | popClipboardList (self) |
| クリップボード履歴をリストウインドウで表示する More... | |
| def | command_ClipboardList (self) |
| クリップボード履歴をリスト表示する More... | |
| def | command_ClipboardRemove (self) |
| クリップボード履歴の直近のアイテムを削除する More... | |
| def | command_ClipboardRotate (self) |
| クリップボード履歴の直近のアイテムを末尾に回す More... | |
| def | command_ReloadConfig (self) |
| config.py を再読み込みする More... | |
| def | command_EditConfig (self) |
| config.py を編集する More... | |
Public Attributes | |
| synccall | |
| サブスレッドからメインスレッド中の処理を呼び出すためのSyncCallオブジェクト More... | |
キーの置き換えや任意の処理の実行を行うクラス
keyhacの主な機能を実現しているクラスです。
設定ファイル config.py の configure に渡される keyhac 引数は、Keymap クラスのオブジェクトです。
| def enableHook | ( | self, | |
| enable | |||
| ) |
キーボードとマウスのフックを有効/無効にする
| self | - |
| enable | 有効にするか、無効にするか |
| def setFont | ( | self, | |
| name, | |||
| size | |||
| ) |
フォントを設定する
| self | - |
| name | フォント名 |
| size | フォントサイズ |
| def setTheme | ( | self, | |
| name | |||
| ) |
テーマを設定する
| self | - |
| name | テーマ名 |
引数 name には、theme ディレクトリ以下のディレクトリ名を与えます。
| def configure | ( | self | ) |
設定を読み込む
キーマップやモディファイアキーの定義などをリセットした上で、config.py を再読み込みします。
| def editTextFile | ( | self, | |
| filename | |||
| ) |
テキストファイルを編集する
| self | - |
| filename | ファイル名 |
| def editConfigFile | ( | self | ) |
config.py を編集する
| self | - |
| def updateKeymap | ( | self | ) |
現在有効なキーマップを再構築する
現在キーボードフォーカスを持っているウインドウに従って、有効なキー割り当ての辞書を再構築します。
通常は、キーボードフォーカスが変化したときに、このメソッドが自動的に呼ばれるため、自分で明示的にこのメソッドを呼ぶ必要はありませんが、 defineWindowKeymap などで定義した WindowKeymap オブジェクトのキー割り当て内容を動的に変更するような場合は、 このメソッドを明示的に呼ぶことで即時にキー割り当ての辞書を再構築を実行することができます。
| def replaceKey | ( | self, | |
| src, | |||
| dst | |||
| ) |
キーの単純な置き換えを指示する
| self | - |
| src | 置き換え前のキー |
| dst | 置き換え後のキー |
引数 src で指定されたキー入力を、引数 dst で指定されたキーの入力として扱うよう指示します。
この置き換え処理は、Keyhac のキー処理の、もっとも早い段階で行われますので、 キーに機能を割り当てる際は、この置き換え後のキーで記述する必要があります。
src と dst には、"Space" や "Left" のような文字列形式の識別子か、仮想キーコードを数値で渡します。
| def defineModifier | ( | self, | |
| vk, | |||
| mod | |||
| ) |
ユーザモディファイアキーを定義する
| self | - |
| vk | モディファイアとして使用するキー |
| mod | 割り当てるモディファイアキー |
引数 vk で指定されたキーを、mod で指定されたモディファイアキーとして扱うよう指示します。
モディファイアキーとは、Shift や Ctrl のように、同時に押しておくことで、 キー入力に別の意味を持たせるためのキーのことです。
vk には、"Space" や "Left" のような文字列形式の識別子か、仮想キーコードを数値で渡します。
mod には、"User0" や "U0" のような文字列形式の識別子を渡します。
| def defineWindowKeymap | ( | self, | |
exe_name = None, |
|||
class_name = None, |
|||
window_text = None, |
|||
check_func = None |
|||
| ) |
特定条件のウインドウのキーマップを定義する
| self | - |
| exe_name | ウインドウが所属するプログラムの実行ファイル名のディレクトリ名を取り除いた部分 |
| class_name | ウインドウのクラス名 |
| window_text | ウインドウのタイトル文字列 |
| check_func | ウインドウ識別関数 |
アプリケーションごと、あるいはウインドウごとに、それぞれ異なったキーのカスタマイズを行うために、 実行ファイル名やウインドウの名前から、ウインドウの識別条件を定義します。
引数 exe_name, class_name, window_text に渡す文字列は、Keyhac のコンソールウインドウを使って、調査することが出来ます。 タスクトレイ中の Keyhac のアイコンを右クリックして、[ 内部ログ ON ] を選択すると、コンソールウインドウに、 フォーカス位置のウインドウの詳細情報が出力されるようになります。
引数 exe_name, class_name, window_text, check_func を省略するか None を渡した場合は、 その条件を無視します。
引数 exe_name, class_name, window_text には、ワイルドカード ( * ? ) を使うことが出来ます。
check_func には、pyauto.Window オブジェクトを受け取り、True か False を返す関数を渡します。
pyauto.Window クラスについては、pyauto のリファレンスを参照してください。
http://hp.vector.co.jp/authors/VA012411/pyauto/doc/
| def defineMultiStrokeKeymap | ( | self, | |
help_string = None |
|||
| ) |
マルチストローク用のキーマップを定義する
| def hookCall | ( | self, | |
| func | |||
| ) |
フックのなかで与えられた関数を実行する
| self | - |
| func | フックの中で実行する関数 |
Input.send() で実行する擬似的な入力の中に、物理的な入力を割り込ませないためには、 Input.send() をフックのなかで実行する必要があります。
フックの外で command_InputKey などのキー入力機能を実行すると、 稀に物理的なキー入力が擬似的なキー入力のなかに割り込んでしまい、 意図しないキー操作になってしまったり、キーが押しっぱなしになってしまったり、 といった問題が起きる可能性があります。
| def getWindow | ( | self | ) |
キーボードフォーカスを持っているウインドウを取得する
pyauto.Window クラスについては、pyauto のリファレンスを参照してください。
http://hp.vector.co.jp/authors/VA012411/pyauto/doc/
| def getTopLevelWindow | ( | self | ) |
キーボードフォーカスを持っているウインドウが所属するトップレベルウインドウを取得する
pyauto.Window クラスについては、pyauto のリファレンスを参照してください。
http://hp.vector.co.jp/authors/VA012411/pyauto/doc/
| def popBalloon | ( | self, | |
| name, | |||
| text, | |||
timeout = None |
|||
| ) |
バルーンヘルプを開く
| self | - |
| name | バルーンヘルプに付ける名前 |
| text | ヘルプとして表示する文字列 |
| timeout | ヘルプを表示する時間(ミリ秒) |
| def closeBalloon | ( | self, | |
name = None |
|||
| ) |
| def InputKeyCommand | ( | self, | |
| * | keys | ||
| ) |
キーを入力する関数を返す
| self | - |
| keys | 入力するキーのシーケンス (可変引数) |
与えられたキーシーケンスを入力する関数を生成し、返します。
引数 keys には、 ( "A-Z", "A-X" ) のような、キー入力の文字列表現を渡します。
キーを入力する機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。
| def InputTextCommand | ( | self, | |
| s | |||
| ) |
文字を入力する関数を返す
| self | - |
| s | 入力する文字 |
与えられた文字列を入力する関数を生成し、返します。
文字列を入力する機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。
| def command_RecordStart | ( | self | ) |
キーボードマクロの記録を開始する
| self | - |
| def command_RecordStop | ( | self | ) |
キーボードマクロの記録を終了する
| self | - |
| def command_RecordToggle | ( | self | ) |
キーボードマクロの記録を開始または終了する
| self | - |
| def command_RecordClear | ( | self | ) |
キーボードマクロのを消去する
| self | - |
| def command_RecordPlay | ( | self | ) |
キーボードマクロを再生する
| self | - |
| def MouseMoveCommand | ( | self, | |
| delta_x, | |||
| delta_y | |||
| ) |
マウスカーソルを移動させる関数を返す
| self | - |
| delta_x | 横方向の移動量(ピクセル単位) |
| delta_y | 縦方向の移動量(ピクセル単位) |
与えられた移動量の、マウスカーソルを移動させる関数を生成し、返します。
マウスカーソルを移動させる機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。
| def MouseButtonDownCommand | ( | self, | |
button = 'left' |
|||
| ) |
マウスのボタンを擬似的に押す関数を返す
| self | - |
| button | ボタンを識別する文字列 ( 'left' / 'middle' / 'right' ) |
マウスのボタンを擬似的に押す関数を生成し、返します。
マウスのボタンを擬似的に押す機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。
| def MouseButtonUpCommand | ( | self, | |
button = 'left' |
|||
| ) |
マウスのボタンを擬似的に離す関数を返す
| self | - |
| button | ボタンを識別する文字列 ( 'left' / 'middle' / 'right' ) |
マウスのボタンを擬似的に離す関数を生成し、返します。
マウスのボタンを擬似的に離す機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。
| def MouseButtonClickCommand | ( | self, | |
button = 'left' |
|||
| ) |
マウスのボタンを擬似的にクリックする関数を返す
| self | - |
| button | ボタンを識別する文字列 ( 'left' / 'middle' / 'right' ) |
マウスのボタンを擬似的にクリックする関数を生成し、返します。
マウスのボタンを擬似的にクリックする機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。
| def MouseWheelCommand | ( | self, | |
| wheel | |||
| ) |
マウスのホイールを擬似的に回転する関数を返す
| self | - |
| wheel | 回転量 (1.0=奥に向かって1クリック、-1.0=手前に向かって1クリック) |
マウスのホイールを擬似的に回転する関数を生成し、返します。
マウスのホイールを擬似的に回転する機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。
| def MouseHorizontalWheelCommand | ( | self, | |
| wheel | |||
| ) |
マウスの水平ホイールを擬似的に回転する関数を返す
| self | - |
| wheel | 回転量 (1.0=奥に向かって1クリック、-1.0=手前に向かって1クリック) |
マウスの水平ホイールを擬似的に回転する関数を生成し、返します。
マウスの水平ホイールを擬似的に回転する機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。
| def MoveWindowCommand | ( | self, | |
| delta_x, | |||
| delta_y | |||
| ) |
フォーカスされているウインドウを移動させる関数を返す
| self | - |
| delta_x | 横方向の移動量(ピクセル単位) |
| delta_y | 縦方向の移動量(ピクセル単位) |
与えられた移動量の、ウインドウを移動させる関数を生成し、返します。
ウインドウを移動させる機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。
| def MoveWindowToMonitorEdgeCommand | ( | self, | |
| direction | |||
| ) |
フォーカスされているウインドウをモニターの端にそろえるように移動させる関数を返す
| self | - |
| direction | 移動方向 ( 0:左 1:上 2:右 3:下 ) |
与えられた方向にウインドウを移動させる関数を生成し、返します。
ウインドウを移動させる機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。
| def ActivateWindowCommand | ( | self, | |
exe_name = None, |
|||
class_name = None, |
|||
window_text = None, |
|||
check_func = None, |
|||
force = False |
|||
| ) |
ウインドウをアクティブ化する関数を返す
| self | - |
| exe_name | ウインドウが所属するプログラムの実行ファイル名のディレクトリ名を取り除いた部分 |
| class_name | ウインドウのクラス名 |
| window_text | ウインドウのタイトル文字列 |
| check_func | ウインドウ識別関数 |
| force | スレッドのインプット状態を切り替えるか否か |
与えられた条件のウインドウをアクティブ化する関数を生成し、返します。
引数 exe_name, class_name, window_text に渡す文字列は、Keyhac のコンソールウインドウを使って、調査することが出来ます。 タスクトレイ中の Keyhac のアイコンを右クリックして、[ 内部ログ ON ] を選択すると、コンソールウインドウに、 フォーカス位置のウインドウの詳細情報が出力されるようになります。
引数 exe_name, class_name, window_text, check_func を省略するか None を渡した場合は、 その条件を無視します。
引数 exe_name, class_name, window_text には、ワイルドカード ( * ? ) を使うことが出来ます。
check_func には、pyauto.Window オブジェクトを受け取り、True か False を返す関数を渡します。 pyauto.Window クラスについては、pyauto のリファレンスを参照してください。 http://hp.vector.co.jp/authors/VA012411/pyauto/doc/
引数 force に True を与えると、スレッドのインプット状態を切り替えてから、ウインドウをフォアグラウンド化します。ウインドウをフォアグラウンドにしても、タスクバーのボタンが点滅する場合は、引数 force に True を与えてみてください。
ウインドウをアクティブ化する機能を持っているのは、この関数から返される関数であり、 この関数自体はその機能を持っていないことに注意が必要です。 また、ウインドウをアクティブ化する関数は、アクティブ化したWindow、または該当するWindowが見つからなかった場合はNoneを返します。
| def ShellExecuteCommand | ( | self, | |
| verb, | |||
| filename, | |||
| param, | |||
| directory, | |||
swmode = None |
|||
| ) |
プログラムを起動する関数を返す
| self | - |
| verb | 操作 |
| filename | 操作対象のファイル |
| param | 操作のパラメータ |
| directory | 既定のディレクトリ |
| swmode | 表示状態 |
指定されたプログラムを起動する関数を生成し、返します。
引数verbには、実行する操作を文字列で渡します。指定可能な文字列は対象によって異なりますが、一般的には次のような操作が指定可能です。
open ファイルを開きます。またはプログラムを起動します。 edit ファイルを編集します。 properties ファイルのプロパティを表示します。
引数swmodeには、以下のいずれかの文字列(またはNone)を渡します。
"normal"または""またはNone アプリケーションを通常の状態で起動します。 "maximized" アプリケーションを最大化状態で起動します。 "minimized" アプリケーションを最小化状態で起動します。
詳細については、以下の解説を参照してください。
http://msdn.microsoft.com/ja-jp/library/cc422072.aspx
プログラムの起動は、サブスレッドの中で行われます。
| def popListWindow | ( | self, | |
| listers | |||
| ) |
リストウインドウを開き結果を取得する
| self | - |
| listers | リストのアイテムを列挙するオブジェクトのリスト |
| def cancelListWindow | ( | self | ) |
リストウインドウをキャンセルで閉じる
| def isListWindowOpened | ( | self | ) |
リストウインドウが存在しているかを確認する
| def popClipboardList | ( | self | ) |
クリップボード履歴をリストウインドウで表示する
| def command_ClipboardList | ( | self | ) |
クリップボード履歴をリスト表示する
| self | - |
クリップボード履歴をリスト表示します。
クリップボード履歴を選択し、Enterキーを押すことで、ペーストすることが出来ます。 Fキーを押して、インクリメンタルサーチをすることが出来ます。
| def command_ClipboardRemove | ( | self | ) |
クリップボード履歴の直近のアイテムを削除する
| self | - |
クリップボード履歴の直近のアイテムを削除して、一つ前のアイテムをアクティブにします。
| def command_ClipboardRotate | ( | self | ) |
クリップボード履歴の直近のアイテムを末尾に回す
| self | - |
クリップボード履歴の直近のアイテムを末尾に回して、一つ前のアイテムをアクティブにします。
| def command_ReloadConfig | ( | self | ) |
config.py を再読み込みする
| def command_EditConfig | ( | self | ) |
config.py を編集する
| synccall |
サブスレッドからメインスレッド中の処理を呼び出すためのSyncCallオブジェクト