2009年05月17日

PMDCommand

■ソフト紹介■

Pocket Mapple Digital Ver.9,Ver.10(以下PMDと略)用コマンドユーティリティーです。

メニューの機能をボタンに割り当てて直接的に使いたいと思って作成しました。




■使用方法■

同梱のPMDCmd.exeを好きな場所にコピーします。

そのまま実行しても何もしません。
コマンドラインオプション(またはコマンドNo.)を付けて実行する必要があります。

PMDCmd.exe オプション
PMDCmd.exe コマンドNo.

例)PMDCmd.exe zL
例)PMDCmd.exe 0x8012

実行すると、ズームバーの位置を切り換えます。
(PMDメニューの編集-ズームバー左配置と同じ)

基本的にPMDのメニューの機能をすべてコマンドとして(ショートカット登録して)実行できます。


レジストリを使用しておりませんので、アンインストールは
exeなど関連ファイルを削除するだけでOKです。

更新は基本的にPMDCmd.exeファイル上書きでOKです。




■独自機能■

独自の機能として、オプションhNとcA*,cI*があります。

hNはGPSヘッドアップ + 地図回転リセットです。
GPSヘッドアップを終了したとき、北を上に戻したかったので、設定しました。


cA*とcI*のオプション群はカスタム情報テキスト入力を自動・半自動入力する機能です。
「あ、ここ後で参照したい」と思ったときに、ボタン押しワンアクションでカスタムテキストを
入力したいと思って、設定しました。

PMDCmd.exe cAmm

PMDCmd.exe cImm

cA*系は自動的に入力、cI*系は半自動で入力ダイアログ画面まで設定します。

PMDCmd.exe cA*
PMDCmd.exe cI*

例)PMDCmd.exe cAmm3

画面中央に「5月17日 12:09」という風にカスタムテキストを入力します。

オプション2に入力カスタムテキストの画面位置を指定することができます。

PMDCmd.exe cA* (X座標,Y座標)
PMDCmd.exe cI* (X座標,Y座標)

例)PMDCmd.exe cIys (50,100)

(50,100)の画面位置に「09/05/17 12:18:34」という風にカスタムテキスト入力するダイアログを
設定します。


オプション2に定型文を設定することができます。

PMDCmd.exe cA* 定型文
PMDCmd.exe cI* 定型文

PMDCmd.exe cA* (X座標,Y座標)定型文
PMDCmd.exe cI* (X座標,Y座標)定型文

例)PMDCmd.exe cAmm 北海道

画面中央に「北海道(05/17 12:25)」という風にカスタムテキスト入力します。


フルスクリーン化状態だと、中央位置でない場所にずれることがあります。
マクロ的に実行しているので、どうしても失敗することがあります。ご了承ください。




■オプションとコマンドNo.について■

PMDCommandのオプションと、PMD内部のコマンドNo.対応表を下に記します。

PMDCommandは

PMDCmd.exe オプション
PMDCmd.exe コマンドNo.

の2通りの起動法があります。動作に違いはありませんが、PMDの内部コマンドをすべて把握
できているわけではないので、コマンドNo.を使用することで、公になってない機能を利用できる
かもしれません。

一応ざっと調べたのが下記の対応表です。
PMDCommandは自己責任でご利用ください。


オプション コマンドNo. 動作

◆標準機能
( 0x0001 *カスタム情報-終了)

cT 0x8003 カスタム情報-入力-テキスト入力
cL 0x8004 カスタム情報-入力-折れ線入力
cV 0x8005 カスタム情報-表示...
c 0x8006 カスタム情報-カスタム情報選択モード
cP 0x8007 カスタム情報-プロパティ
cF 0x8008 カスタム情報-フォルダ選択...
cD 0x8009 カスタム情報-目的地方向・移動...

aC 0x800B カスタム情報-メール添付...-カスタム情報

q 0x800D カスタム情報-終了

eP 0x800F 編集-複数選択

