

左がEagle CAD 用メニューで、右がオリジナルのメニューです。
キー入力支援ツール「ペースター」を導入してから、アプリケーション毎の登録メニューしか表示されないように出来ないかと考えていました。
シフトキーダブルクリック時のポップアップ画面でEagle CAD 動作中は、Eagle CAD のメニューしか表示しないようにしたい。
最初は出来ないと思っていましたが、考えてみたらポップアップ画面内容はメニューファイルの内容を表示しているだけです。
じゃーアプリ毎にこのメニューファイルを変更すればいいじゃないかと最近気づいた次第です。
バッチファイルでメニューファイルを切り替えればいいだけです。 気が付くとなーだです.....
早速やって見ました。 切り替わりました。 こうなると「ペースター」て最高ー最高ーです。

★行った事
メニューファイルのフォルダーは標準インスツールでMy Documentsに出来ます。
今回”bat”と”MenuList”フォルダーを追加しました。
C:¥Documents and Settings¥*****¥My Documents¥Paster Data¥
├―bat │ ├>DefaultChange.bat │ ├>EagleChange.bat │ ├>OriginChange.bat │ ├―Clip History ├―MenuList │ ├>DefaultMenu.txt │ ├>EagleMenu.txt │ ├>OriginMenu.txt │ ├―Setting ├―UserDLL │ ├>Default.hst ├>EncloseList.txt ├>FuncList.txt ├>MenuIo.txt ├>MenuIo_UpdateTime.vbs ├>PipeTagList.txt ├>RegexList.txt ├>SerialNumber.txt |
ペースターでアプリケーション毎にメニュー画面を切り替える方法は、以下の3項を行えば可能です。
1、バッチファイルを作る。
├―bat │ ├>DefaultChange.bat │ ├>EagleChange.bat │ ├>OriginChange.bat |
バッチファイルの実行は、メニューファイルにメニュー切換の項目を追加しておく。
2、アプリ毎のメニューファイルを作る。
├―MenuList │ ├>DefaultMenu.txt │ ├>EagleMenu.txt │ ├>OriginMenu.txt |
3、タイムスタンプを現在日時に更新スクリプトを作る。
├>MenuIo_UpdateTime.vbs
バッチファイルでメニューファイルを切り替えてもメニュー内容が反映されないです。
ペースター作者に問い合わせたところ
--------------------------------------------------------------
ペースターではカスタムメニューを表示するたびに
ポップアップメニューを作成しているわけではありません。
ファイルのタイムスタンプが変わっていなければ、
既に作成済みのメニューをそのまま表示します。
--------------------------------------------------------------
との事でした。
じゃーメニューファイルを変更するたびにタイムスタンプを現在日時にすればよいではないかと思った次第です。
参考ソースは、以下の通りです。
1、バッチファイル
EagleChange.bat
@echo off c: cd C:¥Documents and Settings¥***¥My Documents¥Paster Data¥ copy .¥MenuList¥EagleMenu.txt del MenuIo.txt ren EagleMenu.txt MenuIo.txt del EagleMenu.txt MenuIo_UpdateTime.vbs rem pause |
2、メニューファイル
EagleMenu.txt
================================================================ +Eagle(&A) 部品座標指定 | move *** (*.* *.*) パターンを配線前に戻す | ripup; シルク幅穴径OLIMEX対応 | run libconv_md - Eagle デフォルト表示レイヤ | display none; display 1 16 17 18 19 20 21 22 23 24 25 26 27 28 39 40 41 42 43 48 49 51 52[!K "ENTER"] OLIMEX デフォルト表示レイヤ | display none; display 1 16 17 18 20 21 25 29 30; display -23 -27 -51[!K "ENTER"] シルクなしレイヤ | display none; display 1 16 17 18 20 29 30[!K "ENTER"] 半田面レイヤ | display none; display 16 17 18 20[!K "ENTER"] 個別レイヤ指定 | display none; display[!K "ENTER"] .. ================================================================ +EagleCheck(&B) 部品表作成 | run bom ドリルの穴数 | run count[!K "ENTER"] ドリルサイズチェック | run drillcfg[!K "ENTER"] airwireを探す | run unrouted[!K "ENTER"] - ライブラリOLIMEX用変換 | run libconv .. - ===================================================================== +Text起動(&C) ****************** 省略 ****************** EagleMenu | [!E "C:¥Documents and Settings¥****¥My Documents¥Paster Data¥MenuList¥EagleMenu.txt"] DefaultMenu | [!E "C:¥Documents and Settings¥****¥My Documents¥Paster Data¥MenuList¥DefaultMenu.txt"] - OriginMenu | [!E "C:¥Documents and Settings¥****¥My Documents¥Paster Data¥MenuList¥Menu.txt"] .. - ================================================================ +Menu Change(&D) DefaultMenu | ([!E "C:¥Documents and Settings¥****¥My Documents¥Paster Data¥bat¥DefaultChange.bat"]) EagleMenu | ([!E "C:¥Documents and Settings¥****¥My Documents¥Paster Data¥bat¥EagleChange.bat"]) - OriginMenu | ([!E "C:¥Documents and Settings¥****¥My Documents¥Paster Data¥bat¥OriginChange.bat"]) .. |
3、タイムスタンプ更新
MenuIo_UpdateTime.vbs
Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace("C:¥Documents and Settings¥****¥My Documents¥Paster Data") Set objFolderItem = objFolder.ParseName("MenuIo.txt") objFolderItem.ModifyDate = Now |
以上
【追伸2】 2010/09/14
EagleMenu.txt 内にキーマクロ[!K "ENTER"]を追加しました。
エンターキーを押さなくてもマクロで勝手に実行してくれます。
メニューを選択すればエンターキーまでの一連の処理が終了します。
「ペースター」最高ーー

★ただここで注意する事があります。
「ペースターの設定」->「カスタムメニュー」->「キーストロークのタイムラグ」設定がデフォルトで300msecでした。
この設定だとキーコマンド処理が遅いです。私は 30msec にしました。
パソコン環境によっては、設定値が小さいとWebサイトのログインなどの際にうまくいかなくなるケースがあるそうです。
【追伸1】 2010/09/13

ペースターのカスタムメニューに追加しました。
【HTML 今回理解内容】「行間の指定」 <タグ名 style="line-height:行の高さ">行の高さを指定する文章タグ名> タグ名: P や DIV、SPAN タグなどが一般的ですが、ほとんどのブロックタグおよびインラインタグが使用できます。 <実使用例> <table border="0" bgcolor="#dcdcdc" width="640" style="line-height:1.0em"> </table>