●よく聞かれる質問
○スクリプトの知識が無いし,他のプログラムに触れたこともないのに使えるでしょうか?
○Windows7 64bitでは動作しますか。
○MouseGesture.ahkとMouseGestureL.ahkの違いがよく解らない。
○自作のスクリプトを発表したい。
○スクリプトの知識が無いし,他のプログラムに触れたこともないのに使えるでしょうか?
○Windows7 64bitでは動作しますか。
○MouseGesture.ahkとMouseGestureL.ahkの違いがよく解らない。
○自作のスクリプトを発表したい。
●問題編
○導入したが何も起こらない
○MouseGesture.ahkを押してもトレイアイコンが現れない。
○タスクトレイに緑地に白抜きでHのアイコンは出たが設定を色々登録しても反応しない。。
○設定画面で編集しokボタンを押したら英文のエラーメッセージが出て動作しなくなりました。
○マウスのコントロールが効かず矢印が出たまま動かない。マウスを動かすと矢印が増えてくる。
○何も押していないのにマウスを動かすと画面の縁で矢印が増える。
○「MB_」と「MB__」の違いが分かりません。
○縁認識の反応を確認したい。
○メモ帳では動作するが他のアプリでは動作しない。
○サイドボタンでブラウザの進む 戻るが発動してしまう。
○8方向モードがうまく使いこなせない。
○ホイールリダイレクトをやりたい。
○「XX hotkeys have been received in the last XXXXms.」って怒られるんだけど、、、(XXは環境による
○指定したウィンドウが存在しなかったので処理が止まってしまった
○Excelで2画面表示の時の条件分けの設定例
○画面のサイズ変更は
○全画面最小化,元に戻す
○導入したが何も起こらない
○MouseGesture.ahkを押してもトレイアイコンが現れない。
○タスクトレイに緑地に白抜きでHのアイコンは出たが設定を色々登録しても反応しない。。
○設定画面で編集しokボタンを押したら英文のエラーメッセージが出て動作しなくなりました。
○マウスのコントロールが効かず矢印が出たまま動かない。マウスを動かすと矢印が増えてくる。
○何も押していないのにマウスを動かすと画面の縁で矢印が増える。
○「MB_」と「MB__」の違いが分かりません。
○縁認識の反応を確認したい。
○メモ帳では動作するが他のアプリでは動作しない。
○サイドボタンでブラウザの進む 戻るが発動してしまう。
○8方向モードがうまく使いこなせない。
○ホイールリダイレクトをやりたい。
○「XX hotkeys have been received in the last XXXXms.」って怒られるんだけど、、、(XXは環境による
○指定したウィンドウが存在しなかったので処理が止まってしまった
○Excelで2画面表示の時の条件分けの設定例
○画面のサイズ変更は
○全画面最小化,元に戻す
About
よく聞かれる質問
スクリプトの知識が無いし,他のプログラムに触れたこともないのに使えるでしょうか?
MouseGestureL.ahk はマウスジェスチャを初めて使う人でも便利に
使えるソフトをコンセプトに改良が進められています。
マウスジェスチャーで色々やりたいことがあるという目的意識があれば使えます。
導入後にスクリプトを覚えるとさらに便利に使えるようになります。
使えるソフトをコンセプトに改良が進められています。
マウスジェスチャーで色々やりたいことがあるという目的意識があれば使えます。
導入後にスクリプトを覚えるとさらに便利に使えるようになります。
;;;;;↓↓スクリプトがいる理由,暇だったら読んで↓↓;;;;;;; マウ筋を使ったことがあって導入手順の通りにすれば設定画面を 出すまでは割と簡単にできます。 設定画面から設定保存を行うことにより 自動的に[[AutoHotkey]]が認識できるスクリプトを生成してくれます。 設定画面から操作する範囲においてはマウ筋とそれほど変わらない感覚で 使うことが出来ます。 その意味ではスクリプトを知らないでも使い続けることは可能です。 ただ,この状態では,マウ筋の方が使いやすく感じると思います。 マウ筋と違い1か所でも文法上の矛盾があれば動きませんし,定義の通りに 動くソフトなので,逆に言えば考え落ちの所があれば ぎこちない動きになってしまいます。 この段階でとどまっているのであれば導入時の労力なども考えあわせて マウ筋等今まで使っていたソフトを使い続けた方が良いでしょう。 それらの方が,手軽に設定を登録出来ますし,使い勝手が良いように ソフト側の設定がなされています。 今まで使っていたソフトで出来ることで満足なら,移行はお勧めしません。 この辺の問題を解消するため改良が進められています。 [[MouseGesture.ahk]]の作者はある程度スクリプトの知識をもったユーザー を前提にこのソフトを開発されたようですし, スクリプトはこのソフトの高度な使い方まで使いこなすには必要です。 AutoHotkey (略称 AHK)は Windows 用フリーウェアのスクリプト言語で、 プログラミング経験の少ない人を対象に作られ、シンプルで無駄のないコードが特徴です。 ぼちぼち 解説頁のAutoHotkeyJp等を眺めたり,ネット上に挙げられている 例を参考にスクリプトを始め理解を深めて行くうちにMouseGesture.ahkの便利さが 少しずつ解ってきます。 スクリプトの編集はメモ帳でも出来ますが, Notepad++などのコードエディタを 利用した方が作業が捗ります。 ;;;;;↑↑スクリプトがいる理由,暇だったら読んで↑↑;;;;;;;
- MouseGesture.ahk概要
- http://www53.atwiki.jp/mousegestures/pages/26.html#id_b6143050
- ゆっくりMouseGesture.ahk(English版)でマウスジェスチャー
- http://www.nicovideo.jp/watch/sm16761280
- AutoHotkey とは
- http://sites.google.com/site/ahktips/home
- AutoHotkeyJp
- http://sites.google.com/site/autohotkeyjp/
- AutoHotkey Wiki
- http://ahkwiki.net
- AutoHotKey
- http://vipprog.net/wiki/AutoHotKey.html#h82df47d
- 英語版紹介記事 AutoHotkey Community
- http://www.autohotkey.com/forum/viewtopic.php?p=516736#516736/
- ↑Top
Windows7 64bitでは動作しますか。
MouseGesture.ahkの作者による更新は2008/10/07が最終です。 今後作者による更新の予定はありません。 従って正式なWindows7 64bit対応版は存在しません。 有志の方が修正された,64bit環境対応版が公開されています。
- MouseGestureL.ahk
- http://code.google.com/p/mousegesturel/downloads/list|
- 32bit,64bitで MouseGestureL.ahkは共通に使えます。
WindowsVista Windows7での制限 UACの一般権限では、管理者権限のアプリを操作できません。 逆にAutoHotkeyを管理者権限で実行した場合、 MG_CommandLine()で一般プロセスのコマンドライン を取得できないなどの制限があります。
- ↑Top
MouseGesture.ahkとMouseGestureL.ahkの違いがよく解らない。
MouseGestureL.ahkはMouseGesture.ahkの開発終了を惜しむ有志によって,
派生版として,発表されました。
オリジナルのMouseGesture.ahkの優れた点として、
ジェスチャーへの割り当て動作にスクリプトを記述できるため、自由度の高い動作設定が可能
ボタンを押したままジェスチャーを繰り返すことで連続的に割り当て動作を実行させるなど、特殊な動作設定が可能
といったことが挙げられます。
派生バージョンは上記の特徴をそのまま受け継ぎ、さらに以下のような変更が加えられています。
●Unicode環境、および64-bit版Windows環境への対応
●ジェスチャー軌跡表示機能の実装
●リアルナビの実装
●アドバンスドナビの実装
●プラグイン機能の実装
●設定画面のユーザーインタフェースの改善
●多言語対応
これらは派生版開発者のホームページに詳しく解説してあります。
設定画面のユーザーインタフェースの改善は初心者に配慮して行われています。
また,操作によるエラーが起こりにくく,エラーからの回復も容易になりました。
具体的には
・MG_Config.ahkが存在しないとエラーになっていたのを,
存在しない場合でも起動するよう修正されています。
派生版として,発表されました。
オリジナルのMouseGesture.ahkの優れた点として、
ジェスチャーへの割り当て動作にスクリプトを記述できるため、自由度の高い動作設定が可能
ボタンを押したままジェスチャーを繰り返すことで連続的に割り当て動作を実行させるなど、特殊な動作設定が可能
といったことが挙げられます。
派生バージョンは上記の特徴をそのまま受け継ぎ、さらに以下のような変更が加えられています。
●Unicode環境、および64-bit版Windows環境への対応
●ジェスチャー軌跡表示機能の実装
●リアルナビの実装
●アドバンスドナビの実装
●プラグイン機能の実装
●設定画面のユーザーインタフェースの改善
●多言語対応
これらは派生版開発者のホームページに詳しく解説してあります。
設定画面のユーザーインタフェースの改善は初心者に配慮して行われています。
また,操作によるエラーが起こりにくく,エラーからの回復も容易になりました。
具体的には
・MG_Config.ahkが存在しないとエラーになっていたのを,
存在しない場合でも起動するよう修正されています。
・初回起動時にサンプルジェスチャーの登録を選択できるよう変更されています。
・設定画面の左側リスト表示にSボタンが追加され,名前昇順の並び替え
が出来るようになりました。
が出来るようになりました。
・同一内容の条件定義の重複登録、および同一条件を対象とした動作割り当
ての重複登録ができないよう修正されています。
ての重複登録ができないよう修正されています。
・クリップボードから条件定義、ジェスチャー定義をインポートする際、既
存設定と重複する定義は無視するよう修正されています。
存設定と重複する定義は無視するよう修正されています。
・ジェスチャー定義,動作定義画面で空の定義を複数登録したとき(操作++OK)
無視されるよう修正されています。
無視されるよう修正されています。
・条件定義で選択無しの時「-」が無効となるよう修正されました。
・縁認識モジュールの追加削除が表示リストから出来るようになりました。
・エラーメッセージの時,日本語のガイダンスが出るよう修正されています。
エラーの内容をコピーするボタンが追加されています。
エラーの内容をコピーするボタンが追加されています。
・マウスボタンの押しっぱなし現象について、定期的に監視して
自動リリースする処理が追加されました。
自動リリースする処理が追加されました。
・動作定義のスクリプト編集をエディタで行えるようEボタンが追加されました。
自作のスクリプトを発表したい
スクリプトの発表の場はAutoHotkey Community Forum等があります。
手軽にupしたいという時は有志の方が設置された
Autohotkey専用うpろだ を利用することも出来ます。
Autohotkey専用うpろだ を利用することも出来ます。
- Autohotkey専用うpろだ
- http://ux.getuploader.com/autohotkeyl/
GoogleCode の mousegesturel の Downloads に Upするためには
Project Home の 頁の左側にある Members の所に登録する必要があります。
GoogleCodeにUpしたいという内容のメールをHelp の編集者宛に送って下さい。
( パスワード等は必要ありません。絶対に書き込まないでください。)
編集者へのメールは Gmailで送ってください。
Project Home の 頁の左側にある Members の所に登録する必要があります。
GoogleCodeにUpしたいという内容のメールをHelp の編集者宛に送って下さい。
( パスワード等は必要ありません。絶対に書き込まないでください。)
編集者へのメールは Gmailで送ってください。
問題編
導入したが何も起こらない。
起動はC:\~省略~\MouseGesture2L\MouseGesture.ahkを実行することで タスクトレイに緑地に白抜きでHのアイコンが出たら成功です。 MouseGesture.ahkのショートカットをスタートアップに登録しておけば 自動的に起動されます。
MouseGesture.ahkを押してもトレイアイコンが現れない。
あらかじめ本体のAutoHotkey_L をインストールしておく必要があります。
- 導入手順は 銀盤浴さんの頁
- http://ginbanyoku.blog67.fc2.com/blog-entry-129.html|
- 上下猿さんの頁
- http://blog.livedoor.jp/irvcidre/archives/1616301.html|
なお, MouseGesture.ahkは下記から入手してください。
- MouseGestureL.ahk
- http://code.google.com/p/mousegesturel/downloads/list
- ↑Top
タスクトレイに緑地に白抜きでHのアイコンは出たが設定を色々登録しても反応しない。
Autohotkeyが押されたボタンをユーザーの思い通りに判別出来ていない状態が想定されます。 原因としてはマウスユーティリティソフトでボタンに特殊な割り当てを行っていたりすると Autohotkeyは反応しません。本サイトのその他
- ポインティングデバイス
- http://www53.atwiki.jp/mousegestures/pages/35.html|
を参照して下さい。 Autohotkeyの実行の仕組みについては下記url等に解説してあります。
- Vista/Windows 7におけるキーボードカスタマイズ問題 - A Successful Failure
- http://d.hatena.ne.jp/LM-7/20090614/1244980470|
- リマップ
- http://sites.google.com/site/autohotkeyjp/reference/remap|
- スクリプトの実行のされ方 - hoge
- http://sites.google.com/site/agkh6mze/howto/scripting|
- ↑Top
設定画面で編集しokボタンを押したら英文のエラーメッセージが出て動作しなくなりました。
設定変更をMouseGesture.iniとConfig.ahkに変換する時点で 文法上の誤りが見つかりエラーになった状態です。 英文を読むと原因が示されていることが判ります。 Config.ahkの行番号を指示してメッセージが出ることがありますが あわててConfig.ahkを修正したりしても直りません。(経験者談) Config.ahkで動作のロジックを見ることが出来ます。 ただ,Config.ahkの編集は解決を遅らせるだけです。 修正は「設定画面での編集」か「iniの直接編集>再起動(R)」で行います。 (再起動(R)とAutoHotkeyの標準コマンド内にあるReload this Scriptとは 動作が異なります。参照:Help.chmの5.2.8. 再起動) どうしてもエラーが消えなかったら,以前の状態に戻すのが近道です。 修正を加える前のMouseGestureフォルダをバックアップで とっておきましょう。 世代管理できるフリーソフト(BunBackup等)を使えば 段階ごとの記録を残せますし,最初からやり直すより 被害は少ないです。 リストアはAutoHotkeyとMouseGestureL.ahkをいったん終了し, MouseGestureフォルダにバックアップファイルを 丸ごと上書きすれば完了です。 設定ファイル(MouseGesture.ini)だけを上書きして復元する時は, 上書き直後にトレイメニューの再起動を実行してください。 iniファイルの保存・復元が手軽にできるよう Pluginを作りました。
マウスのコントロールが効かず矢印が出たまま動かない。マウスを動かすと矢印が増えてくる。
直前のジェスチャジの認識が解除されていないことが考えられます。 例えば直前の動作で Send,^a であればマウスボタンが押しっぱなしと認識されているいる状態のとき矢印が次々出てきます。 この場合,末尾にMG_Abort()を加えると,概ね解決できます。 例の場合は Send,^a Sleep,100 MG_Abort() としてください。
何も押していないのにマウスを動かすと画面の縁で矢印が増える。
マウスを動かすと画面の縁で矢印が増える状態は画面縁認識を追加したときにおこります。 ジェスチャ定義のIgnoreに CLB_WU_ CLB_WD_ CLB_2 CLT_WU_ CLT_WD_ CLT_2 CRB_2 CRT_2 EB2_2 EL2_2 ER2_2 ET2_2 ER1_2 CLB_4 CLT_4 CRB_4 CRT_4 EB2_4 EL2_4 ER2_4 ET2_4 ER1_4 以下略 などと定義しましょう。
「MB_」と「MB__」の違いが分かりません。
「MB_」はボタンを押したとき 「MB__」はボタンを離したときを表しています。 ダブルクリックは「MB__MB__」で表現します。 認識のタイミングは
- マウ筋視点でのダブルジェスチャについて
- http://www53.atwiki.jp/mousegestures/pages/48.html#id_f3131501|
に解説があります。 式による使い分けは,下記のようになります。 X1B__ if(MG_Executed=1){ ;単独で押された時に実行される動作 } X1B_ if(!MG_Timer(500)){ ;指定時間経過後に実行される動作 } if(MG_Hold()>500){ ;長押しクリック時の動作を記述 } if(MG_Hold() && MG_Hold()<500){ ;短クリック時の動作を記述 } if(MG_Hold()){ if(MG_Hold()>500){ ;長押し時の動作 }else{ ;短クリック時の動作 } } if(!MG_Hold()){ ;押したときの動作 }else{ ;放したときの動作 } if(MG_While(100)){ ;ボタンを押したとき繰り返される動作 ;(ボタンを放した後にも一度だけ同じ動作が実行される。) } if(!MG_WhileState){ ;押し下げ時の動作 MG_While(100) }else if(MG_While()){ ;押し下げている間の動作 }else{ ;放したときの動作 } X1B__ と X1B_ どちらでも使用できる式 if(MG_Counter()){ ;奇数回目の実行時の動作 }else{ ;偶数回目の実行時の動作 } if(1=MG_Counter("",3)){ ;3の倍数+1回目の呼び出し }else if(2=MG_Counter("",-3)){ ;3の倍数+2回目の呼び出し }else{ ;3の倍数回目の呼び出し } if(MG_Defer()){ ;全てのボタンが放されたときに発動する動作 } if(!MG_Timer(-500)){ ;クリックが1回のみだった場合の動作 }
- ↑Top
縁認識の反応を確認したい。
前の項で縁認識の角は広げることが出来ます。
使っていると,縁認識は反応を確認しづらいことがあります。
動作の中にSoundplay,を入れると音による確認が出来ます。
Guiを利用して,可視化するようにも出来ます。
準備として,SE_CLB.bmpのような画像を幾つか用意し,フォルダに保存しておきます。
使っていると,縁認識は反応を確認しづらいことがあります。
動作の中にSoundplay,を入れると音による確認が出来ます。
Guiを利用して,可視化するようにも出来ます。
準備として,SE_CLB.bmpのような画像を幾つか用意し,フォルダに保存しておきます。

画面左下隅に接触の時の動作設定例です。
trans=150 ;;bmpの透明度 0~255 0で不可視 image=%A_ScriptDir%\Components\ImageFiles\SE_CLB.bmp Gui,+Owner +AlwaysOnTop -Resize -SysMenu -MinimizeBox -MaximizeBox -Disabled -Caption -Border -ToolWindow Gui,Margin,0,0 Gui,Add,Picture,,%image% Gui,Show,X-0 Y-950 W100 H100 NoActivate,Corner WinSet,TransColor,000000 %trans%,Corner ;;画像の中の黒色を透明に WinMove,Corner ,,0,950 Sleep,50 ;-------------------------------------- ;;動作をここに記述してください。 ;-------------------------------------- Sleep,100 Gui,Destroy
このスクリプトを書き換えて,タスクバーの一部など,
特定の位置にGuiを表示させることも出来ます。
出典:skrommel
Posted: Sun Dec 11, 2005 12:27 am Post subject: On MouseDown
http://www.autohotkey.com/forum/topic6833.html&highlight=mousegesture
画像表示を関数化して利用する方法を The examples of setting に載せています。
http://code.google.com/p/mousegesturel/downloads/list
特定の位置にGuiを表示させることも出来ます。
出典:skrommel
Posted: Sun Dec 11, 2005 12:27 am Post subject: On MouseDown
http://www.autohotkey.com/forum/topic6833.html&highlight=mousegesture
画像表示を関数化して利用する方法を The examples of setting に載せています。
http://code.google.com/p/mousegesturel/downloads/list
メモ帳では動作するが他のアプリでは動作しない。
動作割り当ての条件がEditorになっていませんか, すべてのアプリで動作させたいときは 条件をDefaultで定義します。
サイドボタンでブラウザの進む 戻るが発動してしまう。
IE,FireFox,Operaなどでは,サイドボタン短クリックでブラウザの戻る,進む はそのままで使ってください。
またはX1B_ , X1B__ , X2B_ , X2B__ に空白を割り当てれば 戻る,進む は無効になります。
X1B__ に動作を割り当てることも出来ますが,Msgbox,を定義した場合 戻る が実行されます。
またはX1B_ , X1B__ , X2B_ , X2B__ に空白を割り当てれば 戻る,進む は無効になります。
X1B__ に動作を割り当てることも出来ますが,Msgbox,を定義した場合 戻る が実行されます。
Chrome,Safariなどでは以下の設定で別の機能を割り当てることが出来ます。
ブラウザとDefault で動作を分けてください。 この場合Defaultはブラウザ以外と認識されます。
X1B(左サイドボタン)を例にとると
X1B(左サイドボタン)を例にとると
X1B__ Browser= ;空白 Default=if(MG_Executed=1){ ;単体で押したときの動作 }
X1B_ Browser=if(MG_Hold() && MG_Hold()<500){ ;短クリック時の動作を記述 } Default= ;空白 または Defaultにreadmeの[Gesture_Start]を登録します。 Default=WinActivate ControlFocus,,ahk_id %MG_HCTL%
サイドボタンでのブラウザの 戻る,進む (既定動作)を無効にする別の方法
サイドボタンに別の機能を割り当てておけば 戻る,進む は無効になります。
ここでは、F13,F14というキーボードには無いキーを割り当てる方法を
紹介します。
出典:AutoHotkey Wiki
http://ahkwiki.net/-InputLevel
ここでは、F13,F14というキーボードには無いキーを割り当てる方法を
紹介します。
出典:AutoHotkey Wiki
http://ahkwiki.net/-InputLevel
【1】 ;マイドキュメントにあるAutohotkey.ahkに下記の4行を追加します。
;Autohotkey.ahkがない場合は新規作成してください。
;MouseGestureL.ahkとAutohotkey.ahk 2つのスクリプトを起動してください。
;Autohotkey.ahkがない場合は新規作成してください。
;MouseGestureL.ahkとAutohotkey.ahk 2つのスクリプトを起動してください。
Menu, Tray, Icon, %A_WinDir%\System32\shell32.dll, 15 ;この行はお好みで #InputLevel 1 XButton1::F13 XButton2::F14
【2】MouseGestureL.ahk の新規ボタン作成で
「キー」S1B
「名前」F13
「キー」S2B
「名前」F14
を作成します。
「キー」S1B
「名前」F13
「キー」S2B
「名前」F14
を作成します。
【3】MouseGestureL.ahk のジェスチャ定義で
X1B→S1B
X2B→S2B
に書き換えるか,又はMouseGestureL.iniの直接編集で置換します。
X1B→S1B
X2B→S2B
に書き換えるか,又はMouseGestureL.iniの直接編集で置換します。
【4】この設定を行えば別章のX1B_,X1B__は下記のようになります。
S1B__に定義を割り当ててください。
また,条件もDefault 1つで済み,S1B__S1B__を割り当てることも可能です。
S1B__に定義を割り当ててください。
また,条件もDefault 1つで済み,S1B__S1B__を割り当てることも可能です。
S1B__S1B__等のダブルジェスチャーを定義したいときは,このような記述例があります
[S1B__] G=S1B__ Default= if((MG_Executed=1)&&(!MG_Timer(-300))){【TAB】if (A_TimeSincePriorHotkey <600 ) {【TAB】 ;Click the short-time behavior【TAB】 }else{【TAB】 ;Describes the behavior of the click when press and hold【TAB】 }【TAB】 } [S1B__S1B__] G=S1B__S1B__ Default= ;;Operation at the time of a double click
8方向モードがうまく使いこなせない。
4方向に操作を整理しましょう。
wikiのアンケートの結果では,4方向モードが多数派です。4方向で済ませれば類似ジェスチャーの考慮もあまり必要有りません。Firefox,Chrome,Operaなどブラウザにあるマウスジェスチャー機能でもデフォルトは縦横方向です。4方向でも1ストローク4通り,2ストローク4x3=12通り,3ストローク4x3x3=36通りの設定が可能です。
どうしても8方向が使いたいなら・・・
8方向モードにおいては,類似ジェスチャーの考慮が必要です。「↑→↓」「↑↓」のような似たジェスチャを一つの定義にまとめて、どれが入力されても意図した動作が実行されるようにすれば,認識精度が上がります。
8方向はそのままでは類似のジェスチャーの種類が多くなるので,
斜め移動の認識範囲にある「縦横の後」を0に、「斜めの後」を90にして類似を絞ったときの設定例です。
斜め移動の認識範囲にある「縦横の後」を0に、「斜めの後」を90にして類似を絞ったときの設定例です。
この設定例では,
F,G,K,Qはジェスチャー設定が困難な為省略しています。
【C,O】 【H,Y】 【H,R】【P,D】 【U,V】 【X,Y】は同じジェスチャーになってしまいます。
アルファベットの中で他と重複しないのは
A,B,E,I,J,L,M,N,S,T,W,Zでした。
全ての可能性をカバーしきれてはいません。全部をカバーしようとすると 他の文字と重複するケースばかりになってしまうので,ごくまれな例は省いています。
F,G,K,Qはジェスチャー設定が困難な為省略しています。
【C,O】 【H,Y】 【H,R】【P,D】 【U,V】 【X,Y】は同じジェスチャーになってしまいます。
アルファベットの中で他と重複しないのは
A,B,E,I,J,L,M,N,S,T,W,Zでした。
全ての可能性をカバーしきれてはいません。全部をカバーしようとすると 他の文字と重複するケースばかりになってしまうので,ごくまれな例は省いています。
Aをイメージしたジェスチャー
[A_Stroke]
G=RB_9373_
G=RB_937_
[A_Stroke]
G=RB_9373_
G=RB_937_
Bをイメージしたジェスチャー
[B_Stroke]
G=RB_286464_
G=RB_28624624_
G=RB_2864624_
G=RB_2862464_
G=RB_286248624_
G=RB_28648624_
G=RB_28624864_
[B_Stroke]
G=RB_286464_
G=RB_28624624_
G=RB_2864624_
G=RB_2862464_
G=RB_286248624_
G=RB_28648624_
G=RB_28624864_
Cをイメージしたジェスチャー
[C_Stroke]
○(反時計回り)を割り当て
[C_Stroke]
○(反時計回り)を割り当て
Dをイメージしたジェスチャー
[D_Stroke]
G=RB_28624_
G=RB_2864_
;G=RB_2864_ はPと共通.
[D_Stroke]
G=RB_28624_
G=RB_2864_
;G=RB_2864_ はPと共通.
Eをイメージしたジェスチャー
[E_Stroke]
G=RB_4646_
G=RB_426426_
G=RB_1313_
G=RB_46426_
G=RB_42646_
G=RB_139713_
G=RB_13713_
G=RB_13913_
G=RB_4268426_
G=RB_468426_
G=RB_426846_
[E_Stroke]
G=RB_4646_
G=RB_426426_
G=RB_1313_
G=RB_46426_
G=RB_42646_
G=RB_139713_
G=RB_13713_
G=RB_13913_
G=RB_4268426_
G=RB_468426_
G=RB_426846_
Fをイメージしたジェスチャー
[F_Stroke]
省略
[F_Stroke]
省略
Gをイメージしたジェスチャー
[G_Stroke]
省略
[G_Stroke]
省略
H(h)をイメージしたジェスチャー
[H_Stroke]
G=RB_2862_
;G=RB_2862_ はR(r)と共通
G=RB_282_
;G=RB_282_ は Yと共通.
[H_Stroke]
G=RB_2862_
;G=RB_2862_ はR(r)と共通
G=RB_282_
;G=RB_282_ は Yと共通.
I(i)をイメージしたジェスチャー
[I_Stroke]
G=RB_93_
G=RB_82_
G=RB_6826_
G=RB_826_
G=RB_682_
[I_Stroke]
G=RB_93_
G=RB_82_
G=RB_6826_
G=RB_826_
G=RB_682_
Jをイメージしたジェスチャー
[J_Stroke]
G=RB_248_
G=RB_24_
G=RB_17_
[J_Stroke]
G=RB_248_
G=RB_24_
G=RB_17_
Kをイメージしたジェスチャー
[K_Stroke]
省略
[K_Stroke]
省略
Lをイメージしたジェスチャー
[L_Stroke]
G=RB_26_
[L_Stroke]
G=RB_26_
Mをイメージしたジェスチャー
[M_Stroke]
G=RB_8282_
G=RB_862862_
G=RB_82862_
G=RB_86282_
G=RB_9393_
G=RB_931793_
G=RB_93793_
G=RB_93193_
G=RB_8624862_
G=RB_824862_
G=RB_862482_
[M_Stroke]
G=RB_8282_
G=RB_862862_
G=RB_82862_
G=RB_86282_
G=RB_9393_
G=RB_931793_
G=RB_93793_
G=RB_93193_
G=RB_8624862_
G=RB_824862_
G=RB_862482_
Nをイメージしたジェスチャー
[N_Stroke]
G=RB_939_
G=RB_828_
G=RB_868_
G=RB_86268_
G=RB_8268_
G=RB_8628_
[N_Stroke]
G=RB_939_
G=RB_828_
G=RB_868_
G=RB_86268_
G=RB_8268_
G=RB_8628_
Oをイメージしたジェスチャー
[O_Stroke]
○(反時計回り)を割り当て
[O_Stroke]
○(反時計回り)を割り当て
Pをイメージしたジェスチャー
[P_Stroke]
G=RB_2864_
;G=RB_2864_ はDと共通.
G=RB_28624_
;G=RB_8624_ は○と同じジェスチャーになるので省略しました。
[P_Stroke]
G=RB_2864_
;G=RB_2864_ はDと共通.
G=RB_28624_
;G=RB_8624_ は○と同じジェスチャーになるので省略しました。
Qをイメージしたジェスチャー
[Q_Stroke]
省略
[Q_Stroke]
省略
R(r)をイメージしたジェスチャー
[R_Stroke]
G=RB_286_
G=RB_2862_
;G=RB_2862_ はH(h)と共通
[R_Stroke]
G=RB_286_
G=RB_2862_
;G=RB_2862_ はH(h)と共通
Sをイメージしたジェスチャー
[S_Stroke]
G=RB_464_
G=RB_131_
G=RB_42624_
G=RB_4624_
G=RB_4264_
[S_Stroke]
G=RB_464_
G=RB_131_
G=RB_42624_
G=RB_4624_
G=RB_4264_
Tをイメージしたジェスチャー
[T_Stroke]
G=RB_642_
G=RB_62_
[T_Stroke]
G=RB_642_
G=RB_62_
Uをイメージしたジェスチャー
[U_Stroke]
G=RB_268_
G=RB_39_
[U_Stroke]
G=RB_268_
G=RB_39_
Vをイメージしたジェスチャー
[V_Stroke]
G=RB_268_
G=RB_39_
※Uと同じジェスチャになります。
[V_Stroke]
G=RB_268_
G=RB_39_
※Uと同じジェスチャになります。
Wをイメージしたジェスチャー
[W_Stroke]
G=RB_2828_
G=RB_268268_
G=RB_3939_
G=RB_28268_
G=RB_26828_
G=RB_397139_
G=RB_39139_
G=RB_39739_
G=RB_2684268_
G=RB_284268_
G=RB_268428_
[W_Stroke]
G=RB_2828_
G=RB_268268_
G=RB_3939_
G=RB_28268_
G=RB_26828_
G=RB_397139_
G=RB_39139_
G=RB_39739_
G=RB_2684268_
G=RB_284268_
G=RB_268428_
Xをイメージしたジェスチャー
[X_Stroke]
G=RB_391_
G=RB_2684_
;G=RB_2684_ は○と共通
[X_Stroke]
G=RB_391_
G=RB_2684_
;G=RB_2684_ は○と共通
Yをイメージしたジェスチャー
[Y_Stroke]
G=RB_391_
; G=RB_391_ は Xと共通.
G=RB_2682_
G=RB_282_
; G=RB_282_ は Hと共通.
[Y_Stroke]
G=RB_391_
; G=RB_391_ は Xと共通.
G=RB_2682_
G=RB_282_
; G=RB_282_ は Hと共通.
Zをイメージしたジェスチャー
[Z_Stroke]
G=RB_646_
G=RB_313_
G=RB_62426_
G=RB_6246_
G=RB_6426_
[Z_Stroke]
G=RB_646_
G=RB_313_
G=RB_62426_
G=RB_6246_
G=RB_6426_
○(時計回り)をイメージしたジェスチャー
G=RB_8624 などの 4ストロークだけ設定して。
動作の先頭にMG_Abort()をつけることでも,正しく認識されます。
ただし,この場合,コンテキストメニューが表示されてしまいます。
[○_Stroke]
G=RB_8624_
G=RB_4862_
G=RB_2486_
G=RB_6248_
G=RB_9317_
G=RB_7931_
G=RB_1793_
G=RB_3179_
G=RB_86248_
G=RB_48624_
G=RB_24862_
G=RB_62486_
G=RB_93179_
G=RB_79317_
G=RB_17931_
G=RB_31793_
G=RB_8624 などの 4ストロークだけ設定して。
動作の先頭にMG_Abort()をつけることでも,正しく認識されます。
ただし,この場合,コンテキストメニューが表示されてしまいます。
[○_Stroke]
G=RB_8624_
G=RB_4862_
G=RB_2486_
G=RB_6248_
G=RB_9317_
G=RB_7931_
G=RB_1793_
G=RB_3179_
G=RB_86248_
G=RB_48624_
G=RB_24862_
G=RB_62486_
G=RB_93179_
G=RB_79317_
G=RB_17931_
G=RB_31793_
○(反時計回り)をイメージしたジェスチャー
[○_Stroke]
G=RB_4268_
G=RB_2684_
G=RB_6842_
G=RB_8426_
G=RB_7139_
G=RB_1397_
G=RB_3971_
G=RB_9713_
G=RB_84268_
G=RB_42684_
G=RB_26842_
G=RB_68426_
G=RB_97139_
G=RB_71397_
G=RB_13971_
G=RB_39713_
[○_Stroke]
G=RB_4268_
G=RB_2684_
G=RB_6842_
G=RB_8426_
G=RB_7139_
G=RB_1397_
G=RB_3971_
G=RB_9713_
G=RB_84268_
G=RB_42684_
G=RB_26842_
G=RB_68426_
G=RB_97139_
G=RB_71397_
G=RB_13971_
G=RB_39713_
ホイールリダイレクトをやりたい。
ホイールリダイレクトとは マウスホイールの回転をアクティブウィンドウではなくカーソル下のコントロールに送る。 という操作です。 ヘルプの4.3.3.ホイールでカーソル下のコントロールを操作や
- WheelRedirect.ahk
- http://lukewarm.s101.xrea.com/myscripts/index.html|
- WheelAccel.ahk
- http://mobitan.org/ahk/ |
等を使って,AutoHotkeyから実現できます。 他のフリーソフトを共存させて,行う方法もあります。
- 2012年リダイレクトに関するアンケート
- http://www53.atwiki.jp/mousegestures/pages/36.html#id_756552f3|
V1.16でホイールリダイレクト機能が改良され,MGL一本化が可能になりました。
コマンドは
「縦スクロール」MG_SendWheel(dir, counts=1) ,(MG_Scroll2("V")
「横スクロール」(MG_Scroll2("H")
などを使います。
設定方法はヘルプの
3.7.動作割り当て
3.14.設定例
4.4.2.ユーティリティ変数・関数
等を参照してください。
「縦スクロール」MG_SendWheel(dir, counts=1) ,(MG_Scroll2("V")
「横スクロール」(MG_Scroll2("H")
などを使います。
設定方法はヘルプの
3.7.動作割り当て
3.14.設定例
4.4.2.ユーティリティ変数・関数
等を参照してください。
{「XX hotkeys have been received in the last XXXXms.」って怒られるんだけど、、、(XXは環境による)
自分自身のキーを送って無限ループになっていませんか。 例) 「a::Send, a 」
先頭に $ を付ければ回避できます(NT系のみ)。 例) 「$a::Send, a」
先頭に $ を付ければ回避できます(NT系のみ)。 例) 「$a::Send, a」
または,高速ホイールを使っている場合このエラーが出る事があります。
WU_ ,WD_ はホイール回転1ノッチと認識されます。
高速ホイールの場合大きな数のノッチが送られこのエラーが表示されます。
下記のような設定を「拡張スクリプト」の「初期化処理」の中に記述することで
回避出来ます。
WU_ ,WD_ はホイール回転1ノッチと認識されます。
高速ホイールの場合大きな数のノッチが送られこのエラーが表示されます。
下記のような設定を「拡張スクリプト」の「初期化処理」の中に記述することで
回避出来ます。
例1) 指定時間の間に実行できる最大のホットキー数を設定 #HotkeyInterval 2000 ;;時間の長さをミリ秒で指定 #MaxHotkeysPerInterval 3000 ;;ホットキーの実行数の上限を指定 ;;2秒間に3000回 例2) #HotkeyInterval 10000 #MaxHotkeysPerInterval 700 ;;10秒間に700回
出典:AutoHotkeyスレッド Part13 549~555
http://logsoku.com/thread/anago.2ch.net/software/1317156599/501-600
↑Top
http://logsoku.com/thread/anago.2ch.net/software/1317156599/501-600
↑Top
指定したウィンドウが存在しなかったので処理が止まってしまった
指定したウィンドウが存在しない場合,処理が止まってしまいます。
AutoHotkeyのWinWaitコマンドを使うことで存在しない場合処理を終わらせることが出来ます。
AutoHotkeyのWinWaitコマンドを使うことで存在しない場合処理を終わらせることが出来ます。
Run, notepad.exe WinWait, Untitled - Notepad, , 2 if ErrorLevel <> 0 { MsgBox, WinWait timed out. return } else WinMinimize ; minimize the window found by WinWait.
Excelで2画面表示の時の条件分けの設定例
ahkでファイル名でExcelのスクロール制御などを設定する場合
1画面の時はInStr(MG_Title,"検索文字列")で出来るが,
2画面以上の時,( Now Under Mouse Cursor )のTextを取得
して判別させる必要がある。
この場合条件定義ではなく動作割り当てのところに組み込む形で条件分岐を行う。
1画面の時はInStr(MG_Title,"検索文字列")で出来るが,
2画面以上の時,( Now Under Mouse Cursor )のTextを取得
して判別させる必要がある。
この場合条件定義ではなく動作割り当てのところに組み込む形で条件分岐を行う。
MouseGetPos,,,,OutputVarControl ControlGetText, OutputVar ,%OutputVarControl% if (InStr(OutputVar,"検索文字列")){ ;検索文字列と一致したときの動作 }else{ ;その他の時の動作 }
画面のサイズ変更は
(10スレ目304の続き)
画面のサイズ変更
画面のサイズ変更は
WinGet, State, MinMax, A ;最大化の時もこの3行は必要だよ if State != 0 ; WinRestore, A ; WinMove,A , , 50,50 ,700,500
本wikiのWindows操作編が基本です。
- Windows操作編
- http://www53.atwiki.jp/mousegestures/pages/23.html#id_3e6dd2a1|
- そちらを押さえた所でちょっと小細工をしてみました。
画面のサイズ変更を一部可視化させる
画面のサイズ変更を一部可視化させるには
タイトルバーのドラッグを併用した次のような方法があります。
タイトルバーのドラッグを併用した次のような方法があります。
;;画面左半分に移動 Sleep,100 Run,%A_ScriptDir%\Components\nomousy.exe /hide ;;nomousy.exe 必要 Sleep,100 CoordMode,Mouse , Screen MouseGetPos,,,OVW WinGetClass, OutputVar , ahk_id %OVW% ;MsgBox, デスクトップ,タスクバー, SideBar, 何もしない if OutputVar in Progman,Shell_TrayWnd,SideBar_HTMLHostWindow { }else { ;;;マウスの現在位置 MouseGetPos, MouseX , MouseY ;;---------------------------------------------------------- WinActivate, ahk_id %OVW% CoordMode,Mouse , Relative MouseGetPos, MouseXR , MouseYR MouseMove, 0, %MouseYR% MouseMove, 0, 0 CoordMode,Mouse , Screen IfWinActive, ahk_class QWidget { ;TapinRadio ;;; TapinRadioの時 目標位置のデータを入れる xe := 600 ye := 400 we := 700 he := 400 }else{ ;;; Default 目標位置のデータを入れる xe := 0 ye := 0 we := 794 he := 1050 } WinGet, State, MinMax, A if State != 0 WinRestore, A ;;; 初期画面のデータを得る WinGetPos,xs,ys,ws,hs,A ;;; 左上初期位置 x1 := xs+300 y1 := ys+10 ;;; 左上目標位置 x2 := xe+300 y2 := ye+10 MouseClickDrag, LEFT , %X1%,%Y1%, %X2%, %Y2% , 3 Sleep, 50 WinMove,A , ,%xe%,%ye%,%we%,%he% ;;;マウスの位置 戻す MouseMove,%MouseX%,%MouseY%, 0 } Sleep,200 Run,%A_ScriptDir%\Components\nomousy.exe ;;nomousy.exe 必要 Sleep,100
この場合,タイトルバーのドラッグ位置が画面外でも
動作しますが,タスクバーや最上面指定のウィンドウと
重なる場合動作しません。
また,マウスユーティリティソフトのTyuTyuMouseが有効な場合うまく動作しません。
動作しますが,タスクバーや最上面指定のウィンドウと
重なる場合動作しません。
また,マウスユーティリティソフトのTyuTyuMouseが有効な場合うまく動作しません。
カーソルを一時的に消す
画面サイズ変更中はマウスが消えていた方が見かけがスマートかもしれません。
色々方法はありますが
http://www.thefreewindows.com/3335/hide-andor-restrict-the-cursor-of-your-mouse-with-nomousy/
でダウンロードした
nomousy.exe を MouseGesture2Lと同じフォルダーに入れておきます。
これで Run,nomousy.exe /hide で表示のon/offの切り替えになります。
nomousy version 1.5 はアニメーションカーソルにも対応しています。
色々方法はありますが
http://www.thefreewindows.com/3335/hide-andor-restrict-the-cursor-of-your-mouse-with-nomousy/
でダウンロードした
nomousy.exe を MouseGesture2Lと同じフォルダーに入れておきます。
これで Run,nomousy.exe /hide で表示のon/offの切り替えになります。
nomousy version 1.5 はアニメーションカーソルにも対応しています。
- nomousyを紹介した動画です。
- http://www.youtube.com/watch?v=kOFZqnz1wzs|
画面のサイズ変更の操作画面
操作動画です。この例では
↗ の時に最大化
↖ の時に L,Mサイズ画面
↑ ↓ ← → の時に各方向半分
↘ の時に最小化
になっています。
↗ の時に最大化
↖ の時に L,Mサイズ画面
↑ ↓ ← → の時に各方向半分
↘ の時に最小化
になっています。
※nomousyが時々誤作動するので現在は,"窓掴み"というソフトを使っています。December 2012
全画面最小化,元に戻す
●全画面最小化,元に戻すをトグルで実行 -MouseGesture.ahk-
●7.8. 実行するごとに2つの動作を交互に繰り返す を使った方法
●アクションがデスクトップ上か,開いているアプリ上でなされたか判別して行う方法
●タスクバーにあるアプリをすべて元に戻すには
○Restore All 操作動画
●7.8. 実行するごとに2つの動作を交互に繰り返す を使った方法
●アクションがデスクトップ上か,開いているアプリ上でなされたか判別して行う方法
●タスクバーにあるアプリをすべて元に戻すには
○Restore All 操作動画
全画面最小化,元に戻すをトグルで実行 -MouseGesture.ahk-
MouseGesture.ahkでこんな動作を定義したくなったとします。 一回目のアクションで、全てのアプリケーションをタスクバーに収納 二回目で全てのアプリケーションをもとに戻す
7.8. 実行するごとに2つの動作を交互に繰り返す を使った方法
長所 アクションの場所に関わらず交互に繰り返される。 欠点 このコマンドで全画面最小化を行ったのち, タスクバーから手動でアプリを元に戻した場合 手動の操作は無視され,設定通り一度元に戻すが実行される。 【1回目】全画面最小化→手動で画面表示→【2回目】元に戻す→ → 【3回目】全画面最小化→【4回目】元に戻す→以下略
if(MG_Counter()){ Send,#m }else{ Send,+#m }
アクションがデスクトップ上か,開いているアプリ上でなされたか判別して行う方法
長所 前者の欠点は解消される 欠点 アクションがアプリ上かデスクトップ上かで結果が分かれるので アプリが開いていてもデスクトップ上でアクションが行われた場合 何も起こらない。 ;;OutputVar OutputVarWinは引数なので名称を変更しても良いです。
MouseGetPos,,,OutputVarWin WinGetClass, OutputVar , ahk_id %OutputVarWin% if OutputVar in Shell_TrayWnd,SideBar_HTMLHostWindow,Progman { Send,+#m }else { Send,#m }
タスクバーにあるアプリをすべて元に戻すには
※実行に少し時間がかかります。
対の動作で適当なものが無く単体での操作を想定しています。
これを前の2つの式のトグルにするには,
Send,+#m の所を下の式に置き換えればokです。
対の動作で適当なものが無く単体での操作を想定しています。
これを前の2つの式のトグルにするには,
Send,+#m の所を下の式に置き換えればokです。
-出典-
すべてのウインドウを「最大化⇔元にもどす」
としてくれるプログラム
すべてのウインドウを「最大化⇔元にもどす」
としてくれるプログラム
- ◆こんなソフトウェアつくってください~Part5~◆
- http://www5.atpages.jp/soft186/setumei/5-624.html|
- (↑製作時間 00:20:41 !! )
WinGet, id, List, , , Program Manager ToolTip ,Restore all ;調整が済んだら消す。 Loop, %id% { t := id%A_Index% WinGetTitle, title, ahk_id %t% if title in スタート,付箋紙 PcHusen ;操作をしないウインドウのタイトル ;(カンマ区切り※カンマの前後の空白は除去されない。) continue if (title != ""){ ;タイトルが空白の場合操作をしない ;オリジナルの書き方の方がスマート ;; MsgBox,【%title%】 ;ここで元に戻すウィンドウのタイトルを表示 WinRestore, ahk_id %t% }} ToolTip ;調整が済んだら消す。 ;;MouseGetPos,,,OutputVarWin ;マウス直下のウィンドウを調べる ;;WinActivate, ahk_id %OutputVarWin% ;マウス直下をアクティブ
Restore All 操作動画
操作動画です。この例では ↘ の時に最小化 ↗ の後にすべて元に戻っています。