(zL 0x8012 編集-ズームバー左配置 PMD9のみ)
mO 0x8013 地図-地図を開く...
m 0x8014 地図-地図移動モード
mR 0x8015 地図-ラスター地図切り換え
( 0x8016 **地図-MioMapに切り換え)
NE 0x8017 地図-東西南北回転-北東45度
E 0x8018 地図-東西南北回転-東90度
SE 0x8019 地図-東西南北回転-南東135度
S 0x801A 地図-東西南北回転-南180度
SW 0x801B 地図-東西南北回転-南西225度
W 0x801C 地図-東西南北回転-西270度
NW 0x801D 地図-東西南北回転-北西315度
r 0x801E 地図-地図回転モード
N 0x801F 地図-地図回転リセット
mW 0x8020 地図-緯度経度表示-世界測地
mJ 0x8021 地図-緯度経度表示-日本測地
g 0x8022 地図-GPS位置取得
h 0x8023 地図-GPS表示設定-GPSヘッドアップ
t 0x8024 地図-GPS表示設定-GPS軌跡表示
sA 0x8025 地図-検索(住所・駅)-住所検索
sS 0x8026 地図-検索(住所・駅)-駅名検索

(L 0x8028 ***モード解除)

mG 0x802D 地図-GPS位置への地図移動
aM 0x802E カスタム情報-メール添付...-地図画像

fL 0x8030 編集-ベクトル地図フォント設定-大
fM 0x8031 編集-ベクトル地図フォント設定-中
fS 0x8032 編集-ベクトル地図フォント設定-小

iM 0x8034 編集-ベクトル地図シンボル設定-中
iS 0x8035 編集-ベクトル地図シンボル設定-小

mE 0x8038 編集-拡大表示

oV 0x803B 基本-地図設定-表示設定... PMD10のみ
oG 0x803C 操作-GPS機器設定... PMD10のみ

cN 0xE100 カスタム情報-新規作成
cO 0xE101 カスタム情報-開く
( 0xE102 ****強制終了)
cS 0xE103 カスタム情報-上書き保存
cR 0xE104 カスタム情報-名前を付けて保存...

eD 0xE120 編集-削除

( 0xE122 編集-コピー)
( 0xE123 編集-切り取り)

( 0xE125 編集-貼り付け)

eA 0xE12A 編集-すべて選択
eZ 0xE12B 編集-元に戻す
eY 0xE12C 編集-やり直し

v 0xE140 地図-バージョン情報
( 0xE141 ****強制終了)

()内はメニューにない機能。動作しない可能性大。
*カスタム情報-終了…コマンドNo.0x800Dと同じ動作。
**地図-MioMapに切り換え…未確認。動作する可能性あり。
***モード解除…カスタム情報選択・地図移動・地図回転の各モードいずれにも属さなくなる。
****強制終了…コマンドNo.を送るとPMDが強制終了(保存されない)。

◆独自機能
hN 地図-GPS表示設定-GPSヘッドアップ + 地図-地図回転リセット

cAys センター位置にカスタムテキスト(年/月/日 時:分:秒)
cAms センター位置にカスタムテキスト(月/日 時:分:秒)
cAms2 センター位置にカスタムテキスト(月/日 時:分:秒)'月日'表示
cAms3 センター位置にカスタムテキスト(月/日 時:分:秒)'月日'表示、ゼロサプレス無し
cAds センター位置にカスタムテキスト(日 時:分:秒)
cAds2 センター位置にカスタムテキスト(日 時:分:秒)'日'表示
cAds3 センター位置にカスタムテキスト(日 時:分:秒)'日'表示、ゼロサプレス無し
cAym センター位置にカスタムテキスト(年/月/日 時:分)
cAmm センター位置にカスタムテキスト(月/日 時:分)
cAmm2 センター位置にカスタムテキスト(月/日 時:分)'月日'表示
cAmm3 センター位置にカスタムテキスト(月/日 時:分)'月日'表示、ゼロサプレス無し
cAdm センター位置にカスタムテキスト(日 時:分)
cAdm2 センター位置にカスタムテキスト(日 時:分)'日'表示
cAdm3 センター位置にカスタムテキスト(日 時:分)'日'表示、ゼロサプレス無し
cAs センター位置にカスタムテキスト(時:分:秒)
cAm センター位置にカスタムテキスト(時:分)
cA センター位置にカスタムテキスト

cIys センター位置にカスタムテキスト(入力ダイアログ)(年/月/日 時:分:秒)
cIms センター位置にカスタムテキスト(入力ダイアログ)(月/日 時:分:秒)
cIms2 センター位置にカスタムテキスト(入力ダイアログ)(月/日 時:分:秒)'月日'表示
cIms3 センター位置にカスタムテキスト(入力ダイアログ)(月/日 時:分:秒)'月日'表示、ゼロサプレス無し
cIds センター位置にカスタムテキスト(入力ダイアログ)(日 時:分:秒)
cIds2 センター位置にカスタムテキスト(入力ダイアログ)(日 時:分:秒)'日'表示
cIds3 センター位置にカスタムテキスト(入力ダイアログ)(日 時:分:秒)'日'表示、ゼロサプレス無し
cIym センター位置にカスタムテキスト(入力ダイアログ)(年/月/日 時:分)
cImm センター位置にカスタムテキスト(入力ダイアログ)(月/日 時:分)
cImm2 センター位置にカスタムテキスト(入力ダイアログ)(月/日 時:分)'月日'表示
cImm3 センター位置にカスタムテキスト(入力ダイアログ)(月/日 時:分)'月日'表示、ゼロサプレス無し
cIdm センター位置にカスタムテキスト(入力ダイアログ)(日 時:分)
cIdm2 センター位置にカスタムテキスト(入力ダイアログ)(日 時:分)'日'表示
cIdm3 センター位置にカスタムテキスト(入力ダイアログ)(日 時:分)'日'表示、ゼロサプレス無し
cIs センター位置にカスタムテキスト(入力ダイアログ)(時:分:秒)
cIm センター位置にカスタムテキスト(入力ダイアログ)(時:分)
cI センター位置にカスタムテキスト(入力ダイアログ)




■対応機種■

Windows Mobile 2003以降。
Pocket Mapple Digital Ver.9,Ver.10用。

PMD Ver.9とVer.10はメニュー構造が異なるため、別バイナリになります。
多くの機能は共通なので動作しますが、カスタムテキスト入力は最適化してますので、
対応したPMDCommandを使用してください。
なお、PMD Ver.10はWindows Mobile 5以降でしか動作しません。




■ダウンロード■

 PMDCommand for PMD10 ver. 0.00e pmdcmd10.zip

 PMDCommand for PMD9 ver. 0.00d pmdcmd09.zip




■バージョン履歴■

ver. 0.00e
・Pocket Mapple Digital Ver.10に対応。

ver. 0.00d
・公開。




■サポート■

プログラミングはずぶの素人なので、たくさんバグが潜んでいると思います。
フリーソフトなので自己責任で使用してください。




■謝辞■

非常に有益な情報やソフトをネットで公開してくださっている
作者の皆様に感謝いたします。

posted by さひろ at 14:40| 静岡 ☔| Comment(4) | TrackBack(0) | ソフトウェア | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
はじめまして。

私はw-zero3(WS007SH)でPMD9を使っております。

現在地周辺の路地探索を行うため、
「GPS位置への地図移動」の解除と
「GPS位置取得」を頻繁に行わねばならないのが煩わしく、
よく使う機能をキー割り当てすることができたら……と常々思っておりました。

PMDCommandを導入することができれば、
これまでの苦労から開放されると思うのですが、
知識不足につき、利用に際し、少々苦労しております。

PMDCmd.exeをmicroSDにコピーし、
入力例に従って"\miniSDカード\PMDCmd.exe"zL
というショートカットを作成してみましたが、
実行しても特に反応がないのです。
少なくてもPMDFullScPlusや、PMDZoomChangerのように、
自動的にPMDに切り替わるということはありません。

手動でPMDを起動してもズームバーは右側のままですし、
もしかして「zL」と入力すればいいのか? と勝手に解釈し、
打ってみたものの、これも反応なしです。

使い方がダメなのか、プログラムが機種に対応していないのか。
たぶん前者だとは思うのですが……。

あと、本当に基本的な質問なのですが、
当ページ、Readmeファイル内のどちらにも
コマンド別にキー設定を行う方法が記載されておりませんでしたが、
なにか他のプログラムと併用してキー割り当てを行う必要があるのでしょうか?
(たとえば、WINキーを押すと前述の"zL"が入力されるようにしておく、とか)

また、PMDFullScPlusの「仮想画面」機能なのですが、
私の環境だと画面が真っ白くなった状態で砂時計(?)が出っ放しになります。
これは本体の処理能力が足りないせいでしょうか?

自分なりに調べてはみたのですが、
あれこれ自己解決することができませんでした。
ご多忙の折申し訳ありませんが、アドバイス頂ければ幸いです。
Posted by broadappeal at 2009年06月18日 01:40
>broadappealさん
ども、はじめまして(^^
報告ありがとうございます。
とにかく報告例が少ないので(^^;
そんなに要らないアプリなのかなぁ…


>入力例に従って"\miniSDカード\PMDCmd.exe"zL
とりあえずショートカットのオプションの前に半角スペースが入っているかどうか確認してください。
この場合
"\miniSDカード\PMDCmd.exe"zL
ではなく
"\miniSDカード\PMDCmd.exe" zL
が正解です。


>自動的にPMDに切り替わらない
え〜と、切り替わりません(^^;
実際の使用に関しては、PMDが前面アプリ(現在画面に出ているアプリ)である必要があります。
簡単なのはスタートメニューにショートカットを置いて、PMDを前面アプリにした状態でスタートメニューから実行してください。


>コマンド別にキー設定を行う方法
PMDCommandは単機能で、単純に1つのコマンドを実行するだけのプログラムですので、キーに割り当てる場合なにか別のプログラムを使用して、PMDCommandのショートカットを割り当てる必要があります。

PQzIIとかW-ZERO3 Utility Plusが使えるのかな?

キー設定でなく、ランチャーを使う方法もあります。
この辺は工夫してみてください。


>「仮想画面」機能で画面が真っ白
うちにもなぜかWS007SHがあるので試してみました。
…ダメですね(^^;
処理能力不足です。画面がVGAの為と思われます。
通常は5倍の画面サイズですが、3倍なら使えたので、VGAの場合は3倍にするようにしましょうか。
3倍で意味があるかどうかですが。

あとうちのWS007SHでは、フルスクリーン状態からPMDFullScPlusを終了させると、フリーズします(^^;
これは次のバージョンでバグフィックスします。
それまでは通常画面に戻してからPMDFullScPlusを終了させるようにしてください。


…WS007SH持ってるのに試さないのが良くなかったですね(^^;
本当にご報告ありがとうございました。
Posted by さひろ at 2009年06月18日 12:39
さひろ様

迅速かつ大変ていねいなご説明、ありがとうございます。
疑問はすべて氷解いたしました。

PMDが前面アプリとして立ち上がっている必要があったのですね。
テスト時も起動はしていたのですが、
ショートカットを走らせるためにGSfinderや、
ファイルエクスプローラーが前面に来ていたのでダメだったと。
超納得です。

もうひとつの疑問も
>PMDCommandは単機能で、単純に1つのコマンドを実行するだけのプログラム……
のご説明で理解できました。

つまり、実行したいコマンドオプションをつけた
PMDCmdのショートカットを複数作成し、
そのショートカットを任意のキーで起動するようにしておけばいいと。
またしても一人で超納得です。重ね重ねありがとうございます。

おかげさまで、わき道検索のたびに止まってタップしまくり。
というイラーなパターンから解放されそうです。

自分の場合、bluetoothドングルがclass2のせいか、
本体を後ろポケットに入れただけでもペアリングが切れるようで、
画面には「GPS捕捉」と表示されているのに
矢印がだいぶ前の地点で止まったまんまということが多々発生。
ボタンひとつでGPS位置が取得できるというのはめちゃめちゃありがたいのです。

ホールドしないとメニューが出ないので、
どう使うのがベターか考えていたPMDFullScPlusの使用法にも幅が出そうです。

ついでといってはなんですが、
PMDFullScPlus、PMDZoomChangerについて、
仮想画面真っ白のほかにも気づいたことを記させてください。

■PMDFullScPlus
・カーソルズームでキー連打すると行き過ぎるor逆に動く? 時がある気がする

■PMDZoomChanger
・ステータス、ズームバーは出ているのに、地図部分だけが出ない時がある
・FullScPlusと併用時、カーソルズームを使うと指定の倍率でないところで動こうとする時がある

どのプログラムもダウンロードさせていただいて数日程度ですが、
徒歩、バイクなどで市街地、郊外などで使ってみました。

徒歩では移動速度が遅いので、縮尺はカーソルズームで適当に切り替えればOK。
表示範囲が広がり、周辺が把握しやすくなるFullScPlusが便利に感じましたが、
自転車やバイクみたいに止まりたくない乗り物で使う場合は、
(すなわちいちいち画面をさわりたくないケース)
ZoomChangerの方が向いているみたいですね。

秒数指定でズーム率を自動切換するというアイデアは、本当に極上だと思います。
基本、ほとんど機能拡張していない本家にも見習ってもらいたいw

PMDの機構上、詳細図→小域図のような切り替えを指定することはできないので、
アクションキーで一時的にズーム切り替えストップ、
カーソルズームが併用することができれば、きっとさらに便利ですね。
あ、べつに要求しているわけではなく、あくまで感想ですので……。

それでは、また寄らせて頂きます。
あまり無理せず開発していってくださいませ(_ _"m)
Posted by broadappeal at 2009年06月19日 01:37
>broadappealさん
ども(^^
使用環境や感想ありがとうございます。
こういう意見はためになります。


疑問が氷解したようで良かったです。
コマンドラインツールは慣れた方向けなので、説明不足だったと思います。
もっと参照数が多いと判れば、それなりに解説したりするんですけど…人気なさそうですし(^^;


>ホールドしないとメニューが出ない
誤解があるかもしれませんが、PMDFullScPlusはタップ&ホールド以外にもmenuオプションでメニューは出せます。


>カーソルズームでキー連打すると行き過ぎるor逆に動く? 時がある気がする
たぶんキーリピートのせいではないかと思うのですが。
私もイライラするので、次のバージョンで改善予定です。


>ステータス、ズームバーは出ているのに、地図部分だけが出ない時がある
ありますね。理由は不明です(^^;
大概そのあとフリーズするので、なにかメモリリークしてるかもですが。


>FullScPlusと併用時、カーソルズームを使うと指定の倍率でないところで動こうとする時がある
おそらくきちんとズームバーが画面長さに切り替わっていないときに発生していると思われます。


>PMDFullScPlusでズーム制御
私も一元化すると使いやすいのではという意見には賛成ですが、ズーム切り換えの機能を実装するとなると秒数やズームレベルの指定方法が必要になります。
それが面倒なんですよねぇ。。。

PMDZoomChangerのようにコマンドラインパラメタでいいかな?(^^;

とりあえずPMDZoomChangerの常駐解除でしのいでますが、昔のバージョンのようにパラメータが指定されていても二重起動で常駐解除できるようにするとシンプルですね。
そっちもちょっといじってみます。


もう少し機能追加のネタはあるので、また良かったら新バージョンもご利用ください。
Posted by さひろ at 2009年06月19日 13:33
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